使用 Python 编写 HotkeyNet 脚本#

Quick Start#

本项目 hotkeynet 是一个 Python 库. 和其他 Python 库一样, 都需要 import 后再使用. 其中所有稳定的 API 都位于 hotkeynet.api 这一模块下. 在使用的时候请不要手动 import 其他模块里的东西. 没有在 hotkeynet.api 模块下的东西都是不稳定的, 随时可能改变.

下面是一段用 Python 来写 Hotkeynet 脚本的示例代码:

import hotkeynet.api as hk
from hotkeynet.api import KN, CAN

with hk.Script() as script:
    hk.Label(name="w1", window="WoW1")
    hk.Label(name="w2", window="WoW2")

    with hk.Command(
        name="LaunchAndRenameGameClient",
    ) as cmd_launch_and_rename_game_client:
        with hk.SendPC():
            hk.Run.make("C:\\Program Files (x86)\\World of Warcraft\\Wow.exe")
            hk.RenameWin(old="WoW", new=hk.CommandArgEnum.Arg1)

    with hk.Hotkey(key=hk.KN.KEY_1) as hk_1:
        with hk.SendLabel(to=["w1", "w2"]):
            hk.CAN.KEY_1()

script.render()

Generated Hotkeynet Script:

<Label w1 local SendWinM WoW1>
<Label w2 local SendWinM WoW2>

<Command LaunchAndRenameGameClient>
    <SendPC local>
        <Run "C:\Program Files (x86)\World of Warcraft\Wow.exe">
        <RenameWin WoW %1%>

<Hotkey 1>
    <SendLabel w1, w2>
        <Key 1>

Important Public API#

  • hotkeynet.api.KN: 对所有的 Hotkeynet 脚本中的 Key name 的枚举. 你可以用 KN.KEY_1 这样的形式来引用这些 Key name.

所有的 Key enum 列表
  1# -*- coding: utf-8 -*-
  2
  3"""
  4[EN]
  5
  6Enumerate all mouse and keyboard keys for reference in other places, to avoid
  7hard coding string in the code.
  8
  9Virtual key table: https://www.cnblogs.com/del/archive/2007/12/07/987364.html
 10Key Names table: http://www.hotkeynet.com/ref/keynames.html
 11
 12[CN]
 13对所有的 鼠标, 键盘 按键的枚举. 以供在其他地方引用, 避免由于手动输入字符串所引发的错误.
 14
 15- 虚拟按键表: https://www.cnblogs.com/del/archive/2007/12/07/987364.html
 16- Key Names表: http://www.hotkeynet.com/ref/keynames.html
 17"""
 18
 19
 20ESC = "Esc"
 21TRIGGER = "%Trigger%"
 22
 23# ------------------------------------------------------------------------------
 24# F1 - F12
 25# ------------------------------------------------------------------------------
 26F1 = "F1"
 27F2 = "F2"
 28F3 = "F3"
 29F4 = "F4"
 30F5 = "F5"
 31F6 = "F6"
 32F7 = "F7"
 33F8 = "F8"
 34F9 = "F9"
 35F10 = "F10"
 36F11 = "F11"
 37F12 = "F12"
 38
 39# ------------------------------------------------------------------------------
 40# Main number keys
 41# ------------------------------------------------------------------------------
 42OEM3_WAVE_OR_BACK_QUOTE = "Oem3"  # ~
 43KEY_1 = "1"
 44KEY_2 = "2"
 45KEY_3 = "3"
 46KEY_4 = "4"
 47KEY_5 = "5"
 48KEY_6 = "6"
 49KEY_7 = "7"
 50KEY_8 = "8"
 51KEY_9 = "9"
 52KEY_0 = "0"
 53KEY_11_MINUS = "Minus"
 54KEY_12_PLUS = "Plus"
 55BACKSPACE = "Backspace"
 56
 57# ------------------------------------------------------------------------------
 58# Modifier keys
 59# ------------------------------------------------------------------------------
 60TAB = "Tab"
 61CAPS_LOCK = "CapsLock"
 62SHIFT = "Shift"
 63CTRL = "Ctrl"
 64ALT = "Alt"
 65
 66LSHIFT = "LShift"
 67RSHIFT = "RShift"
 68LCTRL = "LCtrl"
 69RCTRL = "RCtrl"
 70LALT = "LAlt"
 71RALT = "RAlt"
 72
 73SPACE = "Space"
 74
 75LWIN = "LWin"
 76RWIN = "RWin"
 77
 78# ------------------------------------------------------------------------------
 79# Alphabet keys
 80# ------------------------------------------------------------------------------
 81A = "A"
 82B = "B"
 83C = "C"
 84D = "D"
 85E = "E"
 86F = "F"
 87G = "G"
 88H = "H"
 89I = "I"
 90J = "J"
 91K = "K"
 92L = "L"
 93M = "M"
 94N = "N"
 95O = "O"
 96P = "P"
 97Q = "Q"
 98R = "R"
 99S = "S"
100T = "T"
101U = "U"
102V = "V"
103W = "W"
104X = "X"
105Y = "Y"
106Z = "Z"
107
108# ------------------------------------------------------------------------------
109# Special characters
110# ------------------------------------------------------------------------------
111OEM4_SQUARE_BRACKET_LEFT = "Oem4"  # (
112OEM6_SQUARE_BRACKET_RIGHT = "Oem6"  # )
113OEM5_PIPE_OR_BACK_SLASH = "Oem5"  # /
114OEM1_SEMICOLUMN = "Oem1"  # :
115OEM7_QUOTE = "Oem7"  # "
116COMMA = "Comma"  # ,
117PERIOD = "Period"  # .
118OEM2_QUESTION = "Oem2"  # ? Key
119ENTER = "Enter"
120
121# ------------------------------------------------------------------------------
122# Arrow keys
123# ------------------------------------------------------------------------------
124INSERT = "Insert"
125HOME = "Home"
126PAGE_UP = "PgUp"
127DELETE = "Delete"
128END = "End"
129PAGE_DOWN = "PgDn"
130
131LEFT = "Left"
132UP = "Up"
133RIGHT = "Right"
134DOWN = "Down"
135
136# ------------------------------------------------------------------------------
137# Numpad keys
138# ------------------------------------------------------------------------------
139SCROLL_LOCK = "ScrollLock"
140
141NUMPAD_1 = "Numpad1"
142NUMPAD_2 = "Numpad2"
143NUMPAD_3 = "Numpad3"
144NUMPAD_4 = "Numpad4"
145NUMPAD_5 = "Numpad5"
146NUMPAD_6 = "Numpad6"
147NUMPAD_7 = "Numpad7"
148NUMPAD_8 = "Numpad8"
149NUMPAD_9 = "Numpad9"
150NUMPAD_0 = "Numpad0"
151NUMPAD_11_DIVIDE = "Divide"
152NUMPAD_12_MULTIPLY = "Multiply"
153
154NUMPAD_MINUS = "NumpadMinus"
155NUMPAD_PLUS = "NumpadPlus"
156NUMPAD_ENTER = "NumpadEnter"
157NUMPAD_DELETE = "NumpadDelete"
158
159NUMPAD_SHIFT_1_END = "NumpadEnd"
160NUMPAD_SHIFT_2_DOWN = "NumpadDown"
161NUMPAD_SHIFT_3_PAGE_DOWN = "NumpadPgDn"
162NUMPAD_SHIFT_4_LEFT = "NumpadLeft"
163NUMPAD_SHIFT_5_CLEAR = "Clear"
164NUMPAD_SHIFT_6_RIGHT = "NumpadRight"
165NUMPAD_SHIFT_7_HOME = "NumpadHome"
166NUMPAD_SHIFT_8_UP = "NumpadUp"
167NUMPAD_SHIFT_9_PAGE_UP = "NumpadPgUp"
168
169UNKNOWN = "Unknown"
170
171# ------------------------------------------------------------------------------
172# Mouse buttons
173# ------------------------------------------------------------------------------
174MOUSE_LButton = "LButton"
175MOUSE_RButton = "RButton"
176MOUSE_MButton = "MButton"
177MOUSE_Button4 = "Button4"
178MOUSE_Button5 = "Button5"
179
180# ------------------------------------------------------------------------------
181# Key collections
182# ------------------------------------------------------------------------------
183F1_to_F12 = [
184    F1,
185    F2,
186    F3,
187    F4,
188    F5,
189    F6,
190    F7,
191    F8,
192    F9,
193    F10,
194    F11,
195    F12,
196]
197
198INSERT_TO_PGDN = [
199    INSERT,
200    HOME,
201    PAGE_UP,
202    DELETE,
203    END,
204    PAGE_DOWN,
205]
206
207KEY_1_to_12 = [
208    KEY_1,
209    KEY_2,
210    KEY_3,
211    KEY_4,
212    KEY_5,
213    KEY_6,
214    KEY_7,
215    KEY_8,
216    KEY_9,
217    KEY_0,
218    KEY_11_MINUS,
219    KEY_12_PLUS,
220]
221
222NUMPAD_1_to_12 = [
223    NUMPAD_1,
224    NUMPAD_2,
225    NUMPAD_3,
226    NUMPAD_4,
227    NUMPAD_5,
228    NUMPAD_6,
229    NUMPAD_7,
230    NUMPAD_8,
231    NUMPAD_9,
232    NUMPAD_0,
233    NUMPAD_11_DIVIDE,
234    NUMPAD_12_MULTIPLY,
235]
236
237
238# ------------------------------------------------------------------------------
239# One modifier compound keys
240# ------------------------------------------------------------------------------
241def CTRL_(*keys: str) -> str:
242    return "{} {}".format(CTRL, ", ".join(keys))
243
244
245def SHIFT_(*keys: str) -> str:
246    return "{} {}".format(SHIFT, ", ".join(keys))
247
248
249def ALT_(*keys: str) -> str:
250    return "{} {}".format(ALT, ", ".join(keys))
251
252
253# ------------------------------------------------------------------------------
254# Two modifier compound keys
255# ------------------------------------------------------------------------------
256def CTRL_ALT_(*keys: str) -> str:
257    return "{} {} {}".format(CTRL, ALT, ", ".join(keys))
258
259
260def CTRL_SHIFT_(*keys: str) -> str:
261    return "{} {} {}".format(CTRL, SHIFT, ", ".join(keys))
262
263
264def ALT_SHIFT_(*keys: str) -> str:
265    return "{} {} {}".format(ALT, SHIFT, ", ".join(keys))
266
267
268# ------------------------------------------------------------------------------
269# Three modifier compound keys
270# ------------------------------------------------------------------------------
271def CTRL_SHIFT_ALT(*keys: str) -> str:
272    return "{} {} {} {}".format(CTRL, SHIFT, ALT, ", ".join(keys))
273
274
275# ------------------------------------------------------------------------------
276# Special modifier compound keys
277# ------------------------------------------------------------------------------
278def SCROLOCK_ON(key: str) -> str:
279    return "{}On {}".format(SCROLL_LOCK, key)
280
281
282def CAPSLOCK_ON(key: str) -> str:
283    return "{}On {}".format(CAPS_LOCK, key)
284
285
286def LWIN_(*keys: str) -> str:
287    """
288    Left windows + any key
289    """
290    return "{} {}".format(LWIN, ", ".join(keys))
291
292
293def RWIN_(*keys: str) -> str:
294    """
295    Right windows + any key
296    """
297    return "{} {}".format(RWIN, ", ".join(keys))
298
299
300# ------------------------------------------------------------------------------
301# regular key with modifier
302# ------------------------------------------------------------------------------
303# CTRL
304CTRL_TAB = CTRL_(TAB)
305
306CTRL_F1 = CTRL_(F1)
307CTRL_F2 = CTRL_(F2)
308CTRL_F3 = CTRL_(F3)
309CTRL_F4 = CTRL_(F4)
310CTRL_F5 = CTRL_(F5)
311CTRL_F6 = CTRL_(F6)
312CTRL_F7 = CTRL_(F7)
313CTRL_F8 = CTRL_(F8)
314CTRL_F9 = CTRL_(F9)
315CTRL_F10 = CTRL_(F10)
316CTRL_F11 = CTRL_(F11)
317CTRL_F12 = CTRL_(F12)
318
319CTRL_OEM3_WAVE_OR_BACK_QUOTE = CTRL_(OEM3_WAVE_OR_BACK_QUOTE)
320CTRL_1 = CTRL_(KEY_1)
321CTRL_2 = CTRL_(KEY_2)
322CTRL_3 = CTRL_(KEY_3)
323CTRL_4 = CTRL_(KEY_4)
324CTRL_5 = CTRL_(KEY_5)
325CTRL_6 = CTRL_(KEY_6)
326CTRL_7 = CTRL_(KEY_7)
327CTRL_8 = CTRL_(KEY_8)
328CTRL_9 = CTRL_(KEY_9)
329CTRL_0 = CTRL_(KEY_0)
330CTRL_11_MINUS = CTRL_(KEY_11_MINUS)
331CTRL_12_PLUS = CTRL_(KEY_12_PLUS)
332CTRL_BACKSPACE = CTRL_(BACKSPACE)
333
334CTRL_NUMPAD_1 = CTRL_(NUMPAD_1)
335CTRL_NUMPAD_2 = CTRL_(NUMPAD_2)
336CTRL_NUMPAD_3 = CTRL_(NUMPAD_3)
337CTRL_NUMPAD_4 = CTRL_(NUMPAD_4)
338CTRL_NUMPAD_5 = CTRL_(NUMPAD_5)
339CTRL_NUMPAD_6 = CTRL_(NUMPAD_6)
340CTRL_NUMPAD_7 = CTRL_(NUMPAD_7)
341CTRL_NUMPAD_8 = CTRL_(NUMPAD_8)
342CTRL_NUMPAD_9 = CTRL_(NUMPAD_9)
343CTRL_NUMPAD_0 = CTRL_(NUMPAD_0)
344CTRL_NUMPAD_11_DIVIDE = CTRL_(NUMPAD_11_DIVIDE)
345CTRL_NUMPAD_12_MULTIPLY = CTRL_(NUMPAD_12_MULTIPLY)
346
347CTRL_A = CTRL_(A)
348CTRL_B = CTRL_(B)
349CTRL_C = CTRL_(C)
350CTRL_D = CTRL_(D)
351CTRL_E = CTRL_(E)
352CTRL_F = CTRL_(F)
353CTRL_G = CTRL_(G)
354CTRL_H = CTRL_(H)
355CTRL_I = CTRL_(I)
356CTRL_J = CTRL_(J)
357CTRL_K = CTRL_(K)
358CTRL_L = CTRL_(L)
359CTRL_M = CTRL_(M)
360CTRL_N = CTRL_(N)
361CTRL_O = CTRL_(O)
362CTRL_P = CTRL_(P)
363CTRL_Q = CTRL_(Q)
364CTRL_R = CTRL_(R)
365CTRL_S = CTRL_(S)
366CTRL_T = CTRL_(T)
367CTRL_U = CTRL_(U)
368CTRL_V = CTRL_(V)
369CTRL_W = CTRL_(W)
370CTRL_X = CTRL_(X)
371CTRL_Y = CTRL_(Y)
372CTRL_Z = CTRL_(Z)
373
374# SHIFT
375SHIFT_TAB = SHIFT_(TAB)
376
377SHIFT_F1 = SHIFT_(F1)
378SHIFT_F2 = SHIFT_(F2)
379SHIFT_F3 = SHIFT_(F3)
380SHIFT_F4 = SHIFT_(F4)
381SHIFT_F5 = SHIFT_(F5)
382SHIFT_F6 = SHIFT_(F6)
383SHIFT_F7 = SHIFT_(F7)
384SHIFT_F8 = SHIFT_(F8)
385SHIFT_F9 = SHIFT_(F9)
386SHIFT_F10 = SHIFT_(F10)
387SHIFT_F11 = SHIFT_(F11)
388SHIFT_F12 = SHIFT_(F12)
389
390SHIFT_OEM3_WAVE_OR_BACK_QUOTE = SHIFT_(OEM3_WAVE_OR_BACK_QUOTE)
391SHIFT_1 = SHIFT_(KEY_1)
392SHIFT_2 = SHIFT_(KEY_2)
393SHIFT_3 = SHIFT_(KEY_3)
394SHIFT_4 = SHIFT_(KEY_4)
395SHIFT_5 = SHIFT_(KEY_5)
396SHIFT_6 = SHIFT_(KEY_6)
397SHIFT_7 = SHIFT_(KEY_7)
398SHIFT_8 = SHIFT_(KEY_8)
399SHIFT_9 = SHIFT_(KEY_9)
400SHIFT_0 = SHIFT_(KEY_0)
401SHIFT_11_MINUS = SHIFT_(KEY_11_MINUS)
402SHIFT_12_PLUS = SHIFT_(KEY_12_PLUS)
403SHIFT_BACKSPACE = SHIFT_(BACKSPACE)
404
405SHIFT_NUMPAD_1 = SHIFT_(NUMPAD_1)
406SHIFT_NUMPAD_2 = SHIFT_(NUMPAD_2)
407SHIFT_NUMPAD_3 = SHIFT_(NUMPAD_3)
408SHIFT_NUMPAD_4 = SHIFT_(NUMPAD_4)
409SHIFT_NUMPAD_5 = SHIFT_(NUMPAD_5)
410SHIFT_NUMPAD_6 = SHIFT_(NUMPAD_6)
411SHIFT_NUMPAD_7 = SHIFT_(NUMPAD_7)
412SHIFT_NUMPAD_8 = SHIFT_(NUMPAD_8)
413SHIFT_NUMPAD_9 = SHIFT_(NUMPAD_9)
414SHIFT_NUMPAD_0 = SHIFT_(NUMPAD_0)
415SHIFT_NUMPAD_11_DIVIDE = SHIFT_(NUMPAD_11_DIVIDE)
416SHIFT_NUMPAD_12_MULTIPLY = SHIFT_(NUMPAD_12_MULTIPLY)
417
418SHIFT_A = SHIFT_(A)
419SHIFT_B = SHIFT_(B)
420SHIFT_C = SHIFT_(C)
421SHIFT_D = SHIFT_(D)
422SHIFT_E = SHIFT_(E)
423SHIFT_F = SHIFT_(F)
424SHIFT_G = SHIFT_(G)
425SHIFT_H = SHIFT_(H)
426SHIFT_I = SHIFT_(I)
427SHIFT_J = SHIFT_(J)
428SHIFT_K = SHIFT_(K)
429SHIFT_L = SHIFT_(L)
430SHIFT_M = SHIFT_(M)
431SHIFT_N = SHIFT_(N)
432SHIFT_O = SHIFT_(O)
433SHIFT_P = SHIFT_(P)
434SHIFT_Q = SHIFT_(Q)
435SHIFT_R = SHIFT_(R)
436SHIFT_S = SHIFT_(S)
437SHIFT_T = SHIFT_(T)
438SHIFT_U = SHIFT_(U)
439SHIFT_V = SHIFT_(V)
440SHIFT_W = SHIFT_(W)
441SHIFT_X = SHIFT_(X)
442SHIFT_Y = SHIFT_(Y)
443SHIFT_Z = SHIFT_(Z)
444
445# ALT
446ALT_TAB = ALT_(TAB)
447
448ALT_F1 = ALT_(F1)
449ALT_F2 = ALT_(F2)
450ALT_F3 = ALT_(F3)
451ALT_F4 = ALT_(F4)
452ALT_F5 = ALT_(F5)
453ALT_F6 = ALT_(F6)
454ALT_F7 = ALT_(F7)
455ALT_F8 = ALT_(F8)
456ALT_F9 = ALT_(F9)
457ALT_F10 = ALT_(F10)
458ALT_F11 = ALT_(F11)
459ALT_F12 = ALT_(F12)
460
461ALT_OEM3_WAVE_OR_BACK_QUOTE = ALT_(OEM3_WAVE_OR_BACK_QUOTE)
462ALT_1 = ALT_(KEY_1)
463ALT_2 = ALT_(KEY_2)
464ALT_3 = ALT_(KEY_3)
465ALT_4 = ALT_(KEY_4)
466ALT_5 = ALT_(KEY_5)
467ALT_6 = ALT_(KEY_6)
468ALT_7 = ALT_(KEY_7)
469ALT_8 = ALT_(KEY_8)
470ALT_9 = ALT_(KEY_9)
471ALT_0 = ALT_(KEY_0)
472ALT_11_MINUS = ALT_(KEY_11_MINUS)
473ALT_12_PLUS = ALT_(KEY_12_PLUS)
474ALT_BACKSPACE = ALT_(BACKSPACE)
475
476ALT_NUMPAD_1 = ALT_(NUMPAD_1)
477ALT_NUMPAD_2 = ALT_(NUMPAD_2)
478ALT_NUMPAD_3 = ALT_(NUMPAD_3)
479ALT_NUMPAD_4 = ALT_(NUMPAD_4)
480ALT_NUMPAD_5 = ALT_(NUMPAD_5)
481ALT_NUMPAD_6 = ALT_(NUMPAD_6)
482ALT_NUMPAD_7 = ALT_(NUMPAD_7)
483ALT_NUMPAD_8 = ALT_(NUMPAD_8)
484ALT_NUMPAD_9 = ALT_(NUMPAD_9)
485ALT_NUMPAD_0 = ALT_(NUMPAD_0)
486ALT_NUMPAD_11_DIVIDE = ALT_(NUMPAD_11_DIVIDE)
487ALT_NUMPAD_12_MULTIPLY = ALT_(NUMPAD_12_MULTIPLY)
488
489ALT_A = ALT_(A)
490ALT_B = ALT_(B)
491ALT_C = ALT_(C)
492ALT_D = ALT_(D)
493ALT_E = ALT_(E)
494ALT_F = ALT_(F)
495ALT_G = ALT_(G)
496ALT_H = ALT_(H)
497ALT_I = ALT_(I)
498ALT_J = ALT_(J)
499ALT_K = ALT_(K)
500ALT_L = ALT_(L)
501ALT_M = ALT_(M)
502ALT_N = ALT_(N)
503ALT_O = ALT_(O)
504ALT_P = ALT_(P)
505ALT_Q = ALT_(Q)
506ALT_R = ALT_(R)
507ALT_S = ALT_(S)
508ALT_T = ALT_(T)
509ALT_U = ALT_(U)
510ALT_V = ALT_(V)
511ALT_W = ALT_(W)
512ALT_X = ALT_(X)
513ALT_Y = ALT_(Y)
514ALT_Z = ALT_(Z)
515
516# CTRL ALT
517CTRL_ALT_F1 = CTRL_ALT_(F1)
518CTRL_ALT_F2 = CTRL_ALT_(F2)
519CTRL_ALT_F3 = CTRL_ALT_(F3)
520CTRL_ALT_F4 = CTRL_ALT_(F4)
521CTRL_ALT_F5 = CTRL_ALT_(F5)
522CTRL_ALT_F6 = CTRL_ALT_(F6)
523CTRL_ALT_F7 = CTRL_ALT_(F7)
524CTRL_ALT_F8 = CTRL_ALT_(F8)
525CTRL_ALT_F9 = CTRL_ALT_(F9)
526CTRL_ALT_F10 = CTRL_ALT_(F10)
527CTRL_ALT_F11 = CTRL_ALT_(F11)
528CTRL_ALT_F12 = CTRL_ALT_(F12)
529
530CTRL_ALT_OEM3_WAVE_OR_BACK_QUOTE = CTRL_ALT_(OEM3_WAVE_OR_BACK_QUOTE)
531CTRL_ALT_1 = CTRL_ALT_(KEY_1)
532CTRL_ALT_2 = CTRL_ALT_(KEY_2)
533CTRL_ALT_3 = CTRL_ALT_(KEY_3)
534CTRL_ALT_4 = CTRL_ALT_(KEY_4)
535CTRL_ALT_5 = CTRL_ALT_(KEY_5)
536CTRL_ALT_6 = CTRL_ALT_(KEY_6)
537CTRL_ALT_7 = CTRL_ALT_(KEY_7)
538CTRL_ALT_8 = CTRL_ALT_(KEY_8)
539CTRL_ALT_9 = CTRL_ALT_(KEY_9)
540CTRL_ALT_0 = CTRL_ALT_(KEY_0)
541CTRL_ALT_11_MINUS = CTRL_ALT_(KEY_11_MINUS)
542CTRL_ALT_12_PLUS = CTRL_ALT_(KEY_12_PLUS)
543CTRL_ALT_BACKSPACE = CTRL_ALT_(BACKSPACE)
544
545CTRL_ALT_NUMPAD_1 = CTRL_ALT_(NUMPAD_1)
546CTRL_ALT_NUMPAD_2 = CTRL_ALT_(NUMPAD_2)
547CTRL_ALT_NUMPAD_3 = CTRL_ALT_(NUMPAD_3)
548CTRL_ALT_NUMPAD_4 = CTRL_ALT_(NUMPAD_4)
549CTRL_ALT_NUMPAD_5 = CTRL_ALT_(NUMPAD_5)
550CTRL_ALT_NUMPAD_6 = CTRL_ALT_(NUMPAD_6)
551CTRL_ALT_NUMPAD_7 = CTRL_ALT_(NUMPAD_7)
552CTRL_ALT_NUMPAD_8 = CTRL_ALT_(NUMPAD_8)
553CTRL_ALT_NUMPAD_9 = CTRL_ALT_(NUMPAD_9)
554CTRL_ALT_NUMPAD_0 = CTRL_ALT_(NUMPAD_0)
555CTRL_ALT_NUMPAD_11_DIVIDE = CTRL_ALT_(NUMPAD_11_DIVIDE)
556CTRL_ALT_NUMPAD_12_MULTIPLY = CTRL_ALT_(NUMPAD_12_MULTIPLY)
557
558CTRL_ALT_A = CTRL_ALT_(A)
559CTRL_ALT_B = CTRL_ALT_(B)
560CTRL_ALT_C = CTRL_ALT_(C)
561CTRL_ALT_D = CTRL_ALT_(D)
562CTRL_ALT_E = CTRL_ALT_(E)
563CTRL_ALT_F = CTRL_ALT_(F)
564CTRL_ALT_G = CTRL_ALT_(G)
565CTRL_ALT_H = CTRL_ALT_(H)
566CTRL_ALT_I = CTRL_ALT_(I)
567CTRL_ALT_J = CTRL_ALT_(J)
568CTRL_ALT_K = CTRL_ALT_(K)
569CTRL_ALT_L = CTRL_ALT_(L)
570CTRL_ALT_M = CTRL_ALT_(M)
571CTRL_ALT_N = CTRL_ALT_(N)
572CTRL_ALT_O = CTRL_ALT_(O)
573CTRL_ALT_P = CTRL_ALT_(P)
574CTRL_ALT_Q = CTRL_ALT_(Q)
575CTRL_ALT_R = CTRL_ALT_(R)
576CTRL_ALT_S = CTRL_ALT_(S)
577CTRL_ALT_T = CTRL_ALT_(T)
578CTRL_ALT_U = CTRL_ALT_(U)
579CTRL_ALT_V = CTRL_ALT_(V)
580CTRL_ALT_W = CTRL_ALT_(W)
581CTRL_ALT_X = CTRL_ALT_(X)
582CTRL_ALT_Y = CTRL_ALT_(Y)
583CTRL_ALT_Z = CTRL_ALT_(Z)
584
585# CTRL SHIFT
586CTRL_SHIFT_F1 = CTRL_SHIFT_(F1)
587CTRL_SHIFT_F2 = CTRL_SHIFT_(F2)
588CTRL_SHIFT_F3 = CTRL_SHIFT_(F3)
589CTRL_SHIFT_F4 = CTRL_SHIFT_(F4)
590CTRL_SHIFT_F5 = CTRL_SHIFT_(F5)
591CTRL_SHIFT_F6 = CTRL_SHIFT_(F6)
592CTRL_SHIFT_F7 = CTRL_SHIFT_(F7)
593CTRL_SHIFT_F8 = CTRL_SHIFT_(F8)
594CTRL_SHIFT_F9 = CTRL_SHIFT_(F9)
595CTRL_SHIFT_F10 = CTRL_SHIFT_(F10)
596CTRL_SHIFT_F11 = CTRL_SHIFT_(F11)
597CTRL_SHIFT_F12 = CTRL_SHIFT_(F12)
598
599CTRL_SHIFT_OEM3_WAVE_OR_BACK_QUOTE = CTRL_SHIFT_(OEM3_WAVE_OR_BACK_QUOTE)
600CTRL_SHIFT_1 = CTRL_SHIFT_(KEY_1)
601CTRL_SHIFT_2 = CTRL_SHIFT_(KEY_2)
602CTRL_SHIFT_3 = CTRL_SHIFT_(KEY_3)
603CTRL_SHIFT_4 = CTRL_SHIFT_(KEY_4)
604CTRL_SHIFT_5 = CTRL_SHIFT_(KEY_5)
605CTRL_SHIFT_6 = CTRL_SHIFT_(KEY_6)
606CTRL_SHIFT_7 = CTRL_SHIFT_(KEY_7)
607CTRL_SHIFT_8 = CTRL_SHIFT_(KEY_8)
608CTRL_SHIFT_9 = CTRL_SHIFT_(KEY_9)
609CTRL_SHIFT_0 = CTRL_SHIFT_(KEY_0)
610CTRL_SHIFT_11_MINUS = CTRL_SHIFT_(KEY_11_MINUS)
611CTRL_SHIFT_12_PLUS = CTRL_SHIFT_(KEY_12_PLUS)
612CTRL_SHIFT_BACKSPACE = CTRL_SHIFT_(BACKSPACE)
613
614CTRL_SHIFT_NUMPAD_1 = CTRL_SHIFT_(NUMPAD_1)
615CTRL_SHIFT_NUMPAD_2 = CTRL_SHIFT_(NUMPAD_2)
616CTRL_SHIFT_NUMPAD_3 = CTRL_SHIFT_(NUMPAD_3)
617CTRL_SHIFT_NUMPAD_4 = CTRL_SHIFT_(NUMPAD_4)
618CTRL_SHIFT_NUMPAD_5 = CTRL_SHIFT_(NUMPAD_5)
619CTRL_SHIFT_NUMPAD_6 = CTRL_SHIFT_(NUMPAD_6)
620CTRL_SHIFT_NUMPAD_7 = CTRL_SHIFT_(NUMPAD_7)
621CTRL_SHIFT_NUMPAD_8 = CTRL_SHIFT_(NUMPAD_8)
622CTRL_SHIFT_NUMPAD_9 = CTRL_SHIFT_(NUMPAD_9)
623CTRL_SHIFT_NUMPAD_0 = CTRL_SHIFT_(NUMPAD_0)
624CTRL_SHIFT_NUMPAD_11_DIVIDE = CTRL_SHIFT_(NUMPAD_11_DIVIDE)
625CTRL_SHIFT_NUMPAD_12_MULTIPLY = CTRL_SHIFT_(NUMPAD_12_MULTIPLY)
626
627CTRL_SHIFT_A = CTRL_SHIFT_(A)
628CTRL_SHIFT_B = CTRL_SHIFT_(B)
629CTRL_SHIFT_C = CTRL_SHIFT_(C)
630CTRL_SHIFT_D = CTRL_SHIFT_(D)
631CTRL_SHIFT_E = CTRL_SHIFT_(E)
632CTRL_SHIFT_F = CTRL_SHIFT_(F)
633CTRL_SHIFT_G = CTRL_SHIFT_(G)
634CTRL_SHIFT_H = CTRL_SHIFT_(H)
635CTRL_SHIFT_I = CTRL_SHIFT_(I)
636CTRL_SHIFT_J = CTRL_SHIFT_(J)
637CTRL_SHIFT_K = CTRL_SHIFT_(K)
638CTRL_SHIFT_L = CTRL_SHIFT_(L)
639CTRL_SHIFT_M = CTRL_SHIFT_(M)
640CTRL_SHIFT_N = CTRL_SHIFT_(N)
641CTRL_SHIFT_O = CTRL_SHIFT_(O)
642CTRL_SHIFT_P = CTRL_SHIFT_(P)
643CTRL_SHIFT_Q = CTRL_SHIFT_(Q)
644CTRL_SHIFT_R = CTRL_SHIFT_(R)
645CTRL_SHIFT_S = CTRL_SHIFT_(S)
646CTRL_SHIFT_T = CTRL_SHIFT_(T)
647CTRL_SHIFT_U = CTRL_SHIFT_(U)
648CTRL_SHIFT_V = CTRL_SHIFT_(V)
649CTRL_SHIFT_W = CTRL_SHIFT_(W)
650CTRL_SHIFT_X = CTRL_SHIFT_(X)
651CTRL_SHIFT_Y = CTRL_SHIFT_(Y)
652CTRL_SHIFT_Z = CTRL_SHIFT_(Z)
653
654# ALT SHIFT
655ALT_SHIFT_F1 = ALT_SHIFT_(F1)
656ALT_SHIFT_F2 = ALT_SHIFT_(F2)
657ALT_SHIFT_F3 = ALT_SHIFT_(F3)
658ALT_SHIFT_F4 = ALT_SHIFT_(F4)
659ALT_SHIFT_F5 = ALT_SHIFT_(F5)
660ALT_SHIFT_F6 = ALT_SHIFT_(F6)
661ALT_SHIFT_F7 = ALT_SHIFT_(F7)
662ALT_SHIFT_F8 = ALT_SHIFT_(F8)
663ALT_SHIFT_F9 = ALT_SHIFT_(F9)
664ALT_SHIFT_F10 = ALT_SHIFT_(F10)
665ALT_SHIFT_F11 = ALT_SHIFT_(F11)
666ALT_SHIFT_F12 = ALT_SHIFT_(F12)
667
668ALT_SHIFT_OEM3_WAVE_OR_BACK_QUOTE = ALT_SHIFT_(OEM3_WAVE_OR_BACK_QUOTE)
669ALT_SHIFT_1 = ALT_SHIFT_(KEY_1)
670ALT_SHIFT_2 = ALT_SHIFT_(KEY_2)
671ALT_SHIFT_3 = ALT_SHIFT_(KEY_3)
672ALT_SHIFT_4 = ALT_SHIFT_(KEY_4)
673ALT_SHIFT_5 = ALT_SHIFT_(KEY_5)
674ALT_SHIFT_6 = ALT_SHIFT_(KEY_6)
675ALT_SHIFT_7 = ALT_SHIFT_(KEY_7)
676ALT_SHIFT_8 = ALT_SHIFT_(KEY_8)
677ALT_SHIFT_9 = ALT_SHIFT_(KEY_9)
678ALT_SHIFT_0 = ALT_SHIFT_(KEY_0)
679ALT_SHIFT_11_MINUS = ALT_SHIFT_(KEY_11_MINUS)
680ALT_SHIFT_12_PLUS = ALT_SHIFT_(KEY_12_PLUS)
681ALT_SHIFT_BACKSPACE = ALT_SHIFT_(BACKSPACE)
682
683ALT_SHIFT_NUMPAD_1 = ALT_SHIFT_(NUMPAD_1)
684ALT_SHIFT_NUMPAD_2 = ALT_SHIFT_(NUMPAD_2)
685ALT_SHIFT_NUMPAD_3 = ALT_SHIFT_(NUMPAD_3)
686ALT_SHIFT_NUMPAD_4 = ALT_SHIFT_(NUMPAD_4)
687ALT_SHIFT_NUMPAD_5 = ALT_SHIFT_(NUMPAD_5)
688ALT_SHIFT_NUMPAD_6 = ALT_SHIFT_(NUMPAD_6)
689ALT_SHIFT_NUMPAD_7 = ALT_SHIFT_(NUMPAD_7)
690ALT_SHIFT_NUMPAD_8 = ALT_SHIFT_(NUMPAD_8)
691ALT_SHIFT_NUMPAD_9 = ALT_SHIFT_(NUMPAD_9)
692ALT_SHIFT_NUMPAD_0 = ALT_SHIFT_(NUMPAD_0)
693ALT_SHIFT_NUMPAD_11_DIVIDE = ALT_SHIFT_(NUMPAD_11_DIVIDE)
694ALT_SHIFT_NUMPAD_12_MULTIPLY = ALT_SHIFT_(NUMPAD_12_MULTIPLY)
695
696ALT_SHIFT_A = ALT_SHIFT_(A)
697ALT_SHIFT_B = ALT_SHIFT_(B)
698ALT_SHIFT_C = ALT_SHIFT_(C)
699ALT_SHIFT_D = ALT_SHIFT_(D)
700ALT_SHIFT_E = ALT_SHIFT_(E)
701ALT_SHIFT_F = ALT_SHIFT_(F)
702ALT_SHIFT_G = ALT_SHIFT_(G)
703ALT_SHIFT_H = ALT_SHIFT_(H)
704ALT_SHIFT_I = ALT_SHIFT_(I)
705ALT_SHIFT_J = ALT_SHIFT_(J)
706ALT_SHIFT_K = ALT_SHIFT_(K)
707ALT_SHIFT_L = ALT_SHIFT_(L)
708ALT_SHIFT_M = ALT_SHIFT_(M)
709ALT_SHIFT_N = ALT_SHIFT_(N)
710ALT_SHIFT_O = ALT_SHIFT_(O)
711ALT_SHIFT_P = ALT_SHIFT_(P)
712ALT_SHIFT_Q = ALT_SHIFT_(Q)
713ALT_SHIFT_R = ALT_SHIFT_(R)
714ALT_SHIFT_S = ALT_SHIFT_(S)
715ALT_SHIFT_T = ALT_SHIFT_(T)
716ALT_SHIFT_U = ALT_SHIFT_(U)
717ALT_SHIFT_V = ALT_SHIFT_(V)
718ALT_SHIFT_W = ALT_SHIFT_(W)
719ALT_SHIFT_X = ALT_SHIFT_(X)
720ALT_SHIFT_Y = ALT_SHIFT_(Y)
721ALT_SHIFT_Z = ALT_SHIFT_(Z)
722
723# CTRL SHIFT ALT
724CTRL_SHIFT_ALT_F1 = CTRL_SHIFT_ALT(F1)
725CTRL_SHIFT_ALT_F2 = CTRL_SHIFT_ALT(F2)
726CTRL_SHIFT_ALT_F3 = CTRL_SHIFT_ALT(F3)
727CTRL_SHIFT_ALT_F4 = CTRL_SHIFT_ALT(F4)
728CTRL_SHIFT_ALT_F5 = CTRL_SHIFT_ALT(F5)
729CTRL_SHIFT_ALT_F6 = CTRL_SHIFT_ALT(F6)
730CTRL_SHIFT_ALT_F7 = CTRL_SHIFT_ALT(F7)
731CTRL_SHIFT_ALT_F8 = CTRL_SHIFT_ALT(F8)
732CTRL_SHIFT_ALT_F9 = CTRL_SHIFT_ALT(F9)
733CTRL_SHIFT_ALT_F10 = CTRL_SHIFT_ALT(F10)
734CTRL_SHIFT_ALT_F11 = CTRL_SHIFT_ALT(F11)
735CTRL_SHIFT_ALT_F12 = CTRL_SHIFT_ALT(F12)
736
737CTRL_SHIFT_ALT_OEM3_WAVE_OR_BACK_QUOTE = CTRL_SHIFT_ALT(OEM3_WAVE_OR_BACK_QUOTE)
738CTRL_SHIFT_ALT_1 = CTRL_SHIFT_ALT(KEY_1)
739CTRL_SHIFT_ALT_2 = CTRL_SHIFT_ALT(KEY_2)
740CTRL_SHIFT_ALT_3 = CTRL_SHIFT_ALT(KEY_3)
741CTRL_SHIFT_ALT_4 = CTRL_SHIFT_ALT(KEY_4)
742CTRL_SHIFT_ALT_5 = CTRL_SHIFT_ALT(KEY_5)
743CTRL_SHIFT_ALT_6 = CTRL_SHIFT_ALT(KEY_6)
744CTRL_SHIFT_ALT_7 = CTRL_SHIFT_ALT(KEY_7)
745CTRL_SHIFT_ALT_8 = CTRL_SHIFT_ALT(KEY_8)
746CTRL_SHIFT_ALT_9 = CTRL_SHIFT_ALT(KEY_9)
747CTRL_SHIFT_ALT_0 = CTRL_SHIFT_ALT(KEY_0)
748CTRL_SHIFT_ALT_11_MINUS = CTRL_SHIFT_ALT(KEY_11_MINUS)
749CTRL_SHIFT_ALT_12_PLUS = CTRL_SHIFT_ALT(KEY_12_PLUS)
750CTRL_SHIFT_ALT_BACKSPACE = CTRL_SHIFT_ALT(BACKSPACE)
751
752CTRL_SHIFT_ALT_NUMPAD_1 = CTRL_SHIFT_ALT(NUMPAD_1)
753CTRL_SHIFT_ALT_NUMPAD_2 = CTRL_SHIFT_ALT(NUMPAD_2)
754CTRL_SHIFT_ALT_NUMPAD_3 = CTRL_SHIFT_ALT(NUMPAD_3)
755CTRL_SHIFT_ALT_NUMPAD_4 = CTRL_SHIFT_ALT(NUMPAD_4)
756CTRL_SHIFT_ALT_NUMPAD_5 = CTRL_SHIFT_ALT(NUMPAD_5)
757CTRL_SHIFT_ALT_NUMPAD_6 = CTRL_SHIFT_ALT(NUMPAD_6)
758CTRL_SHIFT_ALT_NUMPAD_7 = CTRL_SHIFT_ALT(NUMPAD_7)
759CTRL_SHIFT_ALT_NUMPAD_8 = CTRL_SHIFT_ALT(NUMPAD_8)
760CTRL_SHIFT_ALT_NUMPAD_9 = CTRL_SHIFT_ALT(NUMPAD_9)
761CTRL_SHIFT_ALT_NUMPAD_0 = CTRL_SHIFT_ALT(NUMPAD_0)
762CTRL_SHIFT_ALT_NUMPAD_11_DIVIDE = CTRL_SHIFT_ALT(NUMPAD_11_DIVIDE)
763CTRL_SHIFT_ALT_NUMPAD_12_MULTIPLY = CTRL_SHIFT_ALT(NUMPAD_12_MULTIPLY)
764
765CTRL_SHIFT_ALT_A = CTRL_SHIFT_ALT(A)
766CTRL_SHIFT_ALT_B = CTRL_SHIFT_ALT(B)
767CTRL_SHIFT_ALT_C = CTRL_SHIFT_ALT(C)
768CTRL_SHIFT_ALT_D = CTRL_SHIFT_ALT(D)
769CTRL_SHIFT_ALT_E = CTRL_SHIFT_ALT(E)
770CTRL_SHIFT_ALT_F = CTRL_SHIFT_ALT(F)
771CTRL_SHIFT_ALT_G = CTRL_SHIFT_ALT(G)
772CTRL_SHIFT_ALT_H = CTRL_SHIFT_ALT(H)
773CTRL_SHIFT_ALT_I = CTRL_SHIFT_ALT(I)
774CTRL_SHIFT_ALT_J = CTRL_SHIFT_ALT(J)
775CTRL_SHIFT_ALT_K = CTRL_SHIFT_ALT(K)
776CTRL_SHIFT_ALT_L = CTRL_SHIFT_ALT(L)
777CTRL_SHIFT_ALT_M = CTRL_SHIFT_ALT(M)
778CTRL_SHIFT_ALT_N = CTRL_SHIFT_ALT(N)
779CTRL_SHIFT_ALT_O = CTRL_SHIFT_ALT(O)
780CTRL_SHIFT_ALT_P = CTRL_SHIFT_ALT(P)
781CTRL_SHIFT_ALT_Q = CTRL_SHIFT_ALT(Q)
782CTRL_SHIFT_ALT_R = CTRL_SHIFT_ALT(R)
783CTRL_SHIFT_ALT_S = CTRL_SHIFT_ALT(S)
784CTRL_SHIFT_ALT_T = CTRL_SHIFT_ALT(T)
785CTRL_SHIFT_ALT_U = CTRL_SHIFT_ALT(U)
786CTRL_SHIFT_ALT_V = CTRL_SHIFT_ALT(V)
787CTRL_SHIFT_ALT_W = CTRL_SHIFT_ALT(W)
788CTRL_SHIFT_ALT_X = CTRL_SHIFT_ALT(X)
789CTRL_SHIFT_ALT_Y = CTRL_SHIFT_ALT(Y)
790CTRL_SHIFT_ALT_Z = CTRL_SHIFT_ALT(Z)
所有的 CANNED key enum 列表
  1# -*- coding: utf-8 -*-
  2
  3"""
  4Similar to :mod:`hotkeynet.keyname`. However, everything in this module is
  5:mod:`hotkeynet.maker` factory object. Everything in this module should be called
  6to use.
  7
  8Example:
  9
 10    >>> from hotkeynet import canned
 11    >>> canned.KEY_1()
 12    >>> canned.CTRL_(canned.KEY_1)()
 13"""
 14
 15import typing as _T
 16from . import keyname as _KN
 17from .maker import (
 18    KeyMaker as _KeyMaker,
 19    ClickMaker as _ClickMaker,
 20    ModifiedClickMaker as _ModifiedClickMaker,
 21)
 22
 23ESC = _KeyMaker(_KN.ESC)
 24TRIGGER = _KeyMaker(_KN.TRIGGER)
 25
 26# ------------------------------------------------------------------------------
 27# F1 - F12
 28# ------------------------------------------------------------------------------
 29F1 = _KeyMaker(_KN.F1)
 30F2 = _KeyMaker(_KN.F2)
 31F3 = _KeyMaker(_KN.F3)
 32F4 = _KeyMaker(_KN.F4)
 33F5 = _KeyMaker(_KN.F5)
 34F6 = _KeyMaker(_KN.F6)
 35F7 = _KeyMaker(_KN.F7)
 36F8 = _KeyMaker(_KN.F8)
 37F9 = _KeyMaker(_KN.F9)
 38F10 = _KeyMaker(_KN.F10)
 39F11 = _KeyMaker(_KN.F11)
 40F12 = _KeyMaker(_KN.F12)
 41
 42# ------------------------------------------------------------------------------
 43# Main number keys
 44# ------------------------------------------------------------------------------
 45OEM3_WAVE_OR_BACK_QUOTE = _KeyMaker(_KN.OEM3_WAVE_OR_BACK_QUOTE)  # ~
 46KEY_1 = _KeyMaker(_KN.KEY_1)
 47KEY_2 = _KeyMaker(_KN.KEY_2)
 48KEY_3 = _KeyMaker(_KN.KEY_3)
 49KEY_4 = _KeyMaker(_KN.KEY_4)
 50KEY_5 = _KeyMaker(_KN.KEY_5)
 51KEY_6 = _KeyMaker(_KN.KEY_6)
 52KEY_7 = _KeyMaker(_KN.KEY_7)
 53KEY_8 = _KeyMaker(_KN.KEY_8)
 54KEY_9 = _KeyMaker(_KN.KEY_9)
 55KEY_0 = _KeyMaker(_KN.KEY_0)
 56KEY_11_MINUS = _KeyMaker(_KN.KEY_11_MINUS)
 57KEY_12_PLUS = _KeyMaker(_KN.KEY_12_PLUS)
 58BACKSPACE = _KeyMaker(_KN.BACKSPACE)
 59
 60# ------------------------------------------------------------------------------
 61# Modifier keys
 62# ------------------------------------------------------------------------------
 63TAB = _KeyMaker(_KN.TAB)
 64CAPS_LOCK = _KeyMaker(_KN.CAPS_LOCK)
 65SHIFT = _KeyMaker(_KN.SHIFT)
 66CTRL = _KeyMaker(_KN.CTRL)
 67ALT = _KeyMaker(_KN.ALT)
 68
 69LSHIFT = _KeyMaker(_KN.LSHIFT)
 70RSHIFT = _KeyMaker(_KN.RSHIFT)
 71LCTRL = _KeyMaker(_KN.LCTRL)
 72RCTRL = _KeyMaker(_KN.RCTRL)
 73LALT = _KeyMaker(_KN.LALT)
 74RALT = _KeyMaker(_KN.RALT)
 75
 76SPACE = _KeyMaker(_KN.SPACE)
 77
 78LWIN = _KeyMaker(_KN.LWIN)
 79RWIN = _KeyMaker(_KN.RWIN)
 80
 81# ------------------------------------------------------------------------------
 82# Alphabet keys
 83# ------------------------------------------------------------------------------
 84A = _KeyMaker(_KN.A)
 85B = _KeyMaker(_KN.B)
 86C = _KeyMaker(_KN.C)
 87D = _KeyMaker(_KN.D)
 88E = _KeyMaker(_KN.E)
 89F = _KeyMaker(_KN.F)
 90G = _KeyMaker(_KN.G)
 91H = _KeyMaker(_KN.H)
 92I = _KeyMaker(_KN.I)
 93J = _KeyMaker(_KN.J)
 94K = _KeyMaker(_KN.K)
 95L = _KeyMaker(_KN.L)
 96M = _KeyMaker(_KN.M)
 97N = _KeyMaker(_KN.N)
 98O = _KeyMaker(_KN.O)
 99P = _KeyMaker(_KN.P)
100Q = _KeyMaker(_KN.Q)
101R = _KeyMaker(_KN.R)
102S = _KeyMaker(_KN.S)
103T = _KeyMaker(_KN.T)
104U = _KeyMaker(_KN.U)
105V = _KeyMaker(_KN.V)
106W = _KeyMaker(_KN.W)
107X = _KeyMaker(_KN.X)
108Y = _KeyMaker(_KN.Y)
109Z = _KeyMaker(_KN.Z)
110
111# ------------------------------------------------------------------------------
112# Special characters
113# ------------------------------------------------------------------------------
114OEM4_SQUARE_BRACKET_LEFT = _KeyMaker(_KN.OEM4_SQUARE_BRACKET_LEFT)  # (
115OEM6_SQUARE_BRACKET_RIGHT = _KeyMaker(_KN.OEM6_SQUARE_BRACKET_RIGHT)  # )
116OEM5_PIPE_OR_BACK_SLASH = _KeyMaker(_KN.OEM5_PIPE_OR_BACK_SLASH)  # /
117OEM1_SEMICOLUMN = _KeyMaker(_KN.OEM1_SEMICOLUMN)  # :
118OEM7_QUOTE = _KeyMaker(_KN.OEM7_QUOTE)  # "
119COMMA = _KeyMaker(_KN.COMMA)  # ,
120PERIOD = _KeyMaker(_KN.PERIOD)  # .
121OEM2_QUESTION = _KeyMaker(_KN.OEM2_QUESTION)  # ? Key
122ENTER = _KeyMaker(_KN.ENTER)
123
124# ------------------------------------------------------------------------------
125# Arrow keys
126# ------------------------------------------------------------------------------
127INSERT = _KeyMaker(_KN.INSERT)
128HOME = _KeyMaker(_KN.HOME)
129PAGE_UP = _KeyMaker(_KN.PAGE_UP)
130DELETE = _KeyMaker(_KN.DELETE)
131END = _KeyMaker(_KN.END)
132PAGE_DOWN = _KeyMaker(_KN.PAGE_DOWN)
133LEFT = _KeyMaker(_KN.LEFT)
134UP = _KeyMaker(_KN.UP)
135RIGHT = _KeyMaker(_KN.RIGHT)
136DOWN = _KeyMaker(_KN.DOWN)
137
138# ------------------------------------------------------------------------------
139# Numpad keys
140# ------------------------------------------------------------------------------
141SCROLL_LOCK = _KeyMaker(_KN.SCROLL_LOCK)
142
143NUMPAD_1 = _KeyMaker(_KN.NUMPAD_1)
144NUMPAD_2 = _KeyMaker(_KN.NUMPAD_2)
145NUMPAD_3 = _KeyMaker(_KN.NUMPAD_3)
146NUMPAD_4 = _KeyMaker(_KN.NUMPAD_4)
147NUMPAD_5 = _KeyMaker(_KN.NUMPAD_5)
148NUMPAD_6 = _KeyMaker(_KN.NUMPAD_6)
149NUMPAD_7 = _KeyMaker(_KN.NUMPAD_7)
150NUMPAD_8 = _KeyMaker(_KN.NUMPAD_8)
151NUMPAD_9 = _KeyMaker(_KN.NUMPAD_9)
152NUMPAD_0 = _KeyMaker(_KN.NUMPAD_0)
153NUMPAD_11_DIVIDE = _KeyMaker(_KN.NUMPAD_11_DIVIDE)
154NUMPAD_12_MULTIPLY = _KeyMaker(_KN.NUMPAD_12_MULTIPLY)
155
156NUMPAD_MINUS = _KeyMaker(_KN.NUMPAD_MINUS)
157NUMPAD_PLUS = _KeyMaker(_KN.NUMPAD_PLUS)
158NUMPAD_ENTER = _KeyMaker(_KN.NUMPAD_ENTER)
159NUMPAD_DELETE = _KeyMaker(_KN.NUMPAD_DELETE)
160
161NUMPAD_SHIFT_1_END = _KeyMaker(_KN.NUMPAD_SHIFT_1_END)
162NUMPAD_SHIFT_2_DOWN = _KeyMaker(_KN.NUMPAD_SHIFT_2_DOWN)
163NUMPAD_SHIFT_3_PAGE_DOWN = _KeyMaker(_KN.NUMPAD_SHIFT_3_PAGE_DOWN)
164NUMPAD_SHIFT_4_LEFT = _KeyMaker(_KN.NUMPAD_SHIFT_4_LEFT)
165NUMPAD_SHIFT_5_CLEAR = _KeyMaker(_KN.NUMPAD_SHIFT_5_CLEAR)
166NUMPAD_SHIFT_6_RIGHT = _KeyMaker(_KN.NUMPAD_SHIFT_6_RIGHT)
167NUMPAD_SHIFT_7_HOME = _KeyMaker(_KN.NUMPAD_SHIFT_7_HOME)
168NUMPAD_SHIFT_8_UP = _KeyMaker(_KN.NUMPAD_SHIFT_8_UP)
169NUMPAD_SHIFT_9_PAGE_UP = _KeyMaker(_KN.NUMPAD_SHIFT_9_PAGE_UP)
170
171UNKNOWN = _KeyMaker(_KN.UNKNOWN)
172
173# ------------------------------------------------------------------------------
174# Mouse buttons
175# ------------------------------------------------------------------------------
176MOUSE_LButton = _ClickMaker(_KN.MOUSE_LButton)
177MOUSE_RButton = _ClickMaker(_KN.MOUSE_RButton)
178MOUSE_MButton = _ClickMaker(_KN.MOUSE_MButton)
179MOUSE_Button4 = _ClickMaker(_KN.MOUSE_Button4)
180MOUSE_Button5 = _ClickMaker(_KN.MOUSE_Button5)
181
182LEFT_CLICK = MOUSE_LButton
183RIGHT_CLICK = MOUSE_RButton
184MIDDLE_CLICK = MOUSE_MButton
185
186SHIFT_LEFT_CLICK = _ModifiedClickMaker(_KN.MOUSE_LButton, _KN.SHIFT)
187SHIFT_RIGHT_CLICK = _ModifiedClickMaker(_KN.MOUSE_RButton, _KN.SHIFT)
188SHIFT_MIDDLE_CLICK = _ModifiedClickMaker(_KN.MOUSE_MButton, _KN.SHIFT)
189ALT_LEFT_CLICK = _ModifiedClickMaker(_KN.MOUSE_LButton, _KN.ALT)
190ALT_RIGHT_CLICK = _ModifiedClickMaker(_KN.MOUSE_RButton, _KN.ALT)
191ALT_MIDDLE_CLICK = _ModifiedClickMaker(_KN.MOUSE_MButton, _KN.ALT)
192CTRL_LEFT_CLICK = _ModifiedClickMaker(_KN.MOUSE_LButton, _KN.CTRL)
193CTRL_RIGHT_CLICK = _ModifiedClickMaker(_KN.MOUSE_RButton, _KN.CTRL)
194CTRL_MIDDLE_CLICK = _ModifiedClickMaker(_KN.MOUSE_MButton, _KN.CTRL)
195
196# ------------------------------------------------------------------------------
197# Key collections
198# ------------------------------------------------------------------------------
199F1_to_F12 = [
200    F1,
201    F2,
202    F3,
203    F4,
204    F5,
205    F6,
206    F7,
207    F8,
208    F9,
209    F10,
210    F11,
211    F12,
212]
213
214INSERT_TO_PGDN = [
215    INSERT,
216    HOME,
217    PAGE_UP,
218    DELETE,
219    END,
220    PAGE_DOWN,
221]
222
223KEY_1_to_12 = [
224    KEY_1,
225    KEY_2,
226    KEY_3,
227    KEY_4,
228    KEY_5,
229    KEY_6,
230    KEY_7,
231    KEY_8,
232    KEY_9,
233    KEY_0,
234    KEY_11_MINUS,
235    KEY_12_PLUS,
236]
237
238NUMPAD_1_to_12 = [
239    NUMPAD_1,
240    NUMPAD_2,
241    NUMPAD_3,
242    NUMPAD_4,
243    NUMPAD_5,
244    NUMPAD_6,
245    NUMPAD_7,
246    NUMPAD_8,
247    NUMPAD_9,
248    NUMPAD_0,
249    NUMPAD_11_DIVIDE,
250    NUMPAD_12_MULTIPLY,
251]
252
253
254# ------------------------------------------------------------------------------
255# One modifier compound keys
256# ------------------------------------------------------------------------------
257def _resolve_key_liked_arg(key: _T.Union[str, _KeyMaker]) -> str:
258    if isinstance(key, _KeyMaker):
259        return key.key
260    elif isinstance(key, str):
261        return key
262    else:  # pragma: no cover
263        raise TypeError("key must be a str or a KeyMaker instance")
264
265
266def _key_with_modifier(mod: str, *keys: _T.Union[str, _KeyMaker]) -> _KeyMaker:
267    return _KeyMaker(
268        "{} {}".format(mod, ", ".join([_resolve_key_liked_arg(k) for k in keys]))
269    )
270
271
272def CTRL_(*keys: _T.Union[str, _KeyMaker]) -> _KeyMaker:
273    return _key_with_modifier(_KN.CTRL, *keys)
274
275
276def SHIFT_(*keys: _T.Union[str, _KeyMaker]) -> _KeyMaker:  # pragma: no cover
277    return _key_with_modifier(_KN.SHIFT, *keys)
278
279
280def ALT_(*keys: _T.Union[str, _KeyMaker]) -> _KeyMaker:  # pragma: no cover
281    return _key_with_modifier(_KN.ALT, *keys)
282
283
284# ------------------------------------------------------------------------------
285# Two modifier compound keys
286# ------------------------------------------------------------------------------
287def CTRL_ALT_(*keys: _T.Union[str, _KeyMaker]) -> _KeyMaker:
288    return _key_with_modifier(f"{_KN.CTRL} {_KN.ALT}", *keys)
289
290
291def CTRL_SHIFT_(*keys: _T.Union[str, _KeyMaker]) -> _KeyMaker:  # pragma: no cover
292    return _key_with_modifier(f"{_KN.CTRL} {_KN.SHIFT}", *keys)
293
294
295def ALT_SHIFT_(*keys: _T.Union[str, _KeyMaker]) -> _KeyMaker:  # pragma: no cover
296    return _key_with_modifier(f"{_KN.ALT} {_KN.SHIFT}", *keys)
297
298
299# ------------------------------------------------------------------------------
300# Three modifier compound keys
301# ------------------------------------------------------------------------------
302def CTRL_SHIFT_ALT_(*keys: _T.Union[str, _KeyMaker]) -> _KeyMaker:
303    return _key_with_modifier(f"{_KN.CTRL} {_KN.SHIFT} {_KN.ALT}", *keys)
304
305
306# ------------------------------------------------------------------------------
307# Special modifier compound keys
308# ------------------------------------------------------------------------------
309def LWIN_(*keys: _T.Union[str, _KeyMaker]) -> _KeyMaker:
310    """
311    Left windows + any key
312    """
313    return _key_with_modifier(_KN.LWIN, *keys)
314
315
316def RWIN_(*keys: _T.Union[str, _KeyMaker]) -> _KeyMaker:
317    """
318    Right windows + any key
319    """
320    return _key_with_modifier(_KN.RWIN, *keys)
321
322
323# ------------------------------------------------------------------------------
324# regular key with modifier
325# ------------------------------------------------------------------------------
326# CTRL
327CTRL_TAB = CTRL_(_KN.TAB)
328
329CTRL_F1 = CTRL_(_KN.F1)
330CTRL_F2 = CTRL_(_KN.F2)
331CTRL_F3 = CTRL_(_KN.F3)
332CTRL_F4 = CTRL_(_KN.F4)
333CTRL_F5 = CTRL_(_KN.F5)
334CTRL_F6 = CTRL_(_KN.F6)
335CTRL_F7 = CTRL_(_KN.F7)
336CTRL_F8 = CTRL_(_KN.F8)
337CTRL_F9 = CTRL_(_KN.F9)
338CTRL_F10 = CTRL_(_KN.F10)
339CTRL_F11 = CTRL_(_KN.F11)
340CTRL_F12 = CTRL_(_KN.F12)
341
342CTRL_OEM3_WAVE_OR_BACK_QUOTE = CTRL_(_KN.OEM3_WAVE_OR_BACK_QUOTE)
343CTRL_1 = CTRL_(_KN.KEY_1)
344CTRL_2 = CTRL_(_KN.KEY_2)
345CTRL_3 = CTRL_(_KN.KEY_3)
346CTRL_4 = CTRL_(_KN.KEY_4)
347CTRL_5 = CTRL_(_KN.KEY_5)
348CTRL_6 = CTRL_(_KN.KEY_6)
349CTRL_7 = CTRL_(_KN.KEY_7)
350CTRL_8 = CTRL_(_KN.KEY_8)
351CTRL_9 = CTRL_(_KN.KEY_9)
352CTRL_0 = CTRL_(_KN.KEY_0)
353CTRL_11_MINUS = CTRL_(_KN.KEY_11_MINUS)
354CTRL_12_PLUS = CTRL_(_KN.KEY_12_PLUS)
355CTRL_BACKSPACE = CTRL_(_KN.BACKSPACE)
356
357CTRL_NUMPAD_1 = CTRL_(_KN.NUMPAD_1)
358CTRL_NUMPAD_2 = CTRL_(_KN.NUMPAD_2)
359CTRL_NUMPAD_3 = CTRL_(_KN.NUMPAD_3)
360CTRL_NUMPAD_4 = CTRL_(_KN.NUMPAD_4)
361CTRL_NUMPAD_5 = CTRL_(_KN.NUMPAD_5)
362CTRL_NUMPAD_6 = CTRL_(_KN.NUMPAD_6)
363CTRL_NUMPAD_7 = CTRL_(_KN.NUMPAD_7)
364CTRL_NUMPAD_8 = CTRL_(_KN.NUMPAD_8)
365CTRL_NUMPAD_9 = CTRL_(_KN.NUMPAD_9)
366CTRL_NUMPAD_0 = CTRL_(_KN.NUMPAD_0)
367CTRL_NUMPAD_11_DIVIDE = CTRL_(_KN.NUMPAD_11_DIVIDE)
368CTRL_NUMPAD_12_MULTIPLY = CTRL_(_KN.NUMPAD_12_MULTIPLY)
369
370CTRL_A = CTRL_(_KN.A)
371CTRL_B = CTRL_(_KN.B)
372CTRL_C = CTRL_(_KN.C)
373CTRL_D = CTRL_(_KN.D)
374CTRL_E = CTRL_(_KN.E)
375CTRL_F = CTRL_(_KN.F)
376CTRL_G = CTRL_(_KN.G)
377CTRL_H = CTRL_(_KN.H)
378CTRL_I = CTRL_(_KN.I)
379CTRL_J = CTRL_(_KN.J)
380CTRL_K = CTRL_(_KN.K)
381CTRL_L = CTRL_(_KN.L)
382CTRL_M = CTRL_(_KN.M)
383CTRL_N = CTRL_(_KN.N)
384CTRL_O = CTRL_(_KN.O)
385CTRL_P = CTRL_(_KN.P)
386CTRL_Q = CTRL_(_KN.Q)
387CTRL_R = CTRL_(_KN.R)
388CTRL_S = CTRL_(_KN.S)
389CTRL_T = CTRL_(_KN.T)
390CTRL_U = CTRL_(_KN.U)
391CTRL_V = CTRL_(_KN.V)
392CTRL_W = CTRL_(_KN.W)
393CTRL_X = CTRL_(_KN.X)
394CTRL_Y = CTRL_(_KN.Y)
395CTRL_Z = CTRL_(_KN.Z)
396
397# SHIFT
398SHIFT_TAB = SHIFT_(_KN.TAB)
399
400SHIFT_F1 = SHIFT_(_KN.F1)
401SHIFT_F2 = SHIFT_(_KN.F2)
402SHIFT_F3 = SHIFT_(_KN.F3)
403SHIFT_F4 = SHIFT_(_KN.F4)
404SHIFT_F5 = SHIFT_(_KN.F5)
405SHIFT_F6 = SHIFT_(_KN.F6)
406SHIFT_F7 = SHIFT_(_KN.F7)
407SHIFT_F8 = SHIFT_(_KN.F8)
408SHIFT_F9 = SHIFT_(_KN.F9)
409SHIFT_F10 = SHIFT_(_KN.F10)
410SHIFT_F11 = SHIFT_(_KN.F11)
411SHIFT_F12 = SHIFT_(_KN.F12)
412
413SHIFT_OEM3_WAVE_OR_BACK_QUOTE = SHIFT_(_KN.OEM3_WAVE_OR_BACK_QUOTE)
414SHIFT_1 = SHIFT_(_KN.KEY_1)
415SHIFT_2 = SHIFT_(_KN.KEY_2)
416SHIFT_3 = SHIFT_(_KN.KEY_3)
417SHIFT_4 = SHIFT_(_KN.KEY_4)
418SHIFT_5 = SHIFT_(_KN.KEY_5)
419SHIFT_6 = SHIFT_(_KN.KEY_6)
420SHIFT_7 = SHIFT_(_KN.KEY_7)
421SHIFT_8 = SHIFT_(_KN.KEY_8)
422SHIFT_9 = SHIFT_(_KN.KEY_9)
423SHIFT_0 = SHIFT_(_KN.KEY_0)
424SHIFT_11_MINUS = SHIFT_(_KN.KEY_11_MINUS)
425SHIFT_12_PLUS = SHIFT_(_KN.KEY_12_PLUS)
426SHIFT_BACKSPACE = SHIFT_(_KN.BACKSPACE)
427
428SHIFT_NUMPAD_1 = SHIFT_(_KN.NUMPAD_1)
429SHIFT_NUMPAD_2 = SHIFT_(_KN.NUMPAD_2)
430SHIFT_NUMPAD_3 = SHIFT_(_KN.NUMPAD_3)
431SHIFT_NUMPAD_4 = SHIFT_(_KN.NUMPAD_4)
432SHIFT_NUMPAD_5 = SHIFT_(_KN.NUMPAD_5)
433SHIFT_NUMPAD_6 = SHIFT_(_KN.NUMPAD_6)
434SHIFT_NUMPAD_7 = SHIFT_(_KN.NUMPAD_7)
435SHIFT_NUMPAD_8 = SHIFT_(_KN.NUMPAD_8)
436SHIFT_NUMPAD_9 = SHIFT_(_KN.NUMPAD_9)
437SHIFT_NUMPAD_0 = SHIFT_(_KN.NUMPAD_0)
438SHIFT_NUMPAD_11_DIVIDE = SHIFT_(_KN.NUMPAD_11_DIVIDE)
439SHIFT_NUMPAD_12_MULTIPLY = SHIFT_(_KN.NUMPAD_12_MULTIPLY)
440
441SHIFT_A = SHIFT_(_KN.A)
442SHIFT_B = SHIFT_(_KN.B)
443SHIFT_C = SHIFT_(_KN.C)
444SHIFT_D = SHIFT_(_KN.D)
445SHIFT_E = SHIFT_(_KN.E)
446SHIFT_F = SHIFT_(_KN.F)
447SHIFT_G = SHIFT_(_KN.G)
448SHIFT_H = SHIFT_(_KN.H)
449SHIFT_I = SHIFT_(_KN.I)
450SHIFT_J = SHIFT_(_KN.J)
451SHIFT_K = SHIFT_(_KN.K)
452SHIFT_L = SHIFT_(_KN.L)
453SHIFT_M = SHIFT_(_KN.M)
454SHIFT_N = SHIFT_(_KN.N)
455SHIFT_O = SHIFT_(_KN.O)
456SHIFT_P = SHIFT_(_KN.P)
457SHIFT_Q = SHIFT_(_KN.Q)
458SHIFT_R = SHIFT_(_KN.R)
459SHIFT_S = SHIFT_(_KN.S)
460SHIFT_T = SHIFT_(_KN.T)
461SHIFT_U = SHIFT_(_KN.U)
462SHIFT_V = SHIFT_(_KN.V)
463SHIFT_W = SHIFT_(_KN.W)
464SHIFT_X = SHIFT_(_KN.X)
465SHIFT_Y = SHIFT_(_KN.Y)
466SHIFT_Z = SHIFT_(_KN.Z)
467
468# ALT
469ALT_TAB = ALT_(_KN.TAB)
470
471ALT_F1 = ALT_(_KN.F1)
472ALT_F2 = ALT_(_KN.F2)
473ALT_F3 = ALT_(_KN.F3)
474ALT_F4 = ALT_(_KN.F4)
475ALT_F5 = ALT_(_KN.F5)
476ALT_F6 = ALT_(_KN.F6)
477ALT_F7 = ALT_(_KN.F7)
478ALT_F8 = ALT_(_KN.F8)
479ALT_F9 = ALT_(_KN.F9)
480ALT_F10 = ALT_(_KN.F10)
481ALT_F11 = ALT_(_KN.F11)
482ALT_F12 = ALT_(_KN.F12)
483
484ALT_OEM3_WAVE_OR_BACK_QUOTE = ALT_(_KN.OEM3_WAVE_OR_BACK_QUOTE)
485ALT_1 = ALT_(_KN.KEY_1)
486ALT_2 = ALT_(_KN.KEY_2)
487ALT_3 = ALT_(_KN.KEY_3)
488ALT_4 = ALT_(_KN.KEY_4)
489ALT_5 = ALT_(_KN.KEY_5)
490ALT_6 = ALT_(_KN.KEY_6)
491ALT_7 = ALT_(_KN.KEY_7)
492ALT_8 = ALT_(_KN.KEY_8)
493ALT_9 = ALT_(_KN.KEY_9)
494ALT_0 = ALT_(_KN.KEY_0)
495ALT_11_MINUS = ALT_(_KN.KEY_11_MINUS)
496ALT_12_PLUS = ALT_(_KN.KEY_12_PLUS)
497ALT_BACKSPACE = ALT_(_KN.BACKSPACE)
498
499ALT_NUMPAD_1 = ALT_(_KN.NUMPAD_1)
500ALT_NUMPAD_2 = ALT_(_KN.NUMPAD_2)
501ALT_NUMPAD_3 = ALT_(_KN.NUMPAD_3)
502ALT_NUMPAD_4 = ALT_(_KN.NUMPAD_4)
503ALT_NUMPAD_5 = ALT_(_KN.NUMPAD_5)
504ALT_NUMPAD_6 = ALT_(_KN.NUMPAD_6)
505ALT_NUMPAD_7 = ALT_(_KN.NUMPAD_7)
506ALT_NUMPAD_8 = ALT_(_KN.NUMPAD_8)
507ALT_NUMPAD_9 = ALT_(_KN.NUMPAD_9)
508ALT_NUMPAD_0 = ALT_(_KN.NUMPAD_0)
509ALT_NUMPAD_11_DIVIDE = ALT_(_KN.NUMPAD_11_DIVIDE)
510ALT_NUMPAD_12_MULTIPLY = ALT_(_KN.NUMPAD_12_MULTIPLY)
511
512ALT_A = ALT_(_KN.A)
513ALT_B = ALT_(_KN.B)
514ALT_C = ALT_(_KN.C)
515ALT_D = ALT_(_KN.D)
516ALT_E = ALT_(_KN.E)
517ALT_F = ALT_(_KN.F)
518ALT_G = ALT_(_KN.G)
519ALT_H = ALT_(_KN.H)
520ALT_I = ALT_(_KN.I)
521ALT_J = ALT_(_KN.J)
522ALT_K = ALT_(_KN.K)
523ALT_L = ALT_(_KN.L)
524ALT_M = ALT_(_KN.M)
525ALT_N = ALT_(_KN.N)
526ALT_O = ALT_(_KN.O)
527ALT_P = ALT_(_KN.P)
528ALT_Q = ALT_(_KN.Q)
529ALT_R = ALT_(_KN.R)
530ALT_S = ALT_(_KN.S)
531ALT_T = ALT_(_KN.T)
532ALT_U = ALT_(_KN.U)
533ALT_V = ALT_(_KN.V)
534ALT_W = ALT_(_KN.W)
535ALT_X = ALT_(_KN.X)
536ALT_Y = ALT_(_KN.Y)
537ALT_Z = ALT_(_KN.Z)
538
539# CTRL ALT
540CTRL_ALT_F1 = CTRL_ALT_(_KN.F1)
541CTRL_ALT_F2 = CTRL_ALT_(_KN.F2)
542CTRL_ALT_F3 = CTRL_ALT_(_KN.F3)
543CTRL_ALT_F4 = CTRL_ALT_(_KN.F4)
544CTRL_ALT_F5 = CTRL_ALT_(_KN.F5)
545CTRL_ALT_F6 = CTRL_ALT_(_KN.F6)
546CTRL_ALT_F7 = CTRL_ALT_(_KN.F7)
547CTRL_ALT_F8 = CTRL_ALT_(_KN.F8)
548CTRL_ALT_F9 = CTRL_ALT_(_KN.F9)
549CTRL_ALT_F10 = CTRL_ALT_(_KN.F10)
550CTRL_ALT_F11 = CTRL_ALT_(_KN.F11)
551CTRL_ALT_F12 = CTRL_ALT_(_KN.F12)
552
553CTRL_ALT_OEM3_WAVE_OR_BACK_QUOTE = CTRL_ALT_(_KN.OEM3_WAVE_OR_BACK_QUOTE)
554CTRL_ALT_1 = CTRL_ALT_(_KN.KEY_1)
555CTRL_ALT_2 = CTRL_ALT_(_KN.KEY_2)
556CTRL_ALT_3 = CTRL_ALT_(_KN.KEY_3)
557CTRL_ALT_4 = CTRL_ALT_(_KN.KEY_4)
558CTRL_ALT_5 = CTRL_ALT_(_KN.KEY_5)
559CTRL_ALT_6 = CTRL_ALT_(_KN.KEY_6)
560CTRL_ALT_7 = CTRL_ALT_(_KN.KEY_7)
561CTRL_ALT_8 = CTRL_ALT_(_KN.KEY_8)
562CTRL_ALT_9 = CTRL_ALT_(_KN.KEY_9)
563CTRL_ALT_0 = CTRL_ALT_(_KN.KEY_0)
564CTRL_ALT_11_MINUS = CTRL_ALT_(_KN.KEY_11_MINUS)
565CTRL_ALT_12_PLUS = CTRL_ALT_(_KN.KEY_12_PLUS)
566CTRL_ALT_BACKSPACE = CTRL_ALT_(_KN.BACKSPACE)
567
568CTRL_ALT_NUMPAD_1 = CTRL_ALT_(_KN.NUMPAD_1)
569CTRL_ALT_NUMPAD_2 = CTRL_ALT_(_KN.NUMPAD_2)
570CTRL_ALT_NUMPAD_3 = CTRL_ALT_(_KN.NUMPAD_3)
571CTRL_ALT_NUMPAD_4 = CTRL_ALT_(_KN.NUMPAD_4)
572CTRL_ALT_NUMPAD_5 = CTRL_ALT_(_KN.NUMPAD_5)
573CTRL_ALT_NUMPAD_6 = CTRL_ALT_(_KN.NUMPAD_6)
574CTRL_ALT_NUMPAD_7 = CTRL_ALT_(_KN.NUMPAD_7)
575CTRL_ALT_NUMPAD_8 = CTRL_ALT_(_KN.NUMPAD_8)
576CTRL_ALT_NUMPAD_9 = CTRL_ALT_(_KN.NUMPAD_9)
577CTRL_ALT_NUMPAD_0 = CTRL_ALT_(_KN.NUMPAD_0)
578CTRL_ALT_NUMPAD_11_DIVIDE = CTRL_ALT_(_KN.NUMPAD_11_DIVIDE)
579CTRL_ALT_NUMPAD_12_MULTIPLY = CTRL_ALT_(_KN.NUMPAD_12_MULTIPLY)
580
581CTRL_ALT_A = CTRL_ALT_(_KN.A)
582CTRL_ALT_B = CTRL_ALT_(_KN.B)
583CTRL_ALT_C = CTRL_ALT_(_KN.C)
584CTRL_ALT_D = CTRL_ALT_(_KN.D)
585CTRL_ALT_E = CTRL_ALT_(_KN.E)
586CTRL_ALT_F = CTRL_ALT_(_KN.F)
587CTRL_ALT_G = CTRL_ALT_(_KN.G)
588CTRL_ALT_H = CTRL_ALT_(_KN.H)
589CTRL_ALT_I = CTRL_ALT_(_KN.I)
590CTRL_ALT_J = CTRL_ALT_(_KN.J)
591CTRL_ALT_K = CTRL_ALT_(_KN.K)
592CTRL_ALT_L = CTRL_ALT_(_KN.L)
593CTRL_ALT_M = CTRL_ALT_(_KN.M)
594CTRL_ALT_N = CTRL_ALT_(_KN.N)
595CTRL_ALT_O = CTRL_ALT_(_KN.O)
596CTRL_ALT_P = CTRL_ALT_(_KN.P)
597CTRL_ALT_Q = CTRL_ALT_(_KN.Q)
598CTRL_ALT_R = CTRL_ALT_(_KN.R)
599CTRL_ALT_S = CTRL_ALT_(_KN.S)
600CTRL_ALT_T = CTRL_ALT_(_KN.T)
601CTRL_ALT_U = CTRL_ALT_(_KN.U)
602CTRL_ALT_V = CTRL_ALT_(_KN.V)
603CTRL_ALT_W = CTRL_ALT_(_KN.W)
604CTRL_ALT_X = CTRL_ALT_(_KN.X)
605CTRL_ALT_Y = CTRL_ALT_(_KN.Y)
606CTRL_ALT_Z = CTRL_ALT_(_KN.Z)
607
608# CTRL SHIFT
609CTRL_SHIFT_F1 = CTRL_SHIFT_(_KN.F1)
610CTRL_SHIFT_F2 = CTRL_SHIFT_(_KN.F2)
611CTRL_SHIFT_F3 = CTRL_SHIFT_(_KN.F3)
612CTRL_SHIFT_F4 = CTRL_SHIFT_(_KN.F4)
613CTRL_SHIFT_F5 = CTRL_SHIFT_(_KN.F5)
614CTRL_SHIFT_F6 = CTRL_SHIFT_(_KN.F6)
615CTRL_SHIFT_F7 = CTRL_SHIFT_(_KN.F7)
616CTRL_SHIFT_F8 = CTRL_SHIFT_(_KN.F8)
617CTRL_SHIFT_F9 = CTRL_SHIFT_(_KN.F9)
618CTRL_SHIFT_F10 = CTRL_SHIFT_(_KN.F10)
619CTRL_SHIFT_F11 = CTRL_SHIFT_(_KN.F11)
620CTRL_SHIFT_F12 = CTRL_SHIFT_(_KN.F12)
621
622CTRL_SHIFT_OEM3_WAVE_OR_BACK_QUOTE = CTRL_SHIFT_(_KN.OEM3_WAVE_OR_BACK_QUOTE)
623CTRL_SHIFT_1 = CTRL_SHIFT_(_KN.KEY_1)
624CTRL_SHIFT_2 = CTRL_SHIFT_(_KN.KEY_2)
625CTRL_SHIFT_3 = CTRL_SHIFT_(_KN.KEY_3)
626CTRL_SHIFT_4 = CTRL_SHIFT_(_KN.KEY_4)
627CTRL_SHIFT_5 = CTRL_SHIFT_(_KN.KEY_5)
628CTRL_SHIFT_6 = CTRL_SHIFT_(_KN.KEY_6)
629CTRL_SHIFT_7 = CTRL_SHIFT_(_KN.KEY_7)
630CTRL_SHIFT_8 = CTRL_SHIFT_(_KN.KEY_8)
631CTRL_SHIFT_9 = CTRL_SHIFT_(_KN.KEY_9)
632CTRL_SHIFT_0 = CTRL_SHIFT_(_KN.KEY_0)
633CTRL_SHIFT_11_MINUS = CTRL_SHIFT_(_KN.KEY_11_MINUS)
634CTRL_SHIFT_12_PLUS = CTRL_SHIFT_(_KN.KEY_12_PLUS)
635CTRL_SHIFT_BACKSPACE = CTRL_SHIFT_(_KN.BACKSPACE)
636
637CTRL_SHIFT_NUMPAD_1 = CTRL_SHIFT_(_KN.NUMPAD_1)
638CTRL_SHIFT_NUMPAD_2 = CTRL_SHIFT_(_KN.NUMPAD_2)
639CTRL_SHIFT_NUMPAD_3 = CTRL_SHIFT_(_KN.NUMPAD_3)
640CTRL_SHIFT_NUMPAD_4 = CTRL_SHIFT_(_KN.NUMPAD_4)
641CTRL_SHIFT_NUMPAD_5 = CTRL_SHIFT_(_KN.NUMPAD_5)
642CTRL_SHIFT_NUMPAD_6 = CTRL_SHIFT_(_KN.NUMPAD_6)
643CTRL_SHIFT_NUMPAD_7 = CTRL_SHIFT_(_KN.NUMPAD_7)
644CTRL_SHIFT_NUMPAD_8 = CTRL_SHIFT_(_KN.NUMPAD_8)
645CTRL_SHIFT_NUMPAD_9 = CTRL_SHIFT_(_KN.NUMPAD_9)
646CTRL_SHIFT_NUMPAD_0 = CTRL_SHIFT_(_KN.NUMPAD_0)
647CTRL_SHIFT_NUMPAD_11_DIVIDE = CTRL_SHIFT_(_KN.NUMPAD_11_DIVIDE)
648CTRL_SHIFT_NUMPAD_12_MULTIPLY = CTRL_SHIFT_(_KN.NUMPAD_12_MULTIPLY)
649
650CTRL_SHIFT_A = CTRL_SHIFT_(_KN.A)
651CTRL_SHIFT_B = CTRL_SHIFT_(_KN.B)
652CTRL_SHIFT_C = CTRL_SHIFT_(_KN.C)
653CTRL_SHIFT_D = CTRL_SHIFT_(_KN.D)
654CTRL_SHIFT_E = CTRL_SHIFT_(_KN.E)
655CTRL_SHIFT_F = CTRL_SHIFT_(_KN.F)
656CTRL_SHIFT_G = CTRL_SHIFT_(_KN.G)
657CTRL_SHIFT_H = CTRL_SHIFT_(_KN.H)
658CTRL_SHIFT_I = CTRL_SHIFT_(_KN.I)
659CTRL_SHIFT_J = CTRL_SHIFT_(_KN.J)
660CTRL_SHIFT_K = CTRL_SHIFT_(_KN.K)
661CTRL_SHIFT_L = CTRL_SHIFT_(_KN.L)
662CTRL_SHIFT_M = CTRL_SHIFT_(_KN.M)
663CTRL_SHIFT_N = CTRL_SHIFT_(_KN.N)
664CTRL_SHIFT_O = CTRL_SHIFT_(_KN.O)
665CTRL_SHIFT_P = CTRL_SHIFT_(_KN.P)
666CTRL_SHIFT_Q = CTRL_SHIFT_(_KN.Q)
667CTRL_SHIFT_R = CTRL_SHIFT_(_KN.R)
668CTRL_SHIFT_S = CTRL_SHIFT_(_KN.S)
669CTRL_SHIFT_T = CTRL_SHIFT_(_KN.T)
670CTRL_SHIFT_U = CTRL_SHIFT_(_KN.U)
671CTRL_SHIFT_V = CTRL_SHIFT_(_KN.V)
672CTRL_SHIFT_W = CTRL_SHIFT_(_KN.W)
673CTRL_SHIFT_X = CTRL_SHIFT_(_KN.X)
674CTRL_SHIFT_Y = CTRL_SHIFT_(_KN.Y)
675CTRL_SHIFT_Z = CTRL_SHIFT_(_KN.Z)
676
677# ALT SHIFT
678ALT_SHIFT_F1 = ALT_SHIFT_(_KN.F1)
679ALT_SHIFT_F2 = ALT_SHIFT_(_KN.F2)
680ALT_SHIFT_F3 = ALT_SHIFT_(_KN.F3)
681ALT_SHIFT_F4 = ALT_SHIFT_(_KN.F4)
682ALT_SHIFT_F5 = ALT_SHIFT_(_KN.F5)
683ALT_SHIFT_F6 = ALT_SHIFT_(_KN.F6)
684ALT_SHIFT_F7 = ALT_SHIFT_(_KN.F7)
685ALT_SHIFT_F8 = ALT_SHIFT_(_KN.F8)
686ALT_SHIFT_F9 = ALT_SHIFT_(_KN.F9)
687ALT_SHIFT_F10 = ALT_SHIFT_(_KN.F10)
688ALT_SHIFT_F11 = ALT_SHIFT_(_KN.F11)
689ALT_SHIFT_F12 = ALT_SHIFT_(_KN.F12)
690
691ALT_SHIFT_OEM3_WAVE_OR_BACK_QUOTE = ALT_SHIFT_(_KN.OEM3_WAVE_OR_BACK_QUOTE)
692ALT_SHIFT_1 = ALT_SHIFT_(_KN.KEY_1)
693ALT_SHIFT_2 = ALT_SHIFT_(_KN.KEY_2)
694ALT_SHIFT_3 = ALT_SHIFT_(_KN.KEY_3)
695ALT_SHIFT_4 = ALT_SHIFT_(_KN.KEY_4)
696ALT_SHIFT_5 = ALT_SHIFT_(_KN.KEY_5)
697ALT_SHIFT_6 = ALT_SHIFT_(_KN.KEY_6)
698ALT_SHIFT_7 = ALT_SHIFT_(_KN.KEY_7)
699ALT_SHIFT_8 = ALT_SHIFT_(_KN.KEY_8)
700ALT_SHIFT_9 = ALT_SHIFT_(_KN.KEY_9)
701ALT_SHIFT_0 = ALT_SHIFT_(_KN.KEY_0)
702ALT_SHIFT_11_MINUS = ALT_SHIFT_(_KN.KEY_11_MINUS)
703ALT_SHIFT_12_PLUS = ALT_SHIFT_(_KN.KEY_12_PLUS)
704ALT_SHIFT_BACKSPACE = ALT_SHIFT_(_KN.BACKSPACE)
705
706ALT_SHIFT_NUMPAD_1 = ALT_SHIFT_(_KN.NUMPAD_1)
707ALT_SHIFT_NUMPAD_2 = ALT_SHIFT_(_KN.NUMPAD_2)
708ALT_SHIFT_NUMPAD_3 = ALT_SHIFT_(_KN.NUMPAD_3)
709ALT_SHIFT_NUMPAD_4 = ALT_SHIFT_(_KN.NUMPAD_4)
710ALT_SHIFT_NUMPAD_5 = ALT_SHIFT_(_KN.NUMPAD_5)
711ALT_SHIFT_NUMPAD_6 = ALT_SHIFT_(_KN.NUMPAD_6)
712ALT_SHIFT_NUMPAD_7 = ALT_SHIFT_(_KN.NUMPAD_7)
713ALT_SHIFT_NUMPAD_8 = ALT_SHIFT_(_KN.NUMPAD_8)
714ALT_SHIFT_NUMPAD_9 = ALT_SHIFT_(_KN.NUMPAD_9)
715ALT_SHIFT_NUMPAD_0 = ALT_SHIFT_(_KN.NUMPAD_0)
716ALT_SHIFT_NUMPAD_11_DIVIDE = ALT_SHIFT_(_KN.NUMPAD_11_DIVIDE)
717ALT_SHIFT_NUMPAD_12_MULTIPLY = ALT_SHIFT_(_KN.NUMPAD_12_MULTIPLY)
718
719ALT_SHIFT_A = ALT_SHIFT_(_KN.A)
720ALT_SHIFT_B = ALT_SHIFT_(_KN.B)
721ALT_SHIFT_C = ALT_SHIFT_(_KN.C)
722ALT_SHIFT_D = ALT_SHIFT_(_KN.D)
723ALT_SHIFT_E = ALT_SHIFT_(_KN.E)
724ALT_SHIFT_F = ALT_SHIFT_(_KN.F)
725ALT_SHIFT_G = ALT_SHIFT_(_KN.G)
726ALT_SHIFT_H = ALT_SHIFT_(_KN.H)
727ALT_SHIFT_I = ALT_SHIFT_(_KN.I)
728ALT_SHIFT_J = ALT_SHIFT_(_KN.J)
729ALT_SHIFT_K = ALT_SHIFT_(_KN.K)
730ALT_SHIFT_L = ALT_SHIFT_(_KN.L)
731ALT_SHIFT_M = ALT_SHIFT_(_KN.M)
732ALT_SHIFT_N = ALT_SHIFT_(_KN.N)
733ALT_SHIFT_O = ALT_SHIFT_(_KN.O)
734ALT_SHIFT_P = ALT_SHIFT_(_KN.P)
735ALT_SHIFT_Q = ALT_SHIFT_(_KN.Q)
736ALT_SHIFT_R = ALT_SHIFT_(_KN.R)
737ALT_SHIFT_S = ALT_SHIFT_(_KN.S)
738ALT_SHIFT_T = ALT_SHIFT_(_KN.T)
739ALT_SHIFT_U = ALT_SHIFT_(_KN.U)
740ALT_SHIFT_V = ALT_SHIFT_(_KN.V)
741ALT_SHIFT_W = ALT_SHIFT_(_KN.W)
742ALT_SHIFT_X = ALT_SHIFT_(_KN.X)
743ALT_SHIFT_Y = ALT_SHIFT_(_KN.Y)
744ALT_SHIFT_Z = ALT_SHIFT_(_KN.Z)
745
746# CTRL SHIFT ALT
747CTRL_SHIFT_ALT_F1 = CTRL_SHIFT_ALT_(_KN.F1)
748CTRL_SHIFT_ALT_F2 = CTRL_SHIFT_ALT_(_KN.F2)
749CTRL_SHIFT_ALT_F3 = CTRL_SHIFT_ALT_(_KN.F3)
750CTRL_SHIFT_ALT_F4 = CTRL_SHIFT_ALT_(_KN.F4)
751CTRL_SHIFT_ALT_F5 = CTRL_SHIFT_ALT_(_KN.F5)
752CTRL_SHIFT_ALT_F6 = CTRL_SHIFT_ALT_(_KN.F6)
753CTRL_SHIFT_ALT_F7 = CTRL_SHIFT_ALT_(_KN.F7)
754CTRL_SHIFT_ALT_F8 = CTRL_SHIFT_ALT_(_KN.F8)
755CTRL_SHIFT_ALT_F9 = CTRL_SHIFT_ALT_(_KN.F9)
756CTRL_SHIFT_ALT_F10 = CTRL_SHIFT_ALT_(_KN.F10)
757CTRL_SHIFT_ALT_F11 = CTRL_SHIFT_ALT_(_KN.F11)
758CTRL_SHIFT_ALT_F12 = CTRL_SHIFT_ALT_(_KN.F12)
759
760CTRL_SHIFT_ALT_OEM3_WAVE_OR_BACK_QUOTE = CTRL_SHIFT_ALT_(_KN.OEM3_WAVE_OR_BACK_QUOTE)
761CTRL_SHIFT_ALT_1 = CTRL_SHIFT_ALT_(_KN.KEY_1)
762CTRL_SHIFT_ALT_2 = CTRL_SHIFT_ALT_(_KN.KEY_2)
763CTRL_SHIFT_ALT_3 = CTRL_SHIFT_ALT_(_KN.KEY_3)
764CTRL_SHIFT_ALT_4 = CTRL_SHIFT_ALT_(_KN.KEY_4)
765CTRL_SHIFT_ALT_5 = CTRL_SHIFT_ALT_(_KN.KEY_5)
766CTRL_SHIFT_ALT_6 = CTRL_SHIFT_ALT_(_KN.KEY_6)
767CTRL_SHIFT_ALT_7 = CTRL_SHIFT_ALT_(_KN.KEY_7)
768CTRL_SHIFT_ALT_8 = CTRL_SHIFT_ALT_(_KN.KEY_8)
769CTRL_SHIFT_ALT_9 = CTRL_SHIFT_ALT_(_KN.KEY_9)
770CTRL_SHIFT_ALT_0 = CTRL_SHIFT_ALT_(_KN.KEY_0)
771CTRL_SHIFT_ALT_11_MINUS = CTRL_SHIFT_ALT_(_KN.KEY_11_MINUS)
772CTRL_SHIFT_ALT_12_PLUS = CTRL_SHIFT_ALT_(_KN.KEY_12_PLUS)
773CTRL_SHIFT_ALT_BACKSPACE = CTRL_SHIFT_ALT_(_KN.BACKSPACE)
774
775CTRL_SHIFT_ALT_NUMPAD_1 = CTRL_SHIFT_ALT_(_KN.NUMPAD_1)
776CTRL_SHIFT_ALT_NUMPAD_2 = CTRL_SHIFT_ALT_(_KN.NUMPAD_2)
777CTRL_SHIFT_ALT_NUMPAD_3 = CTRL_SHIFT_ALT_(_KN.NUMPAD_3)
778CTRL_SHIFT_ALT_NUMPAD_4 = CTRL_SHIFT_ALT_(_KN.NUMPAD_4)
779CTRL_SHIFT_ALT_NUMPAD_5 = CTRL_SHIFT_ALT_(_KN.NUMPAD_5)
780CTRL_SHIFT_ALT_NUMPAD_6 = CTRL_SHIFT_ALT_(_KN.NUMPAD_6)
781CTRL_SHIFT_ALT_NUMPAD_7 = CTRL_SHIFT_ALT_(_KN.NUMPAD_7)
782CTRL_SHIFT_ALT_NUMPAD_8 = CTRL_SHIFT_ALT_(_KN.NUMPAD_8)
783CTRL_SHIFT_ALT_NUMPAD_9 = CTRL_SHIFT_ALT_(_KN.NUMPAD_9)
784CTRL_SHIFT_ALT_NUMPAD_0 = CTRL_SHIFT_ALT_(_KN.NUMPAD_0)
785CTRL_SHIFT_ALT_NUMPAD_11_DIVIDE = CTRL_SHIFT_ALT_(_KN.NUMPAD_11_DIVIDE)
786CTRL_SHIFT_ALT_NUMPAD_12_MULTIPLY = CTRL_SHIFT_ALT_(_KN.NUMPAD_12_MULTIPLY)
787
788CTRL_SHIFT_ALT_A = CTRL_SHIFT_ALT_(_KN.A)
789CTRL_SHIFT_ALT_B = CTRL_SHIFT_ALT_(_KN.B)
790CTRL_SHIFT_ALT_C = CTRL_SHIFT_ALT_(_KN.C)
791CTRL_SHIFT_ALT_D = CTRL_SHIFT_ALT_(_KN.D)
792CTRL_SHIFT_ALT_E = CTRL_SHIFT_ALT_(_KN.E)
793CTRL_SHIFT_ALT_F = CTRL_SHIFT_ALT_(_KN.F)
794CTRL_SHIFT_ALT_G = CTRL_SHIFT_ALT_(_KN.G)
795CTRL_SHIFT_ALT_H = CTRL_SHIFT_ALT_(_KN.H)
796CTRL_SHIFT_ALT_I = CTRL_SHIFT_ALT_(_KN.I)
797CTRL_SHIFT_ALT_J = CTRL_SHIFT_ALT_(_KN.J)
798CTRL_SHIFT_ALT_K = CTRL_SHIFT_ALT_(_KN.K)
799CTRL_SHIFT_ALT_L = CTRL_SHIFT_ALT_(_KN.L)
800CTRL_SHIFT_ALT_M = CTRL_SHIFT_ALT_(_KN.M)
801CTRL_SHIFT_ALT_N = CTRL_SHIFT_ALT_(_KN.N)
802CTRL_SHIFT_ALT_O = CTRL_SHIFT_ALT_(_KN.O)
803CTRL_SHIFT_ALT_P = CTRL_SHIFT_ALT_(_KN.P)
804CTRL_SHIFT_ALT_Q = CTRL_SHIFT_ALT_(_KN.Q)
805CTRL_SHIFT_ALT_R = CTRL_SHIFT_ALT_(_KN.R)
806CTRL_SHIFT_ALT_S = CTRL_SHIFT_ALT_(_KN.S)
807CTRL_SHIFT_ALT_T = CTRL_SHIFT_ALT_(_KN.T)
808CTRL_SHIFT_ALT_U = CTRL_SHIFT_ALT_(_KN.U)
809CTRL_SHIFT_ALT_V = CTRL_SHIFT_ALT_(_KN.V)
810CTRL_SHIFT_ALT_W = CTRL_SHIFT_ALT_(_KN.W)
811CTRL_SHIFT_ALT_X = CTRL_SHIFT_ALT_(_KN.X)
812CTRL_SHIFT_ALT_Y = CTRL_SHIFT_ALT_(_KN.Y)
813CTRL_SHIFT_ALT_Z = CTRL_SHIFT_ALT_(_KN.Z)
  • hotkeynet.api.SendLabel: 在脚本中选择将 Key 和 ClickMouse 事件发送到多个窗口, 是脚本中的高频 API 之一.

  • hotkeynet.api.Hotkey: 在脚本中定义的快捷键. Hotkey (快捷键) + SendLabel (决定发送到哪些窗口) + Key/ClickMouse (决定发送什么事件) 三者的排列组合就构成了千变万化的键盘鼠标自动化脚本.

  • hotkeynet.api.Script: 代表一个完整的 Hotkeynet script 文件, 也是一个其他所有对象的容器.

More Public API#