The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Индекс форумов
Составление сообщения

Исходное сообщение
"Раздел полезных советов: Одновременное использование двух мы..."
Отправлено auto_tips, 20-Янв-10 13:04 
Несколько дней назад в 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.ru/tips/info/2271.shtml

 

Ваше сообщение
Имя*:
EMail:
Для отправки ответов на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру