Request to be able to use the numpad if numlock is on and only process fenrir commands if numlock is off. This should work, let me know if anything breaks.
This commit is contained in:
parent
f68a1af223
commit
2dda73ac87
@ -11,6 +11,14 @@ class cursorManager():
|
||||
pass
|
||||
def initialize(self, environment):
|
||||
self.env = environment
|
||||
def shouldProcessNumpadCommands(self):
|
||||
"""
|
||||
Check if numpad commands should be processed based on numlock state
|
||||
Return True if numlock is OFF (commands should work)
|
||||
Return False if numlock is ON (let keys type numbers)
|
||||
"""
|
||||
# Return False if numlock is ON
|
||||
return not self.env['input']['newNumLock']
|
||||
def shutdown(self):
|
||||
pass
|
||||
def clearMarks(self):
|
||||
|
@ -274,10 +274,32 @@ class inputManager():
|
||||
def getCurrShortcut(self, inputSequence = None):
|
||||
shortcut = []
|
||||
shortcut.append(self.env['input']['shortcutRepeat'])
|
||||
|
||||
numpadKeys = ['KEY_KP0', 'KEY_KP1', 'KEY_KP2', 'KEY_KP3', 'KEY_KP4',
|
||||
'KEY_KP5', 'KEY_KP6', 'KEY_KP7', 'KEY_KP8', 'KEY_KP9',
|
||||
'KEY_KPDOT', 'KEY_KPPLUS', 'KEY_KPMINUS', 'KEY_KPASTERISK',
|
||||
'KEY_KPSLASH', 'KEY_KPENTER', 'KEY_KPEQUAL']
|
||||
if inputSequence:
|
||||
# Check if any key in the sequence is a numpad key and numlock is ON
|
||||
# If numlock is ON and any key in the sequence is a numpad key, return an empty shortcut
|
||||
if not self.env['runtime']['cursorManager'].shouldProcessNumpadCommands():
|
||||
for key in inputSequence:
|
||||
if key in numpadKeys:
|
||||
# Return an empty/invalid shortcut that won't match any command
|
||||
return "[]"
|
||||
|
||||
shortcut.append(inputSequence)
|
||||
else:
|
||||
# Same check for current input
|
||||
|
||||
if not self.env['runtime']['cursorManager'].shouldProcessNumpadCommands():
|
||||
for key in self.env['input']['currInput']:
|
||||
if key in numpadKeys:
|
||||
# Return an empty/invalid shortcut that won't match any command
|
||||
return "[]"
|
||||
|
||||
shortcut.append(self.env['input']['currInput'])
|
||||
|
||||
if len(self.env['input']['prevInput']) < len(self.env['input']['currInput']):
|
||||
if self.env['input']['shortcutRepeat'] > 1 and not self.shortcutExists(str(shortcut)):
|
||||
shortcut = []
|
||||
|
@ -4,5 +4,5 @@
|
||||
# Fenrir TTY screen reader
|
||||
# By Chrys, Storm Dragon, and contributers.
|
||||
|
||||
version = "2025.04.10"
|
||||
version = "2025.04.14"
|
||||
codeName = "testing"
|
||||
|
Loading…
x
Reference in New Issue
Block a user