Выходной символ Unicode, подавляя исходный клавиш физической клавиатуры с использованием evdev-python в LinuxPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Выходной символ Unicode, подавляя исходный клавиш физической клавиатуры с использованием evdev-python в Linux

Сообщение Anonymous »

Я использую Kali 2022 (Linux) с XFCE 4.16. Я экспериментирую с модулем Python evdev . Я пытаюсь достичь при нажатии определенной клавиши на клавиатуре (например, буква «a»), вместо буквы «a», я хочу опубликовать конкретный символ Unicode на элементе фокусировки. Другие слова, я хочу отобразить key_a с другим символом Unicode, который не является «а».shit+u затем введите шестигранный код Unicode для символа. Но когда я моделирую эти клавиши, используя uinput в Python, моделируемые клавишные клавиши публикуют ненужные символы (например, U0985) в элементе фокуса. Linux по какой -то причине не показывает символ Unicode, представленный им. Какая проблема в моем коде и как он может распечатать фактический Unicode. < /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()


Подробнее здесь: https://stackoverflow.com/questions/797 ... keyboard-u
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Выходной символ Unicode, подавив исходный клавиш с использованием Evdev Python в Linux
    Anonymous » » в форуме Python
    0 Ответы
    6 Просмотры
    Последнее сообщение Anonymous
  • Выходной символ Unicode, подавив исходный клавиш с использованием Evdev Python в Linux
    Anonymous » » в форуме Linux
    0 Ответы
    14 Просмотры
    Последнее сообщение Anonymous
  • Получение клавиш, таких как Cmd-B, с физической клавиатуры в приложении для iPad.
    Anonymous » » в форуме IOS
    0 Ответы
    7 Просмотры
    Последнее сообщение Anonymous
  • Поддержка физической клавиатуры Android для нажатия и удержания клавиш
    Anonymous » » в форуме JAVA
    0 Ответы
    13 Просмотры
    Последнее сообщение Anonymous
  • Поддержка физической клавиатуры Android для нажатия и удержания клавиш
    Anonymous » » в форуме Android
    0 Ответы
    8 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Python»