fix: Shift and Ctrl are now explicitly tracked, emergency unlock fixed.
This commit is contained in:
12
main.py
12
main.py
@@ -38,6 +38,10 @@ HC_ACTION = 0
|
||||
VK_F12 = 0x7B
|
||||
VK_CONTROL = 0x11
|
||||
VK_SHIFT = 0x10
|
||||
VK_LSHIFT = 0xA0
|
||||
VK_RSHIFT = 0xA1
|
||||
VK_LCONTROL = 0xA2
|
||||
VK_RCONTROL = 0xA3
|
||||
|
||||
LLKHF_INJECTED = 0x10
|
||||
LLMHF_INJECTED = 0x01
|
||||
@@ -130,14 +134,14 @@ def keyboard_proc(n_code, w_param, l_param):
|
||||
injected = (kb.flags & LLKHF_INJECTED) != 0
|
||||
if not injected:
|
||||
if w_param in (WM_KEYDOWN, WM_SYSKEYDOWN):
|
||||
if kb.vkCode == VK_CONTROL:
|
||||
if kb.vkCode in (VK_CONTROL, VK_LCONTROL, VK_RCONTROL):
|
||||
ctrl_down = True
|
||||
elif kb.vkCode == VK_SHIFT:
|
||||
elif kb.vkCode in (VK_SHIFT, VK_LSHIFT, VK_RSHIFT):
|
||||
shift_down = True
|
||||
elif w_param in (WM_KEYUP, WM_SYSKEYUP):
|
||||
if kb.vkCode == VK_CONTROL:
|
||||
if kb.vkCode in (VK_CONTROL, VK_LCONTROL, VK_RCONTROL):
|
||||
ctrl_down = False
|
||||
elif kb.vkCode == VK_SHIFT:
|
||||
elif kb.vkCode in (VK_SHIFT, VK_LSHIFT, VK_RSHIFT):
|
||||
shift_down = False
|
||||
if cat_mode and not injected:
|
||||
# Emergency unlock combo: Ctrl+Shift+F12
|
||||
|
||||
Reference in New Issue
Block a user