2016-06-20 07:13:20 -04:00
|
|
|
! Copyright (C) 2016 Björn Lindqvist
|
|
|
|
|
! See http://factorcode.org/license.txt for BSD license.
|
2016-08-16 22:04:06 -04:00
|
|
|
USING: accessors assocs kernel literals ui.gestures x11.X
|
2017-09-11 18:06:27 -04:00
|
|
|
x11.keysymdef combinators.smart.syntax ;
|
2016-06-20 07:13:20 -04:00
|
|
|
IN: ui.backend.x11.keys
|
|
|
|
|
|
2017-09-11 18:06:27 -04:00
|
|
|
CONSTANT: modifiers {
|
2017-09-11 18:08:32 -04:00
|
|
|
array[ S+ ShiftMask ]
|
|
|
|
|
array[ C+ ControlMask ]
|
|
|
|
|
array[ A+ Mod1Mask ]
|
|
|
|
|
array[ M+ Mod4Mask ]
|
2017-09-11 18:06:27 -04:00
|
|
|
}
|
2016-06-20 07:13:20 -04:00
|
|
|
|
|
|
|
|
CONSTANT: codes
|
|
|
|
|
H{
|
2017-09-11 17:36:35 -04:00
|
|
|
array[ XK_BackSpace "BACKSPACE" ]
|
|
|
|
|
array[ XK_Tab "TAB" ]
|
|
|
|
|
array[ XK_ISO_Left_Tab "TAB" ]
|
|
|
|
|
array[ XK_Return "RET" ]
|
|
|
|
|
array[ XK_KP_Enter "ENTER" ]
|
|
|
|
|
array[ XK_Escape "ESC" ]
|
|
|
|
|
array[ XK_Delete "DELETE" ]
|
|
|
|
|
array[ XK_Insert "INSERT" ]
|
|
|
|
|
array[ XK_Home "HOME" ]
|
|
|
|
|
array[ XK_Left "LEFT" ]
|
|
|
|
|
array[ XK_Up "UP" ]
|
|
|
|
|
array[ XK_Right "RIGHT" ]
|
|
|
|
|
array[ XK_Down "DOWN" ]
|
|
|
|
|
array[ XK_Page_Up "PAGE_UP" ]
|
|
|
|
|
array[ XK_Page_Down "PAGE_DOWN" ]
|
|
|
|
|
array[ XK_End "END" ]
|
|
|
|
|
array[ XK_Begin "BEGIN" ]
|
|
|
|
|
array[ XK_F1 "F1" ]
|
|
|
|
|
array[ XK_F2 "F2" ]
|
|
|
|
|
array[ XK_F3 "F3" ]
|
|
|
|
|
array[ XK_F4 "F4" ]
|
|
|
|
|
array[ XK_F5 "F5" ]
|
|
|
|
|
array[ XK_F6 "F6" ]
|
|
|
|
|
array[ XK_F7 "F7" ]
|
|
|
|
|
array[ XK_F8 "F8" ]
|
|
|
|
|
array[ XK_F9 "F9" ]
|
|
|
|
|
array[ XK_F10 "F10" ]
|
|
|
|
|
array[ XK_F11 "F11" ]
|
|
|
|
|
array[ XK_F12 "F12" ]
|
2016-06-20 07:13:20 -04:00
|
|
|
|
2017-09-11 17:36:35 -04:00
|
|
|
array[ XK_Shift_L f ]
|
|
|
|
|
array[ XK_Shift_R f ]
|
|
|
|
|
array[ XK_Control_L f ]
|
|
|
|
|
array[ XK_Control_R f ]
|
|
|
|
|
array[ XK_Caps_Lock f ]
|
|
|
|
|
array[ XK_Shift_Lock f ]
|
2016-06-20 07:13:20 -04:00
|
|
|
|
2017-09-11 17:36:35 -04:00
|
|
|
array[ XK_Meta_L f ]
|
|
|
|
|
array[ XK_Meta_R f ]
|
|
|
|
|
array[ XK_Alt_L f ]
|
|
|
|
|
array[ XK_Alt_R f ]
|
|
|
|
|
array[ XK_Super_L f ]
|
|
|
|
|
array[ XK_Super_R f ]
|
|
|
|
|
array[ XK_Hyper_L f ]
|
|
|
|
|
array[ XK_Hyper_R f ]
|
2016-06-20 07:13:20 -04:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
: code>sym ( code -- name/code/f action? )
|
|
|
|
|
dup codes at* [ nip dup t and ] when ;
|
|
|
|
|
|
|
|
|
|
: event-modifiers ( event -- seq )
|
|
|
|
|
state>> modifiers modifier ;
|