Ich verwende Kali 2022 (Linux) mit XFCE 4.16. Ich experimentiere mit Python Evdev Modul. Ich versuche zu erreichen, dass ich beim Drücken einer bestimmten Taste auf der Tastatur (wie Buchstaben 'a') anstelle von Buchstaben 'a' ein bestimmtes Unicode -Zeichen für das Fokuselement veröffentlichen möchte. In anderen Wörtern möchte ich KEY_A mit einem anderen Unicode -Charakter, das nicht 'a'.
Geben Sie dann den Unicode-Hex-Code für das Zeichen ein. Wenn ich diese Tastenanschläge mit uIinput in Python simuliere, posten die simulierten Tastenanschläge die individuellen Zeichen (wie u0985) im Fokuselement. Linux zeigt aus irgendeinem Grund den von ihm dargestellten Unicode -Zeichen nicht. Was ist das Problem in meinem Code und wie er den tatsächlichen Unicode drucken kann. < /p>
import evdev
from evdev import UInput, ecodes as e
import time
# Open the input device (replace with your actual device)
dev = evdev.InputDevice('/dev/input/event2')
dev.grab() # Grab the device to receive all events
# Create a virtual uinput device with capabilities
cap = {e.EV_KEY: [e.KEY_A, e.KEY_B,e.KEY_G,e.KEY_U,e.KEY_0,e.KEY_9,e.KEY_8,e.KEY_5,e.KEY_ENTER]}
ui = UInput(cap, name='my_virtual_keyboard')
for event in dev.read_loop():
if event.type == e.EV_KEY:
key_event = evdev.categorize(event)
if key_event.keystate == evdev.KeyEvent.key_down:
# Simulate pressing Ctrl+Shift+U
ui.write(event.type, e.KEY_LEFTCTRL, 1)
ui.write(event.type, e.KEY_LEFTSHIFT, 1)
ui.write(event.type, e.KEY_U, 1)
ui.write(event.type, e.KEY_U, 0) # Release U
ui.write(event.type, e.KEY_LEFTSHIFT, 0) # Release Shift
ui.write(event.type, e.KEY_LEFTCTRL, 0) # Release Ctrl
ui.syn() # Synchronize events
time.sleep(0.1) # Small delay for the system to register the input mode
# This would involve simulating individual key presses for '0', '9', '8', '5'
# ... (code to simulate these key presses) ...
ui.write(event.type, e.KEY_0, 1)
ui.write(event.type, e.KEY_0, 0)
ui.write(event.type, e.KEY_9, 1)
ui.write(event.type, e.KEY_9, 0)
ui.write(event.type, e.KEY_8, 1)
ui.write(event.type, e.KEY_8, 0)
ui.write(event.type, e.KEY_5, 1)
ui.write(event.type, e.KEY_5, 0)
ui.syn()
time.sleep(0.1) # Small delay for the system to register the input mode
# Simulate pressing Enter to confirm the Unicode input
ui.write(event.type, e.KEY_ENTER, 1)
ui.write(event.type, e.KEY_ENTER, 0)
ui.syn()
elif key_event.keystate == evdev.KeyEvent.key_up:
pass
else:
# Re-inject other event types (e.g., EV_SYN)
ui.write(event.type, event.code, event.value)
#ungrab and close
dev.ungrab()
ui.close()
Ich verwende Kali 2022 (Linux) mit XFCE 4.16. Ich experimentiere mit Python Evdev Modul. Ich versuche zu erreichen, dass ich beim Drücken einer bestimmten Taste auf der Tastatur (wie Buchstaben 'a') anstelle von Buchstaben 'a' ein bestimmtes Unicode -Zeichen für das Fokuselement veröffentlichen möchte. In anderen Wörtern möchte ich KEY_A mit einem anderen Unicode -Charakter, das nicht 'a'.[code]shit[/code]+[code]u[/code] Geben Sie dann den Unicode-Hex-Code für das Zeichen ein. Wenn ich diese Tastenanschläge mit uIinput in Python simuliere, posten die simulierten Tastenanschläge die individuellen Zeichen (wie u0985) im Fokuselement. Linux zeigt aus irgendeinem Grund den von ihm dargestellten Unicode -Zeichen nicht. Was ist das [url=viewtopic.php?t=26065]Problem[/url] in meinem Code und wie er den tatsächlichen Unicode drucken kann. < /p> [code]import evdev from evdev import UInput, ecodes as e import time
# Open the input device (replace with your actual device) dev = evdev.InputDevice('/dev/input/event2') dev.grab() # Grab the device to receive all events
# Create a virtual uinput device with capabilities cap = {e.EV_KEY: [e.KEY_A, e.KEY_B,e.KEY_G,e.KEY_U,e.KEY_0,e.KEY_9,e.KEY_8,e.KEY_5,e.KEY_ENTER]} ui = UInput(cap, name='my_virtual_keyboard')
for event in dev.read_loop():
if event.type == e.EV_KEY:
key_event = evdev.categorize(event) if key_event.keystate == evdev.KeyEvent.key_down:
# Simulate pressing Ctrl+Shift+U ui.write(event.type, e.KEY_LEFTCTRL, 1) ui.write(event.type, e.KEY_LEFTSHIFT, 1) ui.write(event.type, e.KEY_U, 1) ui.write(event.type, e.KEY_U, 0) # Release U ui.write(event.type, e.KEY_LEFTSHIFT, 0) # Release Shift ui.write(event.type, e.KEY_LEFTCTRL, 0) # Release Ctrl ui.syn() # Synchronize events time.sleep(0.1) # Small delay for the system to register the input mode
# This would involve simulating individual key presses for '0', '9', '8', '5' # ... (code to simulate these key presses) ... ui.write(event.type, e.KEY_0, 1) ui.write(event.type, e.KEY_0, 0)
Ich verwende Kali 2022 (Linux) mit XFCE 4.16. Ich experimentiere mit Python Evdev Modul. Ich versuche zu erreichen, dass ich beim Drücken einer bestimmten Taste auf der Tastatur (wie Buchstaben 'a')...
Ich habe versucht, eine Löschschaltfläche in meinen Taschenrechner zu integrieren, die die letzte vom Benutzer eingegebene Ziffer löscht. Als ich die Schaltfläche getestet habe, hat sie einfach...
Ich habe versucht, eine Löschschaltfläche in meinen Taschenrechner zu integrieren, die die letzte vom Benutzer eingegebene Ziffer löscht. Als ich die Schaltfläche getestet habe, hat sie einfach...
Ich versuche, mein Spiel für Google Play Games auf dem PC vorzubereiten (mein Spiel wird im Februar hinzugefügt). Derzeit wird die Bewegung in meinem Android-Spielclient über einen Joystick auf dem...