MyTetra Share
Делитесь знаниями!
Какой программой можно глобально просматривать нажатия клавиш в X11
Время создания: 08.06.2016 22:13
Раздел: Компьютер - Linux - Оконные менеджеры DE и X-сервер X11 в Linux
Запись: xintrea/mytetra_syncro/master/base/1465413195om4g8liulh/text.html на raw.github.com

Имеется возможность просматривать глобально нажатия клавиш в XWindow (X11). Глобально - это значит, что нажатия (и отжатия!!!) клавиш будут отображаться не для текущего окна, а для всех окон X11.


Для этого надо сначала получить список виртуальных устройств:


$ xinput list

⎡ Virtual core pointer id=2 [master pointer (3)]

⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]

⎜ ↳ bcm5974 id=13 [slave pointer (2)]

⎜ ↳ Logitech Unifying Device. Wireless PID:1028 id=9 [slave pointer (2)]

⎣ Virtual core keyboard id=3 [master keyboard (2)]

↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)]

↳ Power Button id=6 [slave keyboard (3)]

↳ Power Button id=7 [slave keyboard (3)]

↳ Sleep Button id=8 [slave keyboard (3)]

↳ FaceTime HD Camera (Built-in) id=11 [slave keyboard (3)]

↳ Apple Inc. Apple Internal Keyboard / Trackpad id=12 [slave keyboard (3)]

↳ daskeyboard id=10 [slave keyboard (3)]

↳ daskeyboard id=14 [slave keyboard (3)]


На другом компьютере:


$ ./xinput

⎡ Virtual core pointer id=2 [master pointer (3)]

⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]

⎜ ↳ HID 1241:1177 id=8 [slave pointer (2)]

⎜ ↳ SIGMACH1P USB Keykoard id=10 [slave pointer (2)]

⎣ Virtual core keyboard id=3 [master keyboard (2)]

↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)]

↳ Power Button id=6 [slave keyboard (3)]

↳ Power Button id=7 [slave keyboard (3)]

↳ SIGMACH1P USB Keykoard id=9 [slave keyboard (3)]


Затем можно посмотреть события одной из виртуальных клавиатур, используя ее идентификатор:


$ xinput test 14

key release 36

key press 43

hkey release 43

key press 26

ekey release 26

key press 46

lkey release 46

key press 46

lkey release 46

key press 32

okey release 32

key press 37

key press 54


На другом компьютере:


$ ./xinput test 9

key release 36

key press 48

key press 47

key release 48

key press 46

lkey release 47

key release 46

key press 41

key press 36

key release 41

key release 36

key press 62

key release 62

key press 50

key release 50

key press 37


Так же в этом разделе:
 
MyTetra Share v.0.59
Яндекс индекс цитирования