Несколько дней назад в Debian unstable был добавлен пакет с Xorg 7.5, в котором появилась поддержка подсистемы XInput2, позволяющей одновременно задействовать на одном экране несколько устройств ввода.
Ниже показано как обеспечить работу в X.Org двух манипуляторов мышь, которыми можно управлять взяв их в правую и левую руки.Подключаем вторую мышь (Topro) к ПК и смотрим список доступных устройств ввода:
$ xinput list
Virtual core pointer id=2 [master pointer (3)]
Virtual core XTEST pointer id=4 [slave pointer (2)]
"Logitech USB-PS/2 Optical Mouse" id=10 [slave pointer (2)]
"Topro USB Mouse" id=12 [slave pointer (2)]
Virtual core keyboard id=3 [master keyboard (2)]
..."Topro USB Mouse" будем использовать левой рукой, а мышь Logitech - правой.
Создаем дополнительное первичное устройство ввода
$ xinput create-master Auxiliary
Вновь смотрим список устройств:
$ xinput list
...
Auxiliary pointer id=13 [master pointer (14)]
Auxiliary XTEST pointer id=15 [slave pointer (13)]
Auxiliary keyboard id=14 [master keyboard (13)]
Auxiliary XTEST keyboard id=16 [slave keyboard (14)]Переводим мышь Topro (id 12) в категорию Auxiliary:
$ xinput reattach 12 "Auxiliary pointer"
Смотрим, что получилось:
$ xinput list
Мышь Logitech осталась в блоке "Virtual core pointer", а Topro появилась в "Auxiliary pointer".
Теперь два указателя мыши перемещаются по экрану отдельно.
Но для удобства управления поменяем маппинг кнопок для мыши Topro (id 12), которую будем держать в левой руке:
$ xinput set-button-map 12 3 2 1
Чтобы видеть какой указатель соответствует каждой мыши поменяем оформление курсора:
$ sudo aptitude install git-core
$ git clone git://git.ao2.it/xicursorset.git
$ cd xicursorset
$ sudo aptitude install libxi-dev libxcursor-dev
$ makeМеняем курсор для левой мыши (Auxiliary pointer, id 13):
$ ./xicursorset 13 right_ptr redglass
и для правой (Virtual core pointer, id=2):
$ ./xicursorset 2 left_ptr whiteglass
Для тестирования установим приложение vinput, поддерживающие multi-pointer (MPX) режим работы:
$ git clone git://gitorious.org/vinput/vinput.git
$ cd vinput/demo
$ gcc -o demo-paint demo-paint.c `pkg-config --cflags --libs xi`
$ ./demo-paintВ настоящее время MPX не поддерживает Gtk+ и соответственно не получится рисовать одновременно двумя мышами в GIMP или Inkscape, но можно одной мышью выбирать инструменты или элементы меню, а другой рисовать. Ситуация изменится с выходом Gtk+3. Также перетаскивание одновременно двух окон еще не работает в оконном менеджере Metacity, но иконки перетаскивать одновременно в Nautilus с перемещением окна в Metacity уже можно. Qt поддерживает мултитач начиная с версии 4.6
URL: http://ao2.it/en/blog/2010/01/19/poor-mans-multi-touch-using...
Обсуждается: http://www.opennet.me/tips/info/2271.shtml
А в TWM и WindowMaker поддержка мультитача скоро появится?
Получается, мультитач никому не нужен? ;-)
Отлично! Пора начинать писать игрушку с поддержкой 2х мышей.
и на каждую мышку по десятку клавиш. что бы клавиатуру убрать как устройство от компа:)
G9x или мышьку для OpenOffice[~два десятка клавиш ?] ? ;)
>и на каждую мышку по десятку клавиш. что бы клавиатуру убрать как
>устройство от компа:)G9x или мышьку для OpenOffice[~два десятка клавиш ?] ? ;)
такие игры еще в начале девяностых были правда для доса:)
Это наверно самое то для multiseat, без гемороя с компиляцией edev input драйверов
Вот именно этой возможности для мультисита я и жду. Ещё с клавиатурами бы разобраться в такой способ и развести мишки-клавы на разные екраны. Может кто уже сообразил как это сделать?
это совсем не для ультисита. Конечно если вы не заставите двух человек работать за одним экрном:)А так мультисит уже давно работает без напильника
а зачем оно надо?
Тоже под этим вопросом подпишусь.
Multiseat надо, чтобы подключить к одному компу два набора экран-клава-мышь и вдвоём сидеть делать свои дела. Как уже сказали, MPX тут ни при чём.
и пришли к тонким клиентам?
Я тоже этого ждал. И меня тоже интересует "развод" клавиатур по экранам.Может кто уже сообразил как это сделать?
А по поводу того, что мультисит давно работает без напильника могу лишь печально поулыбаться.
На сколько я помню давно уже делают так. Воспользуйтесь поиском.
>В настоящее время MPX не поддерживает Gtk+В настоящее время GTK не поддерживает MPX.
Под бунтой до сих пор в XOrg нету MPX. Оверлей^W Репозиторий с ним не подскажите?
это, конечно, хорошо. кто-нибудь подскажите как можно управлять курсором мыши с клавиатуры?
В гноме через меню специальных возмодностей в настройках клавиатуры (хотя это может быть только в Убунту, так как насрока клавиатуры глючная - нигде больше не использую гном), а новое кде не использовал так сильно.
Интересно, почему еще не придумали ПО, позволяющее из одного ПК сделать два рабочих места? (+1 монитор и комплект клава-мышь) Ведь какая бы была польза от такой многозадачности.
>почему еще не придумали ПОВсё уже украдено до Вас.
>два рабочих места? (+1 монитор и комплект клава-мышь) Ведь какая бы была
Драссте-просыпайтесь!?
http://google.ru/search?q=multiseat+howto
google.ru + "Змей Горыныч" linux