The OpenNET Project / Index page

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

Одновременное использование двух мышей на одном экране в X.Org
Несколько дней назад в 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
 
20.01.2010 , Источник: http://ao2.it/en/blog/2010/01/19/po...
Ключи: mpx, xorg, multitouch, mouse, input, xinput / Лицензия: CC-BY
Раздел:    Корень / Пользователю / Файлы, копирование, архивация

Обсуждение [ Линейный режим | Показать все | RSS ]
  • 1.1, Аноним (-), 13:04, 20/01/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    А в TWM и WindowMaker поддержка мультитача скоро появится?
     
     
  • 2.3, Руслан1 (?), 14:17, 20/01/2010 [^] [^^] [^^^] [ответить]  
  • +/
    Получается, мультитач никому не нужен? ;-)
     

  • 1.2, zoonman (ok), 14:05, 20/01/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Отлично! Пора начинать писать игрушку с поддержкой 2х мышей.
     
     
  • 2.8, Админ Веня (?), 23:43, 20/01/2010 [^] [^^] [^^^] [ответить]  
  • +/
    и на каждую мышку по десятку клавиш. что бы клавиатуру убрать как устройство от компа:)
     
     
  • 3.16, Basiley (ok), 22:41, 21/01/2010 [^] [^^] [^^^] [ответить]  
  • +/
    G9x или мышьку для OpenOffice[~два десятка клавиш ?] ? ;)
     
  • 3.17, Basiley (ok), 22:41, 21/01/2010 [^] [^^] [^^^] [ответить]  
  • +/
    >и на каждую мышку по десятку клавиш. что бы клавиатуру убрать как
    >устройство от компа:)

    G9x или мышьку для OpenOffice[~два десятка клавиш ?] ? ;)

     

  • 1.4, serg (??), 17:02, 20/01/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    такие игры еще в начале девяностых были правда для доса:)
     
  • 1.5, ffsdmad (ok), 20:12, 20/01/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Это наверно самое то для multiseat, без гемороя с компиляцией edev input драйверов
     
     
  • 2.6, Дмитрий (??), 23:03, 20/01/2010 [^] [^^] [^^^] [ответить]  
  • +/
    Вот именно этой возможности для мультисита я и жду. Ещё с клавиатурами бы разобраться в такой способ и развести мишки-клавы на разные екраны. Может кто уже сообразил как это сделать?
     
     
  • 3.9, mma (?), 05:23, 21/01/2010 [^] [^^] [^^^] [ответить]  
  • +/
    это совсем не для ультисита. Конечно если вы не заставите двух человек работать за одним экрном:)

    А так мультисит уже давно работает без напильника

     
     
  • 4.10, centosuser (ok), 06:00, 21/01/2010 [^] [^^] [^^^] [ответить]  
  • +/
    а зачем оно надо?
     
     
  • 5.11, Vertigo (ok), 10:01, 21/01/2010 [^] [^^] [^^^] [ответить]  
  • +/
    Тоже под этим вопросом подпишусь.
     
  • 5.13, const86 (ok), 16:22, 21/01/2010 [^] [^^] [^^^] [ответить]  
  • +/
    Multiseat надо, чтобы подключить к одному компу два набора экран-клава-мышь и вдвоём сидеть делать свои дела. Как уже сказали, MPX тут ни при чём.
     
     
  • 6.14, centosuser (ok), 16:27, 21/01/2010 [^] [^^] [^^^] [ответить]  
  • +/
    и пришли к тонким клиентам?
     
  • 3.18, Владимир (??), 23:56, 21/01/2010 [^] [^^] [^^^] [ответить]  
  • +/
    Я тоже этого ждал. И меня тоже интересует "развод" клавиатур по экранам.Может кто уже сообразил как это сделать?
    А по поводу того, что мультисит давно работает без напильника могу лишь печально поулыбаться.
     
     
  • 4.22, Аноним (-), 21:00, 28/01/2010 [^] [^^] [^^^] [ответить]  
  • +/
    На сколько я помню давно уже делают так. Воспользуйтесь поиском.
     

  • 1.7, pavlinux (ok), 23:26, 20/01/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    >В настоящее время MPX не поддерживает Gtk+

    В настоящее время GTK не поддерживает MPX.

     
  • 1.12, proDOOMman (?), 12:21, 21/01/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Под бунтой до сих пор в XOrg нету MPX. Оверлей^W Репозиторий с ним не подскажите?
     
  • 1.15, Аноним (-), 20:56, 21/01/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    это, конечно, хорошо. кто-нибудь подскажите как можно управлять курсором мыши с клавиатуры?
     
     
  • 2.19, Зенитар (?), 01:37, 22/01/2010 [^] [^^] [^^^] [ответить]  
  • +/
    В гноме через меню специальных возмодностей в настройках клавиатуры (хотя это может быть только в Убунту, так как насрока клавиатуры глючная - нигде больше не использую гном), а новое кде не использовал так сильно.
     

  • 1.20, Nas_tradamus (ok), 16:02, 25/01/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Интересно, почему еще не придумали ПО, позволяющее из одного ПК сделать два рабочих места? (+1 монитор и комплект клава-мышь) Ведь какая бы была польза от такой многозадачности.
     
     
  • 2.21, Andrey Mitrofanov (?), 17:54, 25/01/2010 [^] [^^] [^^^] [ответить]  
  • +/
    >почему еще не придумали ПО

    Всё уже украдено до Вас.

    >два рабочих места? (+1 монитор и комплект клава-мышь) Ведь какая бы была

    Драссте-просыпайтесь!?
    http://google.ru/search?q=multiseat+howto
    google.ru + "Змей Горыныч" linux

     

     Добавить комментарий
    Имя:
    E-Mail:
    Заголовок:
    Текст:




    Спонсоры:
    Слёрм
    Inferno Solutions
    Hosting by Ihor
    Хостинг:

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