receiver: add USB scan codes
This commit is contained in:
parent
4c683457f9
commit
e3788f3d1f
|
@ -19,6 +19,7 @@
|
||||||
# Reprogrammable keys information
|
# Reprogrammable keys information
|
||||||
# Mostly from Logitech documentation, but with some edits for better Lunix compatability
|
# Mostly from Logitech documentation, but with some edits for better Lunix compatability
|
||||||
|
|
||||||
|
from .common import NamedInt as _NamedInt
|
||||||
from .common import NamedInts as _NamedInts
|
from .common import NamedInts as _NamedInts
|
||||||
|
|
||||||
# <controls.xml awk -F\" '/<Control /{sub(/^LD_FINFO_(CTRLID_)?/, "", $2);printf("\t%s=0x%04X,\n", $2, $4)}' | sort -t= -k2
|
# <controls.xml awk -F\" '/<Control /{sub(/^LD_FINFO_(CTRLID_)?/, "", $2);printf("\t%s=0x%04X,\n", $2, $4)}' | sort -t= -k2
|
||||||
|
@ -595,3 +596,224 @@ DISABLE = _NamedInts(
|
||||||
Win=0x10, # aka Super
|
Win=0x10, # aka Super
|
||||||
)
|
)
|
||||||
DISABLE._fallback = lambda x: 'unknown:%02X' % x
|
DISABLE._fallback = lambda x: 'unknown:%02X' % x
|
||||||
|
|
||||||
|
##
|
||||||
|
## Information for x1c00 Persistent from https://drive.google.com/drive/folders/0BxbRzx7vEV7eWmgwazJ3NUFfQ28
|
||||||
|
##
|
||||||
|
|
||||||
|
KEYMOD = _NamedInts(CTRL=0x01, SHIFT=0x02, ALT=0x04, META=0x08, RCTRL=0x10, RSHIFT=0x20, RALT=0x40, RMETA=0x80)
|
||||||
|
|
||||||
|
ACTIONID = _NamedInts(
|
||||||
|
Empty=0x00,
|
||||||
|
Key=0x01,
|
||||||
|
Mouse=0x02,
|
||||||
|
Xdisp=0x03,
|
||||||
|
Ydisp=0x04,
|
||||||
|
Vscroll=0x05,
|
||||||
|
Hscroll=0x06,
|
||||||
|
Control=0x07,
|
||||||
|
Internal=0x08,
|
||||||
|
Power=0x09
|
||||||
|
)
|
||||||
|
|
||||||
|
MOUSE_BUTTONS = _NamedInts(
|
||||||
|
Left=0x01,
|
||||||
|
Right=0x02,
|
||||||
|
Middle=0x04,
|
||||||
|
Back=0x08,
|
||||||
|
Forward=0x10,
|
||||||
|
)
|
||||||
|
MOUSE_BUTTONS._fallback = lambda x: 'unknown:%02X' % x
|
||||||
|
|
||||||
|
# HID USB Keycodes from https://www.usb.org/sites/default/files/documents/hut1_12v2.pdf
|
||||||
|
USB_HID_KEYCODES = _NamedInts(
|
||||||
|
NONE=0x00,
|
||||||
|
ERR_OVF=0x01,
|
||||||
|
A=0x04,
|
||||||
|
B=0x05,
|
||||||
|
C=0x06,
|
||||||
|
D=0x07,
|
||||||
|
E=0x08,
|
||||||
|
F=0x09,
|
||||||
|
G=0x0a,
|
||||||
|
H=0x0b,
|
||||||
|
I=0x0c,
|
||||||
|
J=0x0d,
|
||||||
|
K=0x0e,
|
||||||
|
L=0x0f,
|
||||||
|
M=0x10,
|
||||||
|
N=0x11,
|
||||||
|
O=0x12,
|
||||||
|
P=0x13,
|
||||||
|
Q=0x14,
|
||||||
|
R=0x15,
|
||||||
|
S=0x16,
|
||||||
|
T=0x17,
|
||||||
|
U=0x18,
|
||||||
|
V=0x19,
|
||||||
|
W=0x1a,
|
||||||
|
X=0x1b,
|
||||||
|
Y=0x1c,
|
||||||
|
Z=0x1d,
|
||||||
|
ENTER=0x28,
|
||||||
|
ESC=0x29,
|
||||||
|
BACKSPACE=0x2a,
|
||||||
|
TAB=0x2b,
|
||||||
|
SPACE=0x2c,
|
||||||
|
MINUS=0x2d,
|
||||||
|
EQUAL=0x2e,
|
||||||
|
LEFTBRACE=0x2f,
|
||||||
|
RIGHTBRACE=0x30,
|
||||||
|
BACKSLASH=0x31,
|
||||||
|
HASHTILDE=0x32,
|
||||||
|
SEMICOLON=0x33,
|
||||||
|
APOSTROPHE=0x34,
|
||||||
|
GRAVE=0x35,
|
||||||
|
COMMA=0x36,
|
||||||
|
DOT=0x37,
|
||||||
|
SLASH=0x38,
|
||||||
|
CAPSLOCK=0x39,
|
||||||
|
F1=0x3a,
|
||||||
|
F2=0x3b,
|
||||||
|
F3=0x3c,
|
||||||
|
F4=0x3d,
|
||||||
|
F5=0x3e,
|
||||||
|
F6=0x3f,
|
||||||
|
F7=0x40,
|
||||||
|
F8=0x41,
|
||||||
|
F9=0x42,
|
||||||
|
F10=0x43,
|
||||||
|
F11=0x44,
|
||||||
|
F12=0x45,
|
||||||
|
SYSRQ=0x46,
|
||||||
|
SCROLLLOCK=0x47,
|
||||||
|
PAUSE=0x48,
|
||||||
|
INSERT=0x49,
|
||||||
|
HOME=0x4a,
|
||||||
|
PAGEUP=0x4b,
|
||||||
|
DELETE=0x4c,
|
||||||
|
END=0x4d,
|
||||||
|
PAGEDOWN=0x4e,
|
||||||
|
RIGHT=0x4f,
|
||||||
|
LEFT=0x50,
|
||||||
|
DOWN=0x51,
|
||||||
|
UP=0x52,
|
||||||
|
NUMLOCK=0x53,
|
||||||
|
KPSLASH=0x54,
|
||||||
|
KPASTERISK=0x55,
|
||||||
|
KPMINUS=0x56,
|
||||||
|
KPPLUS=0x57,
|
||||||
|
KPENTER=0x58,
|
||||||
|
KP1=0x59,
|
||||||
|
KP2=0x5a,
|
||||||
|
KP3=0x5b,
|
||||||
|
KP4=0x5c,
|
||||||
|
KP5=0x5d,
|
||||||
|
KP6=0x5e,
|
||||||
|
KP7=0x5f,
|
||||||
|
KP8=0x60,
|
||||||
|
KP9=0x61,
|
||||||
|
KP0=0x62,
|
||||||
|
KPDOT=0x63,
|
||||||
|
COMPOSE=0x65,
|
||||||
|
POWER=0x66,
|
||||||
|
KPEQUAL=0x67,
|
||||||
|
F13=0x68,
|
||||||
|
F14=0x69,
|
||||||
|
F15=0x6a,
|
||||||
|
F16=0x6b,
|
||||||
|
F17=0x6c,
|
||||||
|
F18=0x6d,
|
||||||
|
F19=0x6e,
|
||||||
|
F20=0x6f,
|
||||||
|
F21=0x70,
|
||||||
|
F22=0x71,
|
||||||
|
F23=0x72,
|
||||||
|
F24=0x73,
|
||||||
|
OPEN=0x74,
|
||||||
|
HELP=0x75,
|
||||||
|
PROPS=0x76,
|
||||||
|
FRONT=0x77,
|
||||||
|
STOP=0x78,
|
||||||
|
AGAIN=0x79,
|
||||||
|
UNDO=0x7a,
|
||||||
|
CUT=0x7b,
|
||||||
|
COPY=0x7c,
|
||||||
|
PASTE=0x7d,
|
||||||
|
FIND=0x7e,
|
||||||
|
MUTE=0x7f,
|
||||||
|
VOLUMEUP=0x80,
|
||||||
|
VOLUMEDOWN=0x81,
|
||||||
|
KPCOMMA=0x85,
|
||||||
|
RO=0x87,
|
||||||
|
KATAKANAHIRAGANA=0x88,
|
||||||
|
YEN=0x89,
|
||||||
|
HENKAN=0x8a,
|
||||||
|
MUHENKAN=0x8b,
|
||||||
|
KPJPCOMMA=0x8c,
|
||||||
|
HANGEUL=0x90,
|
||||||
|
HANJA=0x91,
|
||||||
|
KATAKANA=0x92,
|
||||||
|
HIRAGANA=0x93,
|
||||||
|
ZENKAKUHANKAKU=0x94,
|
||||||
|
KPLEFTPAREN=0xb6,
|
||||||
|
KPRIGHTPAREN=0xb7,
|
||||||
|
LEFTCTRL=0xe0,
|
||||||
|
LEFTSHIFT=0xe1,
|
||||||
|
LEFTALT=0xe2,
|
||||||
|
LEFTWINDOWS=0xe3,
|
||||||
|
RIGHTCTRL=0xe4,
|
||||||
|
RIGHTSHIFT=0xe5,
|
||||||
|
RIGHTALT=0xe6,
|
||||||
|
RIGHTMETA=0xe7,
|
||||||
|
MEDIA_PLAYPAUSE=0xe8,
|
||||||
|
MEDIA_STOPCD=0xe9,
|
||||||
|
MEDIA_PREVIOUSSONG=0xea,
|
||||||
|
MEDIA_NEXTSONG=0xeb,
|
||||||
|
MEDIA_EJECTCD=0xec,
|
||||||
|
MEDIA_VOLUMEUP=0xed,
|
||||||
|
MEDIA_VOLUMEDOWN=0xee,
|
||||||
|
MEDIA_MUTE=0xef,
|
||||||
|
MEDIA_WWW=0xf0,
|
||||||
|
MEDIA_BACK=0xf1,
|
||||||
|
MEDIA_FORWARD=0xf2,
|
||||||
|
MEDIA_STOP=0xf3,
|
||||||
|
MEDIA_FIND=0xf4,
|
||||||
|
MEDIA_SCROLLUP=0xf5,
|
||||||
|
MEDIA_SCROLLDOWN=0xf6,
|
||||||
|
MEDIA_EDIT=0xf7,
|
||||||
|
MEDIA_SLEEP=0xf8,
|
||||||
|
MEDIA_COFFEE=0xf9,
|
||||||
|
MEDIA_REFRESH=0xfa,
|
||||||
|
MEDIA_CALC=0xfb,
|
||||||
|
)
|
||||||
|
USB_HID_KEYCODES[0x1e] = '1'
|
||||||
|
USB_HID_KEYCODES[0x1f] = '2'
|
||||||
|
USB_HID_KEYCODES[0x20] = '3'
|
||||||
|
USB_HID_KEYCODES[0x21] = '4'
|
||||||
|
USB_HID_KEYCODES[0x22] = '5'
|
||||||
|
USB_HID_KEYCODES[0x23] = '6'
|
||||||
|
USB_HID_KEYCODES[0x24] = '7'
|
||||||
|
USB_HID_KEYCODES[0x25] = '8'
|
||||||
|
USB_HID_KEYCODES[0x26] = '9'
|
||||||
|
USB_HID_KEYCODES[0x27] = '0'
|
||||||
|
USB_HID_KEYCODES[0x64] = '102ND'
|
||||||
|
|
||||||
|
# Construct keys plus modifiers
|
||||||
|
modifiers = {
|
||||||
|
0x0: '',
|
||||||
|
0x1: 'Cntrl+',
|
||||||
|
0x2: 'Shift+',
|
||||||
|
0x4: 'Alt+',
|
||||||
|
0x8: 'Meta+',
|
||||||
|
0x3: 'Cntrl+Shift+',
|
||||||
|
0x5: 'Cntrl+Alt+',
|
||||||
|
0x9: 'Cntrl+Meta+',
|
||||||
|
0x6: 'Shift+Alt+',
|
||||||
|
0xA: 'Shift+Meta+',
|
||||||
|
0xC: 'Alt+Meta+'
|
||||||
|
}
|
||||||
|
KEYS = []
|
||||||
|
for val, name in modifiers.items():
|
||||||
|
for key in USB_HID_KEYCODES:
|
||||||
|
KEYS.append(_NamedInt((int(key) << 8) + val, name + str(key)))
|
||||||
|
|
Loading…
Reference in New Issue