LINUX.ORG.RU

XInput: почему он не работает в терминальном режиме?

 ,


0

2

Решил я проверить события клавиатуры через программу xinput. Проверял на трех компьютерах. На первых двух xinput работает нормально. Примерно так:

Список устройств:

$ 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 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 37


А к третьему компьютеру у меня доступ через X-терминал. И на нем xinput не выполняет своей функции - не видит своих устройств, сегфолтится:

$ xinput
"pointer"	id=0	[XPointer]
"keyboard"	id=1	[XKeyboard]

$ xinput test 1
unable to find device '1'

$ xinput test-xi2 1
"keyboard"	id=1	[XKeyboard]
	Num_keys is 248
	Min_keycode is 8
	Max_keycode is 255
Ошибка сегментирования


Вопрос. XInput принципиально не работает через X-терминал (в моем случае это x2go), или это только мне так свезло в очередной раз словить редкий глюк?

★★★★★

Многие программы пишут с использованием всяческих расширений типа MIT-SHM, которые через удалённые сессии не работают. Проверок и fallback'ов не делают, поэтому программы падают. С этим вряд ли что-то можно поделать. А ещё может быть, что в x2go просто не реализована передача нужных команд.

i-rinat ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.