[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Два рабочих места на одном компе. VirtualBox + USB клава + USB мышь + xinput... Настроить устройства ввода.



Привет.
У меня на ноуте стоит debian squeeze stable. Есть выход VGA на второй
монитор. Вот. Я захотел сделать два рабочих места на одном компе.
Подключил VGA-монитор к VGA-выходу, выполнил команду

xrandr --output VGA1 --auto --output LVDS1 --mode 1280x800 --left-of
VGA1

и у меня включился второй монитор, который являлся продолжением
ноутбучного монитора. Я установил VirtualBox (в debian'e), и поставил в
виртуальную машину Windows XP. Подключил USB-клавиатуру и USB-мышь к
ноуту. Задача состоит в том, чтобы в Windows, работающий на мониторе
VGA, могло работаться с USB-клавиатурой и мышью. А Synaptics тачпад и
ноутбучная клава должны принадлежать debian сквизу. Вот. Проблема
появилась в том, что Windows на VirtualBox'e перехватывает обработчики
устройств Synaptics тачпад и ноутбучную клавиатуру (а надо чтобы
перехватывались USB-мышь и USB-клавиатура). Вот вывод xinput list до
подключения USB-клавиатуры и USB-мыши:

$ xinput list

 ⎡ Virtual core pointer                    	id=2	[master
 pointer  (3)] ⎜   ↳ Virtual core XTEST pointer
 id=4	[slave  pointer  (2)] ⎜   ↳ SynPS/2 Synaptics
 TouchPad              	id=11	[slave  pointer  (2)] ⎜   ↳
 A4Tech USB Mouse                        	id=13	[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)] ↳ Acer Crystal Eye
 webcam                 	id=9	[slave  keyboard (3)] ↳ AT
 Translated Set 2 keyboard            	id=10	[slave
 keyboard (3)] ↳ ACPI Virtual Keyboard Device
 id=12	[slave  keyboard (3)]

Потом я создал второе устройство Auxiliary.. ну вот подробности:

$ xinput create-master Auxiliary

$ xinput reattach 13 "Auxiliary pointer"

Проблему перехвата виндой Synaptics тачпада и ноутбучной клавы была
частично решена, когда я xinput'ом поменял местами устройства ввода. То
есть из Virtual перенес в Auxiliary. И из Auxiliary в Virtual. Но
появилась другая проблема - почему то когда печатается какой нибуть
текстовой документ, то у меня в дебиане на терминале например,
появляется то, что печатается там в винде. И сильно жутко тормозит
почему то debian система после изменения порядка устройств ввода (( Не
могу понять почему.

Для нормальной работы винды в VirtualBox нужно, чтобы SynPS/2 был в
группе "Auxiliary pointer", а A4Tech USB Mouse был в группе "Virtual
core pointer"! Как показано ниже:

 ⎡ Virtual core pointer                    	id=2	[master
 pointer  (3)] ⎜   ↳ Virtual core XTEST pointer
 id=4	[slave  pointer  (2)] ⎜   ↳ A4Tech USB
 Mouse                        	id=13	[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)] ↳ Acer Crystal Eye
 webcam                 	id=9	[slave  keyboard (3)] ↳ AT
 Translated Set 2 keyboard            	id=10	[slave
 keyboard (3)] ↳ ACPI Virtual Keyboard Device
 id=12	[slave  keyboard (3)] ⎡ Auxiliary
 pointer                       	id=14	[master pointer
 (15)] ⎜   ↳ SynPS/2 Synaptics TouchPad
 id=11	[slave  pointer  (14)] ⎜   ↳ Auxiliary XTEST
 pointer                 	id=16	[slave  pointer  (14)] ⎣
 Auxiliary keyboard                      	id=15	[master
 keyboard (14)] ↳ Auxiliary XTEST keyboard
 id=17	[slave  keyboard (15)]

В конце работы надо удалить мышь A4Tech и ее указатель командой:

$ xinput remove-master "Auxiliary pointer"

А для клавиатуры xinput list должен быть таким:

alexander@ninja:~$ xinput list
⎡ Virtual core pointer                    	id=2	[master
pointer  (3)] ⎜   ↳ Virtual core XTEST pointer
id=4	[slave  pointer  (2)] ⎜   ↳ SIGMACH1P USB
Keykoard                  	id=13	[slave  pointer  (2)]
⎜   ↳ A4Tech USB Mouse                        	id=15
[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)] ↳ Acer Crystal Eye
webcam                 	id=9	[slave  keyboard (3)] ↳ ACPI
Virtual Keyboard Device            	id=12	[slave
keyboard (3)] ↳ SIGMACH1P USB Keykoard
id=14	[slave  keyboard (3)] ⎡ Auxiliary
pointer                       	id=16	[master pointer
(17)] ⎜   ↳ SynPS/2 Synaptics TouchPad
id=11	[slave  pointer  (16)] ⎜   ↳ Auxiliary XTEST
pointer                 	id=18	[slave  pointer  (16)] ⎣
Auxiliary keyboard                      	id=17	[master
keyboard (16)] ↳ AT Translated Set 2 keyboard
id=10	[slave  keyboard (17)] ↳ Auxiliary XTEST
keyboard                	id=19	[slave  keyboard (17)]

Короче надо разобраться почему система тормозит после смены порядка
устройств ввода (может я что то не то делаю, но USB мышь и клава
перехватываются VirtualBox'ом - и это вери гут), как правильно сделать
чтобы нормально перехватывались USB-клава и USB-мышь виндой, как
автоматизировать процесс постоянного ввода этих команд (xrandr ...
xinput - может создать скрипт какой нибудь.. как создать?). Помогите.


Reply to: