Возможно ли иметь два разных фокуса/фокуса на окнах X? (В основном используется две мыши и клавиатуры одновременно с одной физической машиной. Если да, то как это достигается?
Два фокуса на X Windows
comment
На одном компьютере или на одном X-сервере? Обычный случай, когда на этой машине работает только один X-сервер, и это не единственная возможность: может быть много X-серверов, работающих одновременно и независимо. См. также: en.wikipedia.org/wiki/Multiseat_configuration#GNU.2FLinux Насчет двух фокусов на одном X Window сервере - нет.
- person Piskvor left the building   schedule 28.02.2012
comment
Одна физическая машина И один X-сервер. Два курсора/фокуса на одном X-сервере.
- person cat pants   schedule 28.02.2012
comment
Я думаю, что несколько лет назад я видел взлом/прототип нескольких курсоров; но был только один фокус IIRC. Кажется, это он: multicursor-wm.sourceforge.net
- person Piskvor left the building   schedule 28.02.2012
Ответы (1)
С последними серверами Xorg, да. Вам необходимо использовать расширение XInput версии 2.0 или новее. Вам также понадобится оконный менеджер, способный это сделать, и я не уверен, какой из современных WM уже может это сделать.
Документация:
- http://cgit.freedesktop.org/xorg/proto/inputproto/
- http://cgit.freedesktop.org/xorg/lib/libXi/
- http://who-t.blogspot.com/ (это парень, который написал все это, в его блоге есть чему поучиться)
В Debian Testing я даже могу получить два указателя и начать их использовать прямо сейчас (один управляется USB-мышью, а другой — тачпадом):
pzanoni@vicky:~$ xinput --list
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ USB Optical Mouse id=11 [slave pointer (2)]
⎜ ↳ SynPS/2 Synaptics TouchPad id=13 [slave pointer (2)]
⎜ ↳ TPPS/2 IBM TrackPoint id=14 [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)]
↳ Video Bus id=7 [slave keyboard (3)]
↳ Sleep Button id=8 [slave keyboard (3)]
↳ Lite-On Technology USB Productivity Option Keyboard( has the hub in # 1 ) id=9 [slave keyboard (3)]
↳ Lite-On Technology USB Productivity Option Keyboard( has the hub in # 1 ) id=10 [slave keyboard (3)]
↳ AT Translated Set 2 keyboard id=12 [slave keyboard (3)]
↳ ThinkPad Extra Buttons id=15 [slave keyboard (3)]
↳ ACPI Virtual Keyboard Device id=16 [slave keyboard (3)]
pzanoni@vicky:~$ xinput --create-master my 1 1
pzanoni@vicky:~$ xinput --list
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ USB Optical Mouse id=11 [slave pointer (2)]
⎜ ↳ SynPS/2 Synaptics TouchPad id=13 [slave pointer (2)]
⎜ ↳ TPPS/2 IBM TrackPoint id=14 [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)]
↳ Video Bus id=7 [slave keyboard (3)]
↳ Sleep Button id=8 [slave keyboard (3)]
↳ Lite-On Technology USB Productivity Option Keyboard( has the hub in # 1 ) id=9 [slave keyboard (3)]
↳ Lite-On Technology USB Productivity Option Keyboard( has the hub in # 1 ) id=10 [slave keyboard (3)]
↳ AT Translated Set 2 keyboard id=12 [slave keyboard (3)]
↳ ThinkPad Extra Buttons id=15 [slave keyboard (3)]
↳ ACPI Virtual Keyboard Device id=16 [slave keyboard (3)]
⎡ my pointer id=17 [master pointer (18)]
⎜ ↳ my XTEST pointer id=19 [slave pointer (17)]
⎣ my keyboard id=18 [master keyboard (17)]
↳ my XTEST keyboard id=20 [slave keyboard (18)]
pzanoni@vicky:~$ xinput --reattach "SynPS/2 Synaptics TouchPad" "my pointer"
person
pzanoni
schedule
03.04.2012
Чувак, ты правишь. Благодаря тонну!!
- person cat pants; 12.04.2012