mirror of
https://github.com/genodelabs/genode.git
synced 2025-03-22 03:55:26 +00:00
input: move control-modifier handling into clients
Moving the handling into the input-session clients enables more sophisticated implementations (like Qt5) to apply key-symbol based handling of those modifiers like correct CTRL-A with QWERTY and AZERTY layouts and distinction of CTRL-J and Return. Issue #3483
This commit is contained in:
parent
cc611834c9
commit
edc9545229
@ -90,6 +90,8 @@ struct Terminal::Main : Character_consumer
|
||||
|
||||
bool _shift_pressed = false;
|
||||
|
||||
unsigned _ctrl_pressed = 0; /* number of control keys pressed */
|
||||
|
||||
bool _selecting = false;
|
||||
|
||||
struct Paste_buffer { char buffer[READ_BUFFER_SIZE]; } _paste_buffer { };
|
||||
@ -320,11 +322,26 @@ void Terminal::Main::_handle_input()
|
||||
}
|
||||
}
|
||||
|
||||
if (event.key_press(Input::KEY_LEFTCTRL)
|
||||
|| event.key_press(Input::KEY_RIGHTCTRL))
|
||||
++_ctrl_pressed;
|
||||
|
||||
if (event.key_release(Input::KEY_LEFTCTRL)
|
||||
|| event.key_release(Input::KEY_RIGHTCTRL))
|
||||
--_ctrl_pressed;
|
||||
|
||||
if (event.key_press(Input::BTN_MIDDLE))
|
||||
_paste_clipboard_content();
|
||||
|
||||
event.handle_press([&] (Input::Keycode, Codepoint codepoint) {
|
||||
|
||||
/* control-key combinations */
|
||||
if (_ctrl_pressed
|
||||
&& codepoint.value >= 'a' && codepoint.value <= 'z') {
|
||||
_read_buffer.add(Codepoint { codepoint.value - 'a' + 1 } );
|
||||
return;
|
||||
}
|
||||
|
||||
/* function-key unicodes */
|
||||
enum {
|
||||
CODEPOINT_UP = 0xf700, CODEPOINT_DOWN = 0xf701,
|
||||
|
@ -129,46 +129,6 @@
|
||||
<key name="KEY_102ND" code="0x003e"/> <!-- > -->
|
||||
</map>
|
||||
|
||||
<!-- CONTROL -->
|
||||
<map mod2="true">
|
||||
<key name="KEY_3" code="0x001b"/> <!-- ESC (escape) CTRL-3 -->
|
||||
<key name="KEY_4" code="0x001c"/> <!-- FS (file separator) CTRL-4 -->
|
||||
<key name="KEY_5" code="0x001d"/> <!-- GS (group separator) CTRL-5 -->
|
||||
<key name="KEY_6" code="0x001e"/> <!-- RS (record separator) CTRL-6 -->
|
||||
<key name="KEY_7" code="0x001f"/> <!-- US (unit separator) CTRL-7 -->
|
||||
<key name="KEY_Q" code="0x0011"/> <!-- DC1 (device control 1) CTRL-q -->
|
||||
<key name="KEY_W" code="0x0017"/> <!-- ETB (end of trans. blk) CTRL-w -->
|
||||
<key name="KEY_E" code="0x0005"/> <!-- ENQ (enquiry) CTRL-e -->
|
||||
<key name="KEY_R" code="0x0012"/> <!-- DC2 (device control 2) CTRL-r -->
|
||||
<key name="KEY_T" code="0x0014"/> <!-- DC4 (device control 4) CTRL-t -->
|
||||
<key name="KEY_Y" code="0x001a"/> <!-- SUB (substitute) CTRL-z -->
|
||||
<key name="KEY_U" code="0x0015"/> <!-- NAK (negative ack.) CTRL-u -->
|
||||
<key name="KEY_I" code="0x0009"/> <!-- HT '\t' (horizontal tab) CTRL-i -->
|
||||
<key name="KEY_O" code="0x000f"/> <!-- SI (shift in) CTRL-o -->
|
||||
<key name="KEY_P" code="0x0010"/> <!-- DLE (data link escape) CTRL-p -->
|
||||
<key name="KEY_A" code="0x0001"/> <!-- SOH (start of heading) CTRL-a -->
|
||||
<key name="KEY_S" code="0x0013"/> <!-- DC3 (device control 3) CTRL-s -->
|
||||
<key name="KEY_D" code="0x0004"/> <!-- EOT (end of transmission) CTRL-d -->
|
||||
<key name="KEY_F" code="0x0006"/> <!-- ACK (acknowledge) CTRL-f -->
|
||||
<key name="KEY_G" code="0x0007"/> <!-- BEL '\a' (bell) CTRL-g -->
|
||||
<key name="KEY_H" code="0x0008"/> <!-- BS '\b' (backspace) CTRL-h -->
|
||||
<key name="KEY_J" code="0x000a"/> <!-- LF '\n' (new line) CTRL-j -->
|
||||
<key name="KEY_K" code="0x000b"/> <!-- VT '\v' (vertical tab) CTRL-k -->
|
||||
<key name="KEY_L" code="0x000c"/> <!-- FF '\f' (form feed) CTRL-l -->
|
||||
<key name="KEY_Z" code="0x0019"/> <!-- EM (end of medium) CTRL-y -->
|
||||
<key name="KEY_X" code="0x0018"/> <!-- CAN (cancel) CTRL-x -->
|
||||
<key name="KEY_C" code="0x0003"/> <!-- ETX (end of text) CTRL-c -->
|
||||
<key name="KEY_V" code="0x0016"/> <!-- SYN (synchronous idle) CTRL-v -->
|
||||
<key name="KEY_B" code="0x0002"/> <!-- STX (start of text) CTRL-b -->
|
||||
<key name="KEY_N" code="0x000e"/> <!-- SO (shift out) CTRL-n -->
|
||||
<key name="KEY_M" code="0x000d"/> <!-- CR '\r' (carriage ret) CTRL-m -->
|
||||
<key name="KEY_KP7" code="0x001f"/> <!-- US (unit separator) CTRL-KP_7 -->
|
||||
<key name="KEY_KP4" code="0x001c"/> <!-- FS (file separator) CTRL-KP_4 -->
|
||||
<key name="KEY_KP5" code="0x001d"/> <!-- GS (group separator) CTRL-KP_5 -->
|
||||
<key name="KEY_KP6" code="0x001e"/> <!-- RS (record separator) CTRL-KP_6 -->
|
||||
<key name="KEY_KP3" code="0x001b"/> <!-- ESC (escape) CTRL-KP_3 -->
|
||||
</map>
|
||||
|
||||
<!-- ALTGR -->
|
||||
<map mod1="false" mod2="false" mod3="true" mod4="false">
|
||||
<key name="KEY_1" code="0x00a6"/> <!-- ¦ (*) -->
|
||||
|
@ -129,47 +129,6 @@
|
||||
<key name="KEY_102ND" code="0x003e"/> <!-- > -->
|
||||
</map>
|
||||
|
||||
<!-- CONTROL -->
|
||||
<map mod2="true">
|
||||
<key name="KEY_3" code="0x001b"/> <!-- ESC (escape) CTRL-3 -->
|
||||
<key name="KEY_4" code="0x001c"/> <!-- FS (file separator) CTRL-4 -->
|
||||
<key name="KEY_5" code="0x001d"/> <!-- GS (group separator) CTRL-5 -->
|
||||
<key name="KEY_6" code="0x001e"/> <!-- RS (record separator) CTRL-6 -->
|
||||
<key name="KEY_7" code="0x001f"/> <!-- US (unit separator) CTRL-7 -->
|
||||
<key name="KEY_Q" code="0x0011"/> <!-- DC1 (device control 1) CTRL-q -->
|
||||
<key name="KEY_W" code="0x0017"/> <!-- ETB (end of trans. blk) CTRL-w -->
|
||||
<key name="KEY_E" code="0x0005"/> <!-- ENQ (enquiry) CTRL-e -->
|
||||
<key name="KEY_R" code="0x0012"/> <!-- DC2 (device control 2) CTRL-r -->
|
||||
<key name="KEY_T" code="0x0014"/> <!-- DC4 (device control 4) CTRL-t -->
|
||||
<key name="KEY_Y" code="0x001a"/> <!-- SUB (substitute) CTRL-z -->
|
||||
<key name="KEY_U" code="0x0015"/> <!-- NAK (negative ack.) CTRL-u -->
|
||||
<key name="KEY_I" code="0x0009"/> <!-- HT '\t' (horizontal tab) CTRL-i -->
|
||||
<key name="KEY_O" code="0x000f"/> <!-- SI (shift in) CTRL-o -->
|
||||
<key name="KEY_P" code="0x0010"/> <!-- DLE (data link escape) CTRL-p -->
|
||||
<key name="KEY_A" code="0x0001"/> <!-- SOH (start of heading) CTRL-a -->
|
||||
<key name="KEY_S" code="0x0013"/> <!-- DC3 (device control 3) CTRL-s -->
|
||||
<key name="KEY_D" code="0x0004"/> <!-- EOT (end of transmission) CTRL-d -->
|
||||
<key name="KEY_F" code="0x0006"/> <!-- ACK (acknowledge) CTRL-f -->
|
||||
<key name="KEY_G" code="0x0007"/> <!-- BEL '\a' (bell) CTRL-g -->
|
||||
<key name="KEY_H" code="0x0008"/> <!-- BS '\b' (backspace) CTRL-h -->
|
||||
<key name="KEY_J" code="0x000a"/> <!-- LF '\n' (new line) CTRL-j -->
|
||||
<key name="KEY_K" code="0x000b"/> <!-- VT '\v' (vertical tab) CTRL-k -->
|
||||
<key name="KEY_L" code="0x000c"/> <!-- FF '\f' (form feed) CTRL-l -->
|
||||
<key name="KEY_GRAVE" code="0x001e"/> <!-- RS (record separator) CTRL-asciicircum -->
|
||||
<key name="KEY_Z" code="0x0019"/> <!-- EM (end of medium) CTRL-y -->
|
||||
<key name="KEY_X" code="0x0018"/> <!-- CAN (cancel) CTRL-x -->
|
||||
<key name="KEY_C" code="0x0003"/> <!-- ETX (end of text) CTRL-c -->
|
||||
<key name="KEY_V" code="0x0016"/> <!-- SYN (synchronous idle) CTRL-v -->
|
||||
<key name="KEY_B" code="0x0002"/> <!-- STX (start of text) CTRL-b -->
|
||||
<key name="KEY_N" code="0x000e"/> <!-- SO (shift out) CTRL-n -->
|
||||
<key name="KEY_M" code="0x000d"/> <!-- CR '\r' (carriage ret) CTRL-m -->
|
||||
<key name="KEY_KP7" code="0x001f"/> <!-- US (unit separator) CTRL-KP_7 -->
|
||||
<key name="KEY_KP4" code="0x001c"/> <!-- FS (file separator) CTRL-KP_4 -->
|
||||
<key name="KEY_KP5" code="0x001d"/> <!-- GS (group separator) CTRL-KP_5 -->
|
||||
<key name="KEY_KP6" code="0x001e"/> <!-- RS (record separator) CTRL-KP_6 -->
|
||||
<key name="KEY_KP3" code="0x001b"/> <!-- ESC (escape) CTRL-KP_3 -->
|
||||
</map>
|
||||
|
||||
<!-- ALTGR -->
|
||||
<map mod1="false" mod2="false" mod3="true" mod4="false">
|
||||
<key name="KEY_1" code="0x00b9"/> <!-- ¹ -->
|
||||
|
@ -133,50 +133,6 @@
|
||||
<key name="KEY_KPSLASH" code="0x002f"/> <!-- / -->
|
||||
</map>
|
||||
|
||||
<!-- CONTROL -->
|
||||
<map mod2="true">
|
||||
<key name="KEY_3" code="0x001b"/> <!-- ESC (escape) CTRL-3 -->
|
||||
<key name="KEY_4" code="0x001c"/> <!-- FS (file separator) CTRL-4 -->
|
||||
<key name="KEY_5" code="0x001d"/> <!-- GS (group separator) CTRL-5 -->
|
||||
<key name="KEY_6" code="0x001e"/> <!-- RS (record separator) CTRL-6 -->
|
||||
<key name="KEY_7" code="0x001f"/> <!-- US (unit separator) CTRL-7 -->
|
||||
<key name="KEY_Q" code="0x0011"/> <!-- DC1 (device control 1) CTRL-q -->
|
||||
<key name="KEY_W" code="0x0017"/> <!-- ETB (end of trans. blk) CTRL-w -->
|
||||
<key name="KEY_E" code="0x0005"/> <!-- ENQ (enquiry) CTRL-e -->
|
||||
<key name="KEY_R" code="0x0012"/> <!-- DC2 (device control 2) CTRL-r -->
|
||||
<key name="KEY_T" code="0x0014"/> <!-- DC4 (device control 4) CTRL-t -->
|
||||
<key name="KEY_Y" code="0x0019"/> <!-- EM (end of medium) CTRL-y -->
|
||||
<key name="KEY_U" code="0x0015"/> <!-- NAK (negative ack.) CTRL-u -->
|
||||
<key name="KEY_I" code="0x0009"/> <!-- HT '\t' (horizontal tab) CTRL-i -->
|
||||
<key name="KEY_O" code="0x000f"/> <!-- SI (shift in) CTRL-o -->
|
||||
<key name="KEY_P" code="0x0010"/> <!-- DLE (data link escape) CTRL-p -->
|
||||
<key name="KEY_LEFTBRACE" code="0x001b"/> <!-- ESC (escape) CTRL-bracketleft -->
|
||||
<key name="KEY_RIGHTBRACE" code="0x001d"/> <!-- GS (group separator) CTRL-bracketright -->
|
||||
<key name="KEY_A" code="0x0001"/> <!-- SOH (start of heading) CTRL-a -->
|
||||
<key name="KEY_S" code="0x0013"/> <!-- DC3 (device control 3) CTRL-s -->
|
||||
<key name="KEY_D" code="0x0004"/> <!-- EOT (end of transmission) CTRL-d -->
|
||||
<key name="KEY_F" code="0x0006"/> <!-- ACK (acknowledge) CTRL-f -->
|
||||
<key name="KEY_G" code="0x0007"/> <!-- BEL '\a' (bell) CTRL-g -->
|
||||
<key name="KEY_H" code="0x0008"/> <!-- BS '\b' (backspace) CTRL-h -->
|
||||
<key name="KEY_J" code="0x000a"/> <!-- LF '\n' (new line) CTRL-j -->
|
||||
<key name="KEY_K" code="0x000b"/> <!-- VT '\v' (vertical tab) CTRL-k -->
|
||||
<key name="KEY_L" code="0x000c"/> <!-- FF '\f' (form feed) CTRL-l -->
|
||||
<key name="KEY_BACKSLASH" code="0x001c"/> <!-- FS (file separator) CTRL-backslash -->
|
||||
<key name="KEY_Z" code="0x001a"/> <!-- SUB (substitute) CTRL-z -->
|
||||
<key name="KEY_X" code="0x0018"/> <!-- CAN (cancel) CTRL-x -->
|
||||
<key name="KEY_C" code="0x0003"/> <!-- ETX (end of text) CTRL-c -->
|
||||
<key name="KEY_V" code="0x0016"/> <!-- SYN (synchronous idle) CTRL-v -->
|
||||
<key name="KEY_B" code="0x0002"/> <!-- STX (start of text) CTRL-b -->
|
||||
<key name="KEY_N" code="0x000e"/> <!-- SO (shift out) CTRL-n -->
|
||||
<key name="KEY_M" code="0x000d"/> <!-- CR '\r' (carriage ret) CTRL-m -->
|
||||
<key name="KEY_SLASH" code="0x001f"/> <!-- US (unit separator) CTRL-slash -->
|
||||
<key name="KEY_KP7" code="0x001f"/> <!-- US (unit separator) CTRL-KP_7 -->
|
||||
<key name="KEY_KP4" code="0x001c"/> <!-- FS (file separator) CTRL-KP_4 -->
|
||||
<key name="KEY_KP5" code="0x001d"/> <!-- GS (group separator) CTRL-KP_5 -->
|
||||
<key name="KEY_KP6" code="0x001e"/> <!-- RS (record separator) CTRL-KP_6 -->
|
||||
<key name="KEY_KP3" code="0x001b"/> <!-- ESC (escape) CTRL-KP_3 -->
|
||||
</map>
|
||||
|
||||
<!-- ALTGR -->
|
||||
<map mod1="false" mod2="false" mod3="true" mod4="false">
|
||||
<key name="KEY_5" code="0x20ac"/> <!-- € -->
|
||||
|
@ -118,32 +118,4 @@
|
||||
<key name="KEY_DOT" ascii="62"/> <!-- '>' -->
|
||||
<key name="KEY_SLASH" char="?"/>
|
||||
</map>
|
||||
<map mod2="yes">
|
||||
<key name="KEY_A" ascii="01" />
|
||||
<key name="KEY_B" ascii="22" />
|
||||
<key name="KEY_C" ascii="13" />
|
||||
<key name="KEY_D" ascii="08" />
|
||||
<key name="KEY_E" ascii="18" />
|
||||
<key name="KEY_F" ascii="20" />
|
||||
<key name="KEY_G" ascii="07" />
|
||||
<key name="KEY_H" ascii="25" />
|
||||
<key name="KEY_I" ascii="21" />
|
||||
<key name="KEY_J" ascii="14" />
|
||||
<key name="KEY_K" ascii="05" />
|
||||
<key name="KEY_L" ascii="15" />
|
||||
<key name="KEY_M" ascii="12" />
|
||||
<key name="KEY_N" ascii="11" />
|
||||
<key name="KEY_O" ascii="16" />
|
||||
<key name="KEY_P" ascii="09" />
|
||||
<key name="KEY_Q" ascii="17" />
|
||||
<key name="KEY_R" ascii="23" />
|
||||
<key name="KEY_S" ascii="19" />
|
||||
<key name="KEY_T" ascii="02" />
|
||||
<key name="KEY_U" ascii="06" />
|
||||
<key name="KEY_V" ascii="03" />
|
||||
<key name="KEY_W" ascii="04" />
|
||||
<key name="KEY_X" ascii="24" />
|
||||
<key name="KEY_Y" ascii="10" />
|
||||
<key name="KEY_Z" ascii="26" />
|
||||
</map>
|
||||
</chargen>
|
||||
|
@ -129,46 +129,6 @@
|
||||
<key name="KEY_102ND" code="0x003e"/> <!-- > -->
|
||||
</map>
|
||||
|
||||
<!-- CONTROL -->
|
||||
<map mod2="true">
|
||||
<key name="KEY_3" code="0x001b"/> <!-- ESC (escape) CTRL-3 -->
|
||||
<key name="KEY_4" code="0x001c"/> <!-- FS (file separator) CTRL-4 -->
|
||||
<key name="KEY_5" code="0x001d"/> <!-- GS (group separator) CTRL-5 -->
|
||||
<key name="KEY_6" code="0x001e"/> <!-- RS (record separator) CTRL-6 -->
|
||||
<key name="KEY_7" code="0x001f"/> <!-- US (unit separator) CTRL-7 -->
|
||||
<key name="KEY_Q" code="0x0011"/> <!-- DC1 (device control 1) CTRL-q -->
|
||||
<key name="KEY_W" code="0x0017"/> <!-- ETB (end of trans. blk) CTRL-w -->
|
||||
<key name="KEY_E" code="0x0005"/> <!-- ENQ (enquiry) CTRL-e -->
|
||||
<key name="KEY_R" code="0x0012"/> <!-- DC2 (device control 2) CTRL-r -->
|
||||
<key name="KEY_T" code="0x0014"/> <!-- DC4 (device control 4) CTRL-t -->
|
||||
<key name="KEY_Y" code="0x001a"/> <!-- SUB (substitute) CTRL-z -->
|
||||
<key name="KEY_U" code="0x0015"/> <!-- NAK (negative ack.) CTRL-u -->
|
||||
<key name="KEY_I" code="0x0009"/> <!-- HT '\t' (horizontal tab) CTRL-i -->
|
||||
<key name="KEY_O" code="0x000f"/> <!-- SI (shift in) CTRL-o -->
|
||||
<key name="KEY_P" code="0x0010"/> <!-- DLE (data link escape) CTRL-p -->
|
||||
<key name="KEY_A" code="0x0001"/> <!-- SOH (start of heading) CTRL-a -->
|
||||
<key name="KEY_S" code="0x0013"/> <!-- DC3 (device control 3) CTRL-s -->
|
||||
<key name="KEY_D" code="0x0004"/> <!-- EOT (end of transmission) CTRL-d -->
|
||||
<key name="KEY_F" code="0x0006"/> <!-- ACK (acknowledge) CTRL-f -->
|
||||
<key name="KEY_G" code="0x0007"/> <!-- BEL '\a' (bell) CTRL-g -->
|
||||
<key name="KEY_H" code="0x0008"/> <!-- BS '\b' (backspace) CTRL-h -->
|
||||
<key name="KEY_J" code="0x000a"/> <!-- LF '\n' (new line) CTRL-j -->
|
||||
<key name="KEY_K" code="0x000b"/> <!-- VT '\v' (vertical tab) CTRL-k -->
|
||||
<key name="KEY_L" code="0x000c"/> <!-- FF '\f' (form feed) CTRL-l -->
|
||||
<key name="KEY_Z" code="0x0019"/> <!-- EM (end of medium) CTRL-y -->
|
||||
<key name="KEY_X" code="0x0018"/> <!-- CAN (cancel) CTRL-x -->
|
||||
<key name="KEY_C" code="0x0003"/> <!-- ETX (end of text) CTRL-c -->
|
||||
<key name="KEY_V" code="0x0016"/> <!-- SYN (synchronous idle) CTRL-v -->
|
||||
<key name="KEY_B" code="0x0002"/> <!-- STX (start of text) CTRL-b -->
|
||||
<key name="KEY_N" code="0x000e"/> <!-- SO (shift out) CTRL-n -->
|
||||
<key name="KEY_M" code="0x000d"/> <!-- CR '\r' (carriage ret) CTRL-m -->
|
||||
<key name="KEY_KP7" code="0x001f"/> <!-- US (unit separator) CTRL-KP_7 -->
|
||||
<key name="KEY_KP4" code="0x001c"/> <!-- FS (file separator) CTRL-KP_4 -->
|
||||
<key name="KEY_KP5" code="0x001d"/> <!-- GS (group separator) CTRL-KP_5 -->
|
||||
<key name="KEY_KP6" code="0x001e"/> <!-- RS (record separator) CTRL-KP_6 -->
|
||||
<key name="KEY_KP3" code="0x001b"/> <!-- ESC (escape) CTRL-KP_3 -->
|
||||
</map>
|
||||
|
||||
<!-- ALTGR -->
|
||||
<map mod1="false" mod2="false" mod3="true" mod4="false">
|
||||
<key name="KEY_1" code="0x00a6"/> <!-- ¦ (*) -->
|
||||
|
@ -129,42 +129,6 @@
|
||||
<key name="KEY_102ND" code="0x003e"/> <!-- > -->
|
||||
</map>
|
||||
|
||||
<!-- CONTROL -->
|
||||
<map mod2="true">
|
||||
<key name="KEY_8" code="0x001f"/> <!-- US (unit separator) CTRL-underscore -->
|
||||
<key name="KEY_Q" code="0x0001"/> <!-- SOH (start of heading) CTRL-a -->
|
||||
<key name="KEY_W" code="0x001a"/> <!-- SUB (substitute) CTRL-z -->
|
||||
<key name="KEY_E" code="0x0005"/> <!-- ENQ (enquiry) CTRL-e -->
|
||||
<key name="KEY_R" code="0x0012"/> <!-- DC2 (device control 2) CTRL-r -->
|
||||
<key name="KEY_T" code="0x0014"/> <!-- DC4 (device control 4) CTRL-t -->
|
||||
<key name="KEY_Y" code="0x0019"/> <!-- EM (end of medium) CTRL-y -->
|
||||
<key name="KEY_U" code="0x0015"/> <!-- NAK (negative ack.) CTRL-u -->
|
||||
<key name="KEY_I" code="0x0009"/> <!-- HT '\t' (horizontal tab) CTRL-i -->
|
||||
<key name="KEY_O" code="0x000f"/> <!-- SI (shift in) CTRL-o -->
|
||||
<key name="KEY_P" code="0x0010"/> <!-- DLE (data link escape) CTRL-p -->
|
||||
<key name="KEY_A" code="0x0011"/> <!-- DC1 (device control 1) CTRL-q -->
|
||||
<key name="KEY_S" code="0x0013"/> <!-- DC3 (device control 3) CTRL-s -->
|
||||
<key name="KEY_D" code="0x0004"/> <!-- EOT (end of transmission) CTRL-d -->
|
||||
<key name="KEY_F" code="0x0006"/> <!-- ACK (acknowledge) CTRL-f -->
|
||||
<key name="KEY_G" code="0x0007"/> <!-- BEL '\a' (bell) CTRL-g -->
|
||||
<key name="KEY_H" code="0x0008"/> <!-- BS '\b' (backspace) CTRL-h -->
|
||||
<key name="KEY_J" code="0x000a"/> <!-- LF '\n' (new line) CTRL-j -->
|
||||
<key name="KEY_K" code="0x000b"/> <!-- VT '\v' (vertical tab) CTRL-k -->
|
||||
<key name="KEY_L" code="0x000c"/> <!-- FF '\f' (form feed) CTRL-l -->
|
||||
<key name="KEY_SEMICOLON" code="0x000d"/> <!-- CR '\r' (carriage ret) CTRL-m -->
|
||||
<key name="KEY_Z" code="0x0017"/> <!-- ETB (end of trans. blk) CTRL-w -->
|
||||
<key name="KEY_X" code="0x0018"/> <!-- CAN (cancel) CTRL-x -->
|
||||
<key name="KEY_C" code="0x0003"/> <!-- ETX (end of text) CTRL-c -->
|
||||
<key name="KEY_V" code="0x0016"/> <!-- SYN (synchronous idle) CTRL-v -->
|
||||
<key name="KEY_B" code="0x0002"/> <!-- STX (start of text) CTRL-b -->
|
||||
<key name="KEY_N" code="0x000e"/> <!-- SO (shift out) CTRL-n -->
|
||||
<key name="KEY_KP7" code="0x001f"/> <!-- US (unit separator) CTRL-KP_7 -->
|
||||
<key name="KEY_KP4" code="0x001c"/> <!-- FS (file separator) CTRL-KP_4 -->
|
||||
<key name="KEY_KP5" code="0x001d"/> <!-- GS (group separator) CTRL-KP_5 -->
|
||||
<key name="KEY_KP6" code="0x001e"/> <!-- RS (record separator) CTRL-KP_6 -->
|
||||
<key name="KEY_KP3" code="0x001b"/> <!-- ESC (escape) CTRL-KP_3 -->
|
||||
</map>
|
||||
|
||||
<!-- ALTGR -->
|
||||
<map mod1="false" mod2="false" mod3="true" mod4="false">
|
||||
<key name="KEY_1" code="0x00b9"/> <!-- ¹ -->
|
||||
|
Loading…
x
Reference in New Issue
Block a user