ขณะนี้โครงการนี้ยังไม่มีการบำรุงรักษา มันใช้งานได้ในหลายกรณี และฉันอยากจะหยิบมันขึ้นมาอีกครั้งในอนาคต แต่คุณอาจพบกับความขัดข้องและคุณสมบัติที่จำกัดในการใช้งาน
ควบคุมคีย์บอร์ดของคุณอย่างเต็มที่ด้วยไลบรารี Python ขนาดเล็กนี้ ติดตามกิจกรรมระดับโลก ลงทะเบียนปุ่มลัด จำลองการกดปุ่ม และอื่นๆ อีกมากมาย
ctrl+shift+m, ctrl+space
) พร้อมการหมดเวลาที่ควบคุมได้Ctrl+ç
)pip install mouse
) ติดตั้งแพ็คเกจ PyPI:
pip install keyboard
หรือโคลนพื้นที่เก็บข้อมูล (ไม่จำเป็นต้องติดตั้ง ไฟล์ต้นฉบับก็เพียงพอแล้ว):
git clone https://github.com/boppreh/keyboard
หรือดาวน์โหลดและแตกไฟล์ zip ลงในโฟลเดอร์โปรเจ็กต์ของคุณ
จากนั้นตรวจสอบเอกสาร API ด้านล่างเพื่อดูว่ามีฟีเจอร์ใดบ้าง
ใช้เป็นห้องสมุด:
import keyboard
keyboard . press_and_release ( 'shift+s, space' )
keyboard . write ( 'The quick brown fox jumps over the lazy dog.' )
keyboard . add_hotkey ( 'ctrl+shift+a' , print , args = ( 'triggered' , 'hotkey' ))
# Press PAGE UP then PAGE DOWN to type "foobar".
keyboard . add_hotkey ( 'page up, page down' , lambda : keyboard . write ( 'foobar' ))
# Blocks until you press esc.
keyboard . wait ( 'esc' )
# Record events until 'esc' is pressed.
recorded = keyboard . record ( until = 'esc' )
# Then replay back at three times the speed.
keyboard . play ( recorded , speed_factor = 3 )
# Type @@ then press space to replace with abbreviation.
keyboard . add_abbreviation ( '@@' , '[email protected]' )
# Block forever, like `while True`.
keyboard . wait ()
ใช้เป็นโมดูลแบบสแตนด์อโลน:
# Save JSON events to a file until interrupted:
python -m keyboard > events.txt
cat events.txt
# {"event_type": "down", "scan_code": 25, "name": "p", "time": 1622447562.2994788, "is_keypad": false}
# {"event_type": "up", "scan_code": 25, "name": "p", "time": 1622447562.431007, "is_keypad": false}
# ...
# Replay events
python -m keyboard < events.txt
event.device == None
) #21/dev/input/input*
) แต่ต้องใช้รูทkeyboard
จะไม่สามารถรายงานเหตุการณ์ได้keyboard
ผ่าน SSH เซิร์ฟเวอร์จะไม่ตรวจพบเหตุการณ์สำคัญของคุณ import keyboard
keyboard . add_hotkey ( 'space' , lambda : print ( 'space was pressed!' ))
# If the program finishes, the hotkey is not in effect anymore.
# Don't do this! This will use 100% of your CPU.
#while True: pass
# Use this instead
keyboard . wait ()
# or this
import time
while True :
time . sleep ( 1000000 )
import keyboard
# Don't do this! This will use 100% of your CPU until you press the key.
#
#while not keyboard.is_pressed('space'):
# continue
#print('space was pressed, continuing...')
# Do this instead
keyboard . wait ( 'space' )
print ( 'space was pressed, continuing...' )
import keyboard
# Don't do this!
#
#while True:
# if keyboard.is_pressed('space'):
# print('space was pressed!')
#
# This will use 100% of your CPU and print the message many times.
# Do this instead
while True :
keyboard . wait ( 'space' )
print ( 'space was pressed! Waiting on it again...' )
# or this
keyboard . add_hotkey ( 'space' , lambda : print ( 'space was pressed!' ))
keyboard . wait ()
import keyboard
# Don't do this! This will call `print('space')` immediately then fail when the key is actually pressed.
#keyboard.add_hotkey('space', print('space was pressed'))
# Do this instead
keyboard . add_hotkey ( 'space' , lambda : print ( 'space was pressed' ))
# or this
def on_space ():
print ( 'space was pressed' )
keyboard . add_hotkey ( 'space' , on_space )
# or this
while True :
# Wait for the next event.
event = keyboard . read_event ()
if event . event_type == keyboard . KEY_DOWN and event . name == 'space' :
print ( 'space was pressed' )
# Don't do this! The `keyboard` module is meant for global events, even when your program is not in focus.
#import keyboard
#print('Press any key to continue...')
#keyboard.get_event()
# Do this instead
input ( 'Press enter to continue...' )
# Or one of the suggestions from here
# https://stackoverflow.com/questions/983354/how-to-make-a-script-wait-for-a-pressed-key
press_and_release
)unblock_key
, unhook_key
, unremap_key
)register_hotkey
)clear_hotkey
, unregister_hotkey
, unremap_hotkey
)clear_all_hotkeys
, remove_all_hotkeys
, unregister_all_hotkeys
)replay
)register_word_listener
)remove_abbreviation
)register_abbreviation
) = 'down'
= 'up'
[แหล่งที่มา]
= { 'alt' , 'alt gr' , 'ctrl' , 'left alt' , 'left ctrl' , 'left shift' , 'left windows' , 'right alt' , 'right ctrl' , 'right shift' , 'right windows' , 'shift' , 'windows' }
= { 'alt' , 'ctrl' , 'shift' , 'windows' }
= '0.13.5'
[แหล่งที่มา]
ส่งกลับค่า True หาก key
เป็นโค้ดสแกนหรือชื่อของคีย์ตัวปรับแต่ง
[แหล่งที่มา]
ส่งคืนรายการรหัสสแกนที่เกี่ยวข้องกับคีย์นี้ (ชื่อหรือรหัสสแกน)
[แหล่งที่มา]
แยกวิเคราะห์ฮอตคีย์ที่ผู้ใช้ให้ไว้เป็นทูเพิลที่ซ้อนกันซึ่งเป็นตัวแทนของโครงสร้างที่แยกวิเคราะห์ โดยค่าด้านล่างเป็นรายการรหัสสแกน ยังยอมรับรหัสการสแกนแบบ Raw ซึ่งจะถูกรวมไว้ในจำนวนการซ้อนที่ต้องการ
ตัวอย่าง:
parse_hotkey ( "alt+shift+a, alt+b, c" )
# Keys: ^~^ ^~~~^ ^ ^~^ ^ ^
# Steps: ^~~~~~~~~~^ ^~~~^ ^
# ((alt_codes, shift_codes, a_codes), (alt_codes, b_codes), (c_codes,))
[แหล่งที่มา]
ส่งเหตุการณ์ระบบปฏิบัติการที่ดำเนินการฮอต คีย์ลัด ที่กำหนด
hotkey
อาจเป็นรหัสสแกน (เช่น 57 สำหรับช่องว่าง) ปุ่มเดียว (เช่น 'ช่องว่าง') หรือปุ่มลัดหลายปุ่มแบบหลายขั้นตอน (เช่น 'alt+F4, enter')do_press
ถ้าเป็นจริง เหตุการณ์การแถลงข่าวจะถูกส่งไป ค่าเริ่มต้นเป็น Truedo_release
ถ้าเป็นจริง กิจกรรม release จะถูกส่งไป ค่าเริ่มต้นเป็น True send ( 57 )
send ( 'ctrl+alt+del' )
send ( 'alt+F4, enter' )
send ( 'shift+s' )
หมายเหตุ: ปุ่มต่างๆ จะถูกปล่อยในลำดับตรงกันข้ามกับการกด
[แหล่งที่มา]
กดปุ่มลัดค้างไว้ (ดู send
)
[แหล่งที่มา]
ปล่อยปุ่มลัด (ดู send
)
[แหล่งที่มา]
คืนค่า True หากกดปุ่ม
is_pressed ( 57 ) #-> True
is_pressed ( 'space' ) #-> True
is_pressed ( 'ctrl+space' ) #-> True
[แหล่งที่มา]
เรียกใช้ฟังก์ชันที่ให้มาในเธรดใหม่หลังจากรอสักครู่ มีประโยชน์ในการให้เวลาระบบในการประมวลผลเหตุการณ์ โดยไม่ปิดกั้นโฟลว์การดำเนินการปัจจุบัน
[แหล่งที่มา]
ติดตั้ง Global Listener บนคีย์บอร์ดที่มีอยู่ทั้งหมด โดยเรียกใช้ callback
ทุกครั้งที่กดหรือปล่อยคีย์
เหตุการณ์ที่ส่งไปยังการโทรกลับเป็นประเภท keyboard.KeyboardEvent
โดยมีแอตทริบิวต์ต่อไปนี้:
name
: การแสดงอักขระ Unicode (เช่น "&") หรือคำอธิบาย (เช่น "ช่องว่าง") ชื่อจะเป็นตัวพิมพ์เล็กเสมอscan_code
: ตัวเลขที่แสดงถึงฟิสิคัลคีย์ เช่น 55time
: การประทับเวลาของเวลาที่เหตุการณ์เกิดขึ้น โดยมีความแม่นยำมากเท่ากับที่กำหนดโดยระบบปฏิบัติการส่งคืนการโทรกลับที่กำหนดเพื่อการพัฒนาที่ง่ายขึ้น
[แหล่งที่มา]
เรียกใช้ callback
สำหรับทุกเหตุการณ์ KEY_DOWN สำหรับรายละเอียดโปรดดู hook
[แหล่งที่มา]
เรียกใช้ callback
สำหรับทุกเหตุการณ์ KEY_UP สำหรับรายละเอียดโปรดดู hook
[แหล่งที่มา]
เชื่อมต่อเหตุการณ์คีย์ขึ้นและลงคีย์สำหรับคีย์เดียว ส่งคืนตัวจัดการเหตุการณ์ที่สร้างขึ้น หากต้องการลบคีย์ hooked ให้ใช้ unhook_key(key)
หรือ unhook_key(handler)
หมายเหตุ: ฟังก์ชันนี้แชร์สถานะด้วยปุ่มลัด ดังนั้น clear_all_hotkeys
จึงส่งผลต่อสถานะเช่นกัน
[แหล่งที่มา]
เรียกใช้ callback
สำหรับเหตุการณ์ KEY_DOWN ที่เกี่ยวข้องกับคีย์ที่กำหนด สำหรับรายละเอียดโปรดดู hook
[แหล่งที่มา]
เรียกใช้ callback
สำหรับเหตุการณ์ KEY_UP ที่เกี่ยวข้องกับคีย์ที่กำหนด สำหรับรายละเอียดโปรดดู hook
[แหล่งที่มา]
ลบ hook ที่เพิ่มไว้ก่อนหน้านี้ออกโดยการโทรกลับหรือตามค่าที่ส่งคืนของ hook
[แหล่งที่มา]
ลบการเชื่อมต่อคีย์บอร์ดทั้งหมดที่ใช้งานอยู่ รวมถึงปุ่มลัด ตัวย่อ ตัวฟังคำ record
และ wait
[แหล่งที่มา]
ระงับเหตุการณ์สำคัญทั้งหมดของคีย์ที่กำหนด โดยไม่คำนึงถึงตัวแก้ไข
[แหล่งที่มา]
เมื่อใดก็ตามที่กดหรือปล่อยคีย์ src
ไม่ว่าจะมีตัวปรับแต่งอะไรก็ตาม ให้กดหรือปล่อยปุ่มลัด dst
แทน
[แหล่งที่มา]
แยกวิเคราะห์ฮอตคีย์ที่ผู้ใช้ให้มา แตกต่างจาก parse_hotkey
แทนที่จะให้แต่ละขั้นตอนเป็นรายการรหัสสแกนที่แตกต่างกันสำหรับแต่ละคีย์ แต่ละขั้นตอนกลับเป็นรายการชุดค่าผสมที่เป็นไปได้ทั้งหมดของรหัสสแกนเหล่านั้น
[แหล่งที่มา]
เรียกกลับทุกครั้งที่กดปุ่มลัด ปุ่มลัดต้องอยู่ในรูปแบบ ctrl+shift+a, s
สิ่งนี้จะทริกเกอร์เมื่อผู้ใช้กด Ctrl, Shift และ "a" พร้อมกัน จากนั้นปล่อย จากนั้นกด "s" หากต้องการแสดงเครื่องหมายจุลภาค เครื่องหมายบวก และช่องว่างตามตัวอักษร ให้ใช้ชื่อ ('เครื่องหมายจุลภาค', 'เครื่องหมายบวก', 'ช่องว่าง')
args
คือรายการอาร์กิวเมนต์ทางเลือกที่จะส่งผ่านไปยังการโทรกลับระหว่างการเรียกใช้แต่ละครั้งsuppress
กำหนดว่าทริกเกอร์ที่สำเร็จควรบล็อกคีย์ไม่ให้ถูกส่งไปยังโปรแกรมอื่นหรือไม่timeout
คือจำนวนวินาทีที่อนุญาตให้ผ่านไประหว่างการกดปุ่มtrigger_on_release
ถ้าเป็นจริง การโทรกลับจะถูกเรียกใช้เมื่อปล่อยคีย์แทนการกดปุ่ม ฟังก์ชันตัวจัดการเหตุการณ์จะถูกส่งกลับ หากต้องการลบการโทรฮอตคีย์ remove_hotkey(hotkey)
หรือ remove_hotkey(handler)
ก่อนที่จะรีเซ็ตสถานะปุ่มลัด
หมายเหตุ: ปุ่มลัดจะเปิดใช้งานเมื่อมี การกด ปุ่มสุดท้าย ไม่ใช่ปล่อย หมายเหตุ: การเรียกกลับจะดำเนินการในเธรดที่แยกจากกันแบบอะซิงโครนัส สำหรับตัวอย่างวิธีใช้การโทรกลับแบบซิงโครนัส โปรดดู wait
ตัวอย่าง:
# Different but equivalent ways to listen for a spacebar key press.
add_hotkey ( ' ' , print , args = [ 'space was pressed' ])
add_hotkey ( 'space' , print , args = [ 'space was pressed' ])
add_hotkey ( 'Space' , print , args = [ 'space was pressed' ])
# Here 57 represents the keyboard code for spacebar; so you will be
# pressing 'spacebar', not '57' to activate the print function.
add_hotkey ( 57 , print , args = [ 'space was pressed' ])
add_hotkey ( 'ctrl+q' , quit )
add_hotkey ( 'ctrl+alt+enter, space' , some_callback )
[แหล่งที่มา]
ลบฮอตคีย์ที่เชื่อมต่อไว้ก่อนหน้านี้ จะต้องถูกเรียกด้วยค่าที่ส่งคืนโดย add_hotkey
[แหล่งที่มา]
ลบคีย์ลัดของแป้นพิมพ์ทั้งหมดที่ใช้งานอยู่ รวมถึงตัวย่อ โปรแกรมฟังคำ โปรแกรม record
และโปรแกรม wait
[แหล่งที่มา]
เมื่อใดก็ตามที่มีการกดปุ่มลัด src
ให้ระงับและส่ง dst
แทน
ตัวอย่าง:
remap ( 'alt+w' , 'ctrl+up' )
[แหล่งที่มา]
สร้างรายการรหัสสแกนที่กดในปัจจุบันทั้งหมด ปล่อยและส่งคืนรายการ เข้ากันได้ดีกับ restore_state
และ restore_modifiers
[แหล่งที่มา]
การระบุรายการ scan_codes ช่วยให้มั่นใจได้ว่าคีย์เหล่านี้และเฉพาะคีย์เหล่านี้เท่านั้นที่ถูกกด เข้ากันได้ดีกับ stash_state
ซึ่งเป็นทางเลือกแทน restore_modifiers
[แหล่งที่มา]
เช่นเดียวกับ restore_state
แต่กู้คืนเฉพาะคีย์ตัวปรับแต่งเท่านั้น
[แหล่งที่มา]
ส่งเหตุการณ์แป้นพิมพ์ปลอมไปยังระบบปฏิบัติการ จำลองการพิมพ์ข้อความที่กำหนด อักขระที่ไม่มีอยู่บนแป้นพิมพ์จะถูกพิมพ์เป็นอักขระ Unicode ที่ชัดเจนโดยใช้ฟังก์ชันการทำงานเฉพาะของระบบปฏิบัติการ เช่น alt+codepoint
เพื่อให้แน่ใจว่าข้อความมีความสมบูรณ์ ปุ่มที่กดทั้งหมดในปัจจุบันจะถูกปล่อยก่อนที่จะพิมพ์ข้อความ และตัวแก้ไขจะถูกกู้คืนในภายหลัง
delay
คือจำนวนวินาทีที่รอระหว่างการกดปุ่ม โดยค่าเริ่มต้นคือไม่มีการหน่วงเวลาrestore_state_after
สถานะของคีย์ที่กดหลังจากพิมพ์ข้อความแล้ว เช่น กดปุ่มที่ปล่อยออกมาเมื่อเริ่มต้น ค่าเริ่มต้นเป็น Trueexact
ในการพิมพ์อักขระทั้งหมดเป็น Unicode ที่ชัดเจน (เช่น alt+codepoint หรือกิจกรรมพิเศษ) หากไม่มี ให้ใช้ค่าที่แนะนำเฉพาะแพลตฟอร์ม [แหล่งที่มา]
บล็อคการทำงานของโปรแกรมจนกว่าจะกดคีย์ลัดที่กำหนด หรือหากไม่ได้ระบุพารามิเตอร์ บล็อคตลอดไป
[แหล่งที่มา]
ส่งคืนการแสดงสตริงของคีย์ลัดจากชื่อคีย์ที่กำหนด หรือคีย์ที่กดในปัจจุบันหากไม่ได้ระบุ ฟังก์ชั่นนี้:
ตัวอย่าง:
get_hotkey_name ([ '+' , 'left ctrl' , 'shift' ])
# "ctrl+shift+plus"
[แหล่งที่มา]
บล็อกจนกว่าจะมีเหตุการณ์แป้นพิมพ์เกิดขึ้น จากนั้นจึงส่งคืนเหตุการณ์นั้น
[แหล่งที่มา]
บล็อกจนกว่าเหตุการณ์แป้นพิมพ์จะเกิดขึ้น จากนั้นจะส่งคืนชื่อของเหตุการณ์นั้นหรือรหัสสแกน (หากไม่มี)
[แหล่งที่มา]
คล้ายกับ read_key()
แต่บล็อกจนกว่าผู้ใช้จะกดและปล่อยปุ่มลัด (หรือปุ่มเดียว) จากนั้นส่งคืนสตริงที่แสดงถึงปุ่มลัดที่กด
ตัวอย่าง:
read_hotkey ()
# "ctrl+shift+p"
[แหล่งที่มา]
เมื่อพิจารณาถึงลำดับของเหตุการณ์ พยายามอนุมานว่าสตริงใดถูกพิมพ์ สตริงจะถูกแยกออกเมื่อมีการกดปุ่มที่ไม่ใช่ข้อความ (เช่น แท็บหรือ Enter) อักขระจะถูกแปลงเป็นตัวพิมพ์ใหญ่ตามสถานะกะและแคปล็อค ถ้า allow_backspace
เป็นTrue Backspaces จะลบอักขระตัวสุดท้ายที่พิมพ์
ฟังก์ชันนี้เป็นตัวสร้าง ดังนั้นคุณจึงสามารถส่งกระแสเหตุการณ์ที่ไม่มีที่สิ้นสุดและแปลงเป็นสตริงแบบเรียลไทม์
โปรดทราบว่าฟังก์ชันนี้เป็นเพียงการศึกษาพฤติกรรมเท่านั้น ตัวอย่างเช่น Windows จะเก็บสถานะแป้นพิมพ์ต่อกระบวนการ เช่น รูปแบบแป้นพิมพ์ และข้อมูลนี้ไม่พร้อมใช้งานสำหรับ hooks ของเรา
get_type_strings ( record ()) #-> ['This is what', 'I recorded', '']
[แหล่งที่มา]
เริ่มบันทึกเหตุการณ์แป้นพิมพ์ทั้งหมดลงในตัวแปรร่วมหรือคิวที่กำหนด (หากมี) ส่งกลับคิวของเหตุการณ์และฟังก์ชัน hooked
ใช้ stop_recording()
หรือ unhook(hooked_function)
เพื่อหยุด
[แหล่งที่มา]
หยุดการบันทึกเหตุการณ์ทั่วโลกและส่งคืนรายการเหตุการณ์ที่บันทึกไว้
[แหล่งที่มา]
บันทึกเหตุการณ์แป้นพิมพ์ทั้งหมดจากแป้นพิมพ์ทั้งหมดจนกว่าผู้ใช้จะกดปุ่มลัดที่กำหนด จากนั้นส่งคืนรายการเหตุการณ์ที่บันทึกไว้ ประเภท keyboard.KeyboardEvent
เข้ากันได้ดีกับ play(events)
หมายเหตุ: นี่คือฟังก์ชันการบล็อก หมายเหตุ: สำหรับรายละเอียดเพิ่มเติมเกี่ยวกับ hook ของแป้นพิมพ์และกิจกรรมต่างๆ โปรดดู hook
[แหล่งที่มา]
เล่นลำดับเหตุการณ์ที่บันทึกไว้ โดยคงช่วงเวลาที่เกี่ยวข้องไว้ หาก speed_factor เป็น <= 0 การดำเนินการจะถูกเล่นซ้ำโดยเร็วที่สุดเท่าที่ระบบปฏิบัติการอนุญาต เข้ากันได้ดีกับ record()
หมายเหตุ: สถานะแป้นพิมพ์ปัจจุบันจะถูกล้างตั้งแต่เริ่มต้นและเรียกคืนเมื่อสิ้นสุดฟังก์ชัน
[แหล่งที่มา]
เรียกใช้การโทรกลับทุกครั้งที่พิมพ์ลำดับอักขระ (เช่น 'pet') และตามด้วยปุ่มทริกเกอร์ (เช่น ช่องว่าง) ตัวแก้ไข (เช่น alt, ctrl, shift) จะถูกละเว้น
word
ข้อความที่พิมพ์ที่จะจับคู่ เช่น 'สัตว์เลี้ยง'callback
เป็นฟังก์ชันที่ไม่มีอาร์กิวเมนต์ที่จะเรียกใช้ทุกครั้งที่พิมพ์คำtriggers
คือรายการคีย์ที่จะทำให้มีการตรวจสอบการจับคู่ หากผู้ใช้กดปุ่มที่ไม่ใช่อักขระ (len>1) และไม่ได้อยู่ในทริกเกอร์ อักขระจนถึงขณะนี้จะถูกละทิ้ง โดยค่าเริ่มต้น ทริกเกอร์จะมีเพียง space
เท่านั้นmatch_suffix
กำหนดว่าควรตรวจสอบการลงท้ายคำแทนที่จะตรวจสอบเฉพาะคำทั้งหมดหรือไม่ เช่น หากเป็นจริง การพิมพ์ 'carpet'+เว้นวรรค จะเรียกให้ผู้ฟังพูดว่า 'pet' ค่าเริ่มต้นเป็นเท็จ จะตรวจสอบเฉพาะคำทั้งหมดเท่านั้นtimeout
คือจำนวนวินาทีสูงสุดระหว่างอักขระที่พิมพ์ก่อนที่คำปัจจุบันจะถูกละทิ้ง ค่าเริ่มต้นคือ 2 วินาที ส่งคืนตัวจัดการเหตุการณ์ที่สร้างขึ้น หากต้องการลบคำ Listener ให้ใช้ remove_word_listener(word)
หรือ remove_word_listener(handler)
หมายเหตุ: การดำเนินการทั้งหมดจะดำเนินการเมื่อกดปุ่มลง เหตุการณ์คีย์อัพจะถูกละเว้น หมายเหตุ: การจับคู่คำจะ คำนึงถึงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่
[แหล่งที่มา]
ลบผู้ฟังคำที่ลงทะเบียนไว้ก่อนหน้านี้ ยอมรับคำที่ใช้ระหว่างการลงทะเบียน (สตริงที่แน่นอน) หรือตัวจัดการเหตุการณ์ที่ส่งคืนโดยฟังก์ชัน add_word_listener
หรือ add_abbreviation
[แหล่งที่มา]
ลงทะเบียนปุ่มลัดที่จะแทนที่ข้อความที่พิมพ์ด้วยข้อความอื่น ตัวอย่างเช่น
add_abbreviation ( 'tm' , u'™' )
แทนที่ "tm" ทุกตัวตามด้วยช่องว่างด้วยสัญลักษณ์ ™ (และไม่มีช่องว่าง) การแทนที่ทำได้โดยการส่งเหตุการณ์ Backspace
match_suffix
กำหนดว่าควรตรวจสอบการลงท้ายของคำ แทนที่จะตรวจสอบเฉพาะคำทั้งหมดหรือไม่ เช่น หากเป็นจริง การพิมพ์ 'carpet'+เว้นวรรค จะเรียกให้ผู้ฟังพูดว่า 'pet' ค่าเริ่มต้นเป็นเท็จ จะตรวจสอบเฉพาะคำทั้งหมดเท่านั้นtimeout
คือจำนวนวินาทีสูงสุดระหว่างอักขระที่พิมพ์ก่อนที่คำปัจจุบันจะถูกยกเลิก ค่าเริ่มต้นคือ 2 วินาที สำหรับรายละเอียดเพิ่มเติม โปรดดูที่ add_word_listener
[แหล่งที่มา]
กำหนดชื่อคีย์ (เช่น "LEFT CONTROL") ให้ล้างสตริงและแปลงเป็นรูปแบบมาตรฐาน (เช่น "left ctrl") หากทราบ