Skip to content

Commit 083db7d

Browse files
uinput.devices.Keyboard supports all AT keyboard keys.
1 parent f89772b commit 083db7d

1 file changed

Lines changed: 244 additions & 3 deletions

File tree

src/devices.py

Lines changed: 244 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,9 +25,250 @@ class Keyboard(object):
2525
def __init__(self, *args, **kwargs):
2626
self.device = uinput.Device(*args, **kwargs)
2727
self.keys = uinput.KeyCapabilities(self.device)
28-
self.keys.add(uinput.BTN_LEFT)
29-
self.keys.add(uinput.BTN_RIGHT)
30-
self.keys.add(uinput.BTN_MIDDLE)
28+
self.keys.add(uinput.KEY_RESERVED)
29+
self.keys.add(uinput.KEY_ESC)
30+
self.keys.add(uinput.KEY_1)
31+
self.keys.add(uinput.KEY_2)
32+
self.keys.add(uinput.KEY_3)
33+
self.keys.add(uinput.KEY_4)
34+
self.keys.add(uinput.KEY_5)
35+
self.keys.add(uinput.KEY_6)
36+
self.keys.add(uinput.KEY_7)
37+
self.keys.add(uinput.KEY_8)
38+
self.keys.add(uinput.KEY_9)
39+
self.keys.add(uinput.KEY_0)
40+
self.keys.add(uinput.KEY_MINUS)
41+
self.keys.add(uinput.KEY_EQUAL)
42+
self.keys.add(uinput.KEY_BACKSPACE)
43+
self.keys.add(uinput.KEY_TAB)
44+
self.keys.add(uinput.KEY_Q)
45+
self.keys.add(uinput.KEY_W)
46+
self.keys.add(uinput.KEY_E)
47+
self.keys.add(uinput.KEY_R)
48+
self.keys.add(uinput.KEY_T)
49+
self.keys.add(uinput.KEY_Y)
50+
self.keys.add(uinput.KEY_U)
51+
self.keys.add(uinput.KEY_I)
52+
self.keys.add(uinput.KEY_O)
53+
self.keys.add(uinput.KEY_P)
54+
self.keys.add(uinput.KEY_LEFTBRACE)
55+
self.keys.add(uinput.KEY_RIGHTBRACE)
56+
self.keys.add(uinput.KEY_ENTER)
57+
self.keys.add(uinput.KEY_LEFTCTRL)
58+
self.keys.add(uinput.KEY_A)
59+
self.keys.add(uinput.KEY_S)
60+
self.keys.add(uinput.KEY_D)
61+
self.keys.add(uinput.KEY_F)
62+
self.keys.add(uinput.KEY_G)
63+
self.keys.add(uinput.KEY_H)
64+
self.keys.add(uinput.KEY_J)
65+
self.keys.add(uinput.KEY_K)
66+
self.keys.add(uinput.KEY_L)
67+
self.keys.add(uinput.KEY_SEMICOLON)
68+
self.keys.add(uinput.KEY_APOSTROPHE)
69+
self.keys.add(uinput.KEY_GRAVE)
70+
self.keys.add(uinput.KEY_LEFTSHIFT)
71+
self.keys.add(uinput.KEY_BACKSLASH)
72+
self.keys.add(uinput.KEY_Z)
73+
self.keys.add(uinput.KEY_X)
74+
self.keys.add(uinput.KEY_C)
75+
self.keys.add(uinput.KEY_V)
76+
self.keys.add(uinput.KEY_B)
77+
self.keys.add(uinput.KEY_N)
78+
self.keys.add(uinput.KEY_M)
79+
self.keys.add(uinput.KEY_COMMA)
80+
self.keys.add(uinput.KEY_DOT)
81+
self.keys.add(uinput.KEY_SLASH)
82+
self.keys.add(uinput.KEY_RIGHTSHIFT)
83+
self.keys.add(uinput.KEY_KPASTERISK)
84+
self.keys.add(uinput.KEY_LEFTALT)
85+
self.keys.add(uinput.KEY_SPACE)
86+
self.keys.add(uinput.KEY_CAPSLOCK)
87+
self.keys.add(uinput.KEY_F1)
88+
self.keys.add(uinput.KEY_F2)
89+
self.keys.add(uinput.KEY_F3)
90+
self.keys.add(uinput.KEY_F4)
91+
self.keys.add(uinput.KEY_F5)
92+
self.keys.add(uinput.KEY_F6)
93+
self.keys.add(uinput.KEY_F7)
94+
self.keys.add(uinput.KEY_F8)
95+
self.keys.add(uinput.KEY_F9)
96+
self.keys.add(uinput.KEY_F10)
97+
self.keys.add(uinput.KEY_NUMLOCK)
98+
self.keys.add(uinput.KEY_SCROLLLOCK)
99+
self.keys.add(uinput.KEY_KP7)
100+
self.keys.add(uinput.KEY_KP8)
101+
self.keys.add(uinput.KEY_KP9)
102+
self.keys.add(uinput.KEY_KPMINUS)
103+
self.keys.add(uinput.KEY_KP4)
104+
self.keys.add(uinput.KEY_KP5)
105+
self.keys.add(uinput.KEY_KP6)
106+
self.keys.add(uinput.KEY_KPPLUS)
107+
self.keys.add(uinput.KEY_KP1)
108+
self.keys.add(uinput.KEY_KP2)
109+
self.keys.add(uinput.KEY_KP3)
110+
self.keys.add(uinput.KEY_KP0)
111+
self.keys.add(uinput.KEY_KPDOT)
112+
self.keys.add(uinput.KEY_ZENKAKUHANKAKU)
113+
self.keys.add(uinput.KEY_102ND)
114+
self.keys.add(uinput.KEY_F11)
115+
self.keys.add(uinput.KEY_F12)
116+
self.keys.add(uinput.KEY_RO)
117+
self.keys.add(uinput.KEY_KATAKANA)
118+
self.keys.add(uinput.KEY_HIRAGANA)
119+
self.keys.add(uinput.KEY_HENKAN)
120+
self.keys.add(uinput.KEY_KATAKANAHIRAGANA)
121+
self.keys.add(uinput.KEY_MUHENKAN)
122+
self.keys.add(uinput.KEY_KPJPCOMMA)
123+
self.keys.add(uinput.KEY_KPENTER)
124+
self.keys.add(uinput.KEY_RIGHTCTRL)
125+
self.keys.add(uinput.KEY_KPSLASH)
126+
self.keys.add(uinput.KEY_SYSRQ)
127+
self.keys.add(uinput.KEY_RIGHTALT)
128+
self.keys.add(uinput.KEY_LINEFEED)
129+
self.keys.add(uinput.KEY_HOME)
130+
self.keys.add(uinput.KEY_UP)
131+
self.keys.add(uinput.KEY_PAGEUP)
132+
self.keys.add(uinput.KEY_LEFT)
133+
self.keys.add(uinput.KEY_RIGHT)
134+
self.keys.add(uinput.KEY_END)
135+
self.keys.add(uinput.KEY_DOWN)
136+
self.keys.add(uinput.KEY_PAGEDOWN)
137+
self.keys.add(uinput.KEY_INSERT)
138+
self.keys.add(uinput.KEY_DELETE)
139+
self.keys.add(uinput.KEY_MACRO)
140+
self.keys.add(uinput.KEY_MUTE)
141+
self.keys.add(uinput.KEY_VOLUMEDOWN)
142+
self.keys.add(uinput.KEY_VOLUMEUP)
143+
self.keys.add(uinput.KEY_POWER)
144+
self.keys.add(uinput.KEY_KPEQUAL)
145+
self.keys.add(uinput.KEY_KPPLUSMINUS)
146+
self.keys.add(uinput.KEY_PAUSE)
147+
self.keys.add(uinput.KEY_SCALE)
148+
self.keys.add(uinput.KEY_KPCOMMA)
149+
self.keys.add(uinput.KEY_HANGEUL)
150+
self.keys.add(uinput.KEY_HANGUEL)
151+
self.keys.add(uinput.KEY_HANJA)
152+
self.keys.add(uinput.KEY_YEN)
153+
self.keys.add(uinput.KEY_LEFTMETA)
154+
self.keys.add(uinput.KEY_RIGHTMETA)
155+
self.keys.add(uinput.KEY_COMPOSE)
156+
self.keys.add(uinput.KEY_STOP)
157+
self.keys.add(uinput.KEY_AGAIN)
158+
self.keys.add(uinput.KEY_PROPS)
159+
self.keys.add(uinput.KEY_UNDO)
160+
self.keys.add(uinput.KEY_FRONT)
161+
self.keys.add(uinput.KEY_COPY)
162+
self.keys.add(uinput.KEY_OPEN)
163+
self.keys.add(uinput.KEY_PASTE)
164+
self.keys.add(uinput.KEY_FIND)
165+
self.keys.add(uinput.KEY_CUT)
166+
self.keys.add(uinput.KEY_HELP)
167+
self.keys.add(uinput.KEY_MENU)
168+
self.keys.add(uinput.KEY_CALC)
169+
self.keys.add(uinput.KEY_SETUP)
170+
self.keys.add(uinput.KEY_SLEEP)
171+
self.keys.add(uinput.KEY_WAKEUP)
172+
self.keys.add(uinput.KEY_FILE)
173+
self.keys.add(uinput.KEY_SENDFILE)
174+
self.keys.add(uinput.KEY_DELETEFILE)
175+
self.keys.add(uinput.KEY_XFER)
176+
self.keys.add(uinput.KEY_PROG1)
177+
self.keys.add(uinput.KEY_PROG2)
178+
self.keys.add(uinput.KEY_WWW)
179+
self.keys.add(uinput.KEY_MSDOS)
180+
self.keys.add(uinput.KEY_COFFEE)
181+
self.keys.add(uinput.KEY_SCREENLOCK)
182+
self.keys.add(uinput.KEY_DIRECTION)
183+
self.keys.add(uinput.KEY_CYCLEWINDOWS)
184+
self.keys.add(uinput.KEY_MAIL)
185+
self.keys.add(uinput.KEY_BOOKMARKS)
186+
self.keys.add(uinput.KEY_COMPUTER)
187+
self.keys.add(uinput.KEY_BACK)
188+
self.keys.add(uinput.KEY_FORWARD)
189+
self.keys.add(uinput.KEY_CLOSECD)
190+
self.keys.add(uinput.KEY_EJECTCD)
191+
self.keys.add(uinput.KEY_EJECTCLOSECD)
192+
self.keys.add(uinput.KEY_NEXTSONG)
193+
self.keys.add(uinput.KEY_PLAYPAUSE)
194+
self.keys.add(uinput.KEY_PREVIOUSSONG)
195+
self.keys.add(uinput.KEY_STOPCD)
196+
self.keys.add(uinput.KEY_RECORD)
197+
self.keys.add(uinput.KEY_REWIND)
198+
self.keys.add(uinput.KEY_PHONE)
199+
self.keys.add(uinput.KEY_ISO)
200+
self.keys.add(uinput.KEY_CONFIG)
201+
self.keys.add(uinput.KEY_HOMEPAGE)
202+
self.keys.add(uinput.KEY_REFRESH)
203+
self.keys.add(uinput.KEY_EXIT)
204+
self.keys.add(uinput.KEY_MOVE)
205+
self.keys.add(uinput.KEY_EDIT)
206+
self.keys.add(uinput.KEY_SCROLLUP)
207+
self.keys.add(uinput.KEY_SCROLLDOWN)
208+
self.keys.add(uinput.KEY_KPLEFTPAREN)
209+
self.keys.add(uinput.KEY_KPRIGHTPAREN)
210+
self.keys.add(uinput.KEY_NEW)
211+
self.keys.add(uinput.KEY_REDO)
212+
self.keys.add(uinput.KEY_F13)
213+
self.keys.add(uinput.KEY_F14)
214+
self.keys.add(uinput.KEY_F15)
215+
self.keys.add(uinput.KEY_F16)
216+
self.keys.add(uinput.KEY_F17)
217+
self.keys.add(uinput.KEY_F18)
218+
self.keys.add(uinput.KEY_F19)
219+
self.keys.add(uinput.KEY_F20)
220+
self.keys.add(uinput.KEY_F21)
221+
self.keys.add(uinput.KEY_F22)
222+
self.keys.add(uinput.KEY_F23)
223+
self.keys.add(uinput.KEY_F24)
224+
self.keys.add(uinput.KEY_PLAYCD)
225+
self.keys.add(uinput.KEY_PAUSECD)
226+
self.keys.add(uinput.KEY_PROG3)
227+
self.keys.add(uinput.KEY_PROG4)
228+
self.keys.add(uinput.KEY_DASHBOARD)
229+
self.keys.add(uinput.KEY_SUSPEND)
230+
self.keys.add(uinput.KEY_CLOSE)
231+
self.keys.add(uinput.KEY_PLAY)
232+
self.keys.add(uinput.KEY_FASTFORWARD)
233+
self.keys.add(uinput.KEY_BASSBOOST)
234+
self.keys.add(uinput.KEY_PRINT)
235+
self.keys.add(uinput.KEY_HP)
236+
self.keys.add(uinput.KEY_CAMERA)
237+
self.keys.add(uinput.KEY_SOUND)
238+
self.keys.add(uinput.KEY_QUESTION)
239+
self.keys.add(uinput.KEY_EMAIL)
240+
self.keys.add(uinput.KEY_CHAT)
241+
self.keys.add(uinput.KEY_SEARCH)
242+
self.keys.add(uinput.KEY_CONNECT)
243+
self.keys.add(uinput.KEY_FINANCE)
244+
self.keys.add(uinput.KEY_SPORT)
245+
self.keys.add(uinput.KEY_SHOP)
246+
self.keys.add(uinput.KEY_ALTERASE)
247+
self.keys.add(uinput.KEY_CANCEL)
248+
self.keys.add(uinput.KEY_BRIGHTNESSDOWN)
249+
self.keys.add(uinput.KEY_BRIGHTNESSUP)
250+
self.keys.add(uinput.KEY_MEDIA)
251+
self.keys.add(uinput.KEY_SWITCHVIDEOMODE)
252+
self.keys.add(uinput.KEY_KBDILLUMTOGGLE)
253+
self.keys.add(uinput.KEY_KBDILLUMDOWN)
254+
self.keys.add(uinput.KEY_KBDILLUMUP)
255+
self.keys.add(uinput.KEY_SEND)
256+
self.keys.add(uinput.KEY_REPLY)
257+
self.keys.add(uinput.KEY_FORWARDMAIL)
258+
self.keys.add(uinput.KEY_SAVE)
259+
self.keys.add(uinput.KEY_DOCUMENTS)
260+
self.keys.add(uinput.KEY_BATTERY)
261+
self.keys.add(uinput.KEY_BLUETOOTH)
262+
self.keys.add(uinput.KEY_WLAN)
263+
self.keys.add(uinput.KEY_UWB)
264+
self.keys.add(uinput.KEY_UNKNOWN)
265+
self.keys.add(uinput.KEY_VIDEO_NEXT)
266+
self.keys.add(uinput.KEY_VIDEO_PREV)
267+
self.keys.add(uinput.KEY_BRIGHTNESS_CYCLE)
268+
self.keys.add(uinput.KEY_BRIGHTNESS_ZERO)
269+
self.keys.add(uinput.KEY_DISPLAY_OFF)
270+
self.keys.add(uinput.KEY_WIMAX)
271+
31272
self.press = self.keys.press
32273
self.release = self.keys.release
33274
self.click = self.keys.click

0 commit comments

Comments
 (0)