-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
yaml --- r: 87472 b: refs/heads/master c: d5eee40 h: refs/heads/master v: v3
- Loading branch information
Linus Torvalds
committed
Mar 19, 2008
1 parent
5fcfdbc
commit ced4d93
Showing
46 changed files
with
390 additions
and
1,556 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,2 +1,2 @@ | ||
--- | ||
refs/heads/master: caeab084deb61cd2d51cb8facc0e894a5b406aa4 | ||
refs/heads/master: d5eee405723eedbd621275e045ac9b36f668c39f |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,52 @@ | ||
Keyboard notifier | ||
|
||
One can use register_keyboard_notifier to get called back on keyboard | ||
events (see kbd_keycode() function for details). The passed structure is | ||
keyboard_notifier_param: | ||
|
||
- 'vc' always provide the VC for which the keyboard event applies; | ||
- 'down' is 1 for a key press event, 0 for a key release; | ||
- 'shift' is the current modifier state, mask bit indexes are KG_*; | ||
- 'value' depends on the type of event. | ||
|
||
- KBD_KEYCODE events are always sent before other events, value is the keycode. | ||
- KBD_UNBOUND_KEYCODE events are sent if the keycode is not bound to a keysym. | ||
value is the keycode. | ||
- KBD_UNICODE events are sent if the keycode -> keysym translation produced a | ||
unicode character. value is the unicode value. | ||
- KBD_KEYSYM events are sent if the keycode -> keysym translation produced a | ||
non-unicode character. value is the keysym. | ||
- KBD_POST_KEYSYM events are sent after the treatment of non-unicode keysyms. | ||
That permits one to inspect the resulting LEDs for instance. | ||
|
||
For each kind of event but the last, the callback may return NOTIFY_STOP in | ||
order to "eat" the event: the notify loop is stopped and the keyboard event is | ||
dropped. | ||
|
||
In a rough C snippet, we have: | ||
|
||
kbd_keycode(keycode) { | ||
... | ||
params.value = keycode; | ||
if (notifier_call_chain(KBD_KEYCODE,¶ms) == NOTIFY_STOP) | ||
|| !bound) { | ||
notifier_call_chain(KBD_UNBOUND_KEYCODE,¶ms); | ||
return; | ||
} | ||
|
||
if (unicode) { | ||
param.value = unicode; | ||
if (notifier_call_chain(KBD_UNICODE,¶ms) == NOTIFY_STOP) | ||
return; | ||
emit unicode; | ||
return; | ||
} | ||
|
||
params.value = keysym; | ||
if (notifier_call_chain(KBD_KEYSYM,¶ms) == NOTIFY_STOP) | ||
return; | ||
apply keysym; | ||
notifier_call_chain(KBD_POST_KEYSYM,¶ms); | ||
} | ||
|
||
NOTE: This notifier is usually called from interrupt context. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.