Strona używa cookies (ciasteczek). Dowiedz się więcej o celu ich używania i zmianach ustawień. Korzystając ze strony wyrażasz zgodę na używanie cookies, zgodnie z aktualnymi ustawieniami przeglądarki.    X

Co dwa kursory to nie jeden

Rozważaliście kiedyś możliwość obsługi komputera za pomocą kilku myszy? Okazuje się, że w GNU/Linuksie jest to całkiem realna opcja. Zastosowania niech sobie każdy wymyśli sam, ja tylko podam metodę włączenia tej funkcji.

Najpierw proponuję odczytać numery identyfikacyjne urządzeń wejściowych. Służy do tego komenda xinput list. Gdy już zrozumiemy format, w jakim program nam to wypluwa, tworzymy nowy kursor* - xinput create-master JAKAŚ_NAZWA. Teraz jeszcze raz wypisujemy urządzenia poprzednią komendą (wtedy tak naprawdę jej nie potrzebowaliśmy, ale dobrze się najpierw z nią zapoznać) i przypisujemy jedną z myszy do nowo utworzonego kursora - xinput reattach ID_MYSZY ID_KURSORA. Na dobrą sprawę to już wszystko.

*) Wiem, że to pewne uproszczenie, ale większa wiedza nie jest nam potrzebna.

Aby przywrócić mysz do normalności, przydzielamy ją do domyślnego kursora, a potem kasujemy ten nasz (xinput remove-master ID_KURSORA).

Napisałem sobie skrypt do włączania i wyłączania dwóch kursorów. Jest bardzo prosty, więc raczej nie wymaga komentarza. Trzeba go oczywiście nieco zmodyfikować, ale nie jest to trudne.#!/bin/zsh getid() { xinput list | grep -m 1 "$1" | sed 's/.*=\([^\t]*\).*/\1/' } MOUSEID1=$(getid "Mouse0") MOUSEID2=$(getid "DualPoint Stick") #if [ -z "$MOUSEID" ]; then # echo "The mouse is not connected" # exit 1 #fi if [ -z "$(xinput list | grep '2ndMouse')" ]; then xinput create-master 2ndMouse SECOND=$(getid 2ndMouse) xinput reattach $MOUSEID1 $SECOND xinput reattach $MOUSEID2 $SECOND echo "Dual Wielding Mode activated" else FIRST=$(getid "Virtual core pointer") SECOND=$(getid 2ndMouse) xinput reattach $MOUSEID1 $FIRST xinput reattach $MOUSEID2 $FIRST xinput remove-master $SECOND echo "Dual Wielding Mode deactivated" fi

PS: Pamiętam, że był jakiś program-proteza na Windowsa, który robił coś podobnego, ale nie pamiętam nazwy. Poza tym, miewał różne dziwne problemy (chociaż przedstawione przeze mnie rozwiązanie też nie jest bez wad). 

linux oprogramowanie porady

Komentarze

0 nowych
nintyfan   11 #1 03.03.2011 08:01

Jest jakiś menadżer okien, co to obsłuży. Kiedyś bawiłem się w czymś takim, ale nie umiałem znaleźć odpowiedniego menadżera okien. Tak poza tym, to wszystko działa.

nintyfan   11 #2 03.03.2011 08:03

Jedno z zastosowań jest dosyć oczywiste - nawet bardzo. Obecnie trudno się konfiguruje X-y, by pracowały w trybie współdzielenia szyny PCI między sobą(dwie oddzielne sesje X-ów na dwie karty graficzne). Dzięki dwóm myszkom i dwóm monitorom można bez problemu na jednej karcie graficznej z dwoma wyjściami lub nawet na jakimś tanim laptopie uruchomić jakby dwie sesje. Wciąż jednak procujemy na tym samym koncie użytkownika.

nintyfan   11 #3 03.03.2011 08:06

Świetnym rozwiązaniem jest granie w oknie i przechwytywanie tylko jednego kursora.
Można ustawić okna nad grą na półprzezroczyste, zmaksymalizować okno z grą, ustawić grę, by przechwytywała kursor.
Efekt - mamy dwa kursory. Jednym gramy w grę, a drugim normalnie pracujemy.

TestamenT   12 #4 03.03.2011 08:28

Kiedyś mi się obiło coś podobnego tylko że jeszcze to tego dochodziła klawiatura i monitor.

I nie wiem czemu xinput znalazłem tylko w Linux Mint w Fedora i PCLinuxOS tego nie było.

nintyfan   11 #5 03.03.2011 14:51

W OpenSUSE 11.4 powinno być - właśnie pracuję na RC2.

nintyfan   11 #6 03.03.2011 14:53

@TestamenT | 03.03.2011 8:28 :
Masz na myśli dwie sesje X-ów czy pojedynczą z dwoma kursorami?

TestamenT   12 #7 03.03.2011 16:31

@nintyfan pojedynczą z dwoma kursorami ale mogło mi się coś pomylić bo to dawno było i nie pamiętam gdzie o tym przeczytałem.

Razi   5 #8 03.03.2011 18:17

Przydałoby się jeszcze rozdzielenie focusów na dwie myszki i klawiatury. No i 2 różne grafiki kursorów:)

nintyfan   11 #9 03.03.2011 20:39

@Razi | 03.03.2011 18:17 :
2. różne graficzki kursorów byłyby w dechę. Co do rodzielenie fokusów, to własnie chodzi o dodanie obsługi do menadżerów okien.

etam   10 #10 03.03.2011 20:39

@Razi
To właśnie tak działa. Masz tyle "focusów" ile masz "masterów" (tworzonych przez "xinput create-master"). Do każdego mastera możesz podpiąć dowolną liczbę myszek i klawiatur.

GL1zdA   12 #11 03.03.2011 23:24

Przydatne jak masz dodatkową parę odnóży i nie wiesz co z nimi zrobić.

Vifon   5 #12 03.03.2011 23:46

@GL1zdA
Albo jak masz trackpoint. Drugą rękę i tak mam na klawiaturze, więc mogę nią obsługiwać trackpoint.

Airborn   8 #13 04.03.2011 00:09

Przydaje się również, jeżeli ktoś miał kiedyś okazję pracować nad aplikacjami wykorzystującymi multi-touch, lecz nie miał odpowiedniego hardwaru. Chociaż w takiej sytuacji framework którego ja używałem (MT4J) oferował dwa kursory zarówno pod Linuxem jak i Windowsem

webnull   9 #14 04.03.2011 14:40

Ustawię pierwszy punkt na ekranie dotykowym jako osobna myszka, to jest świetne!

Aktualny sterownik multi-touch działa u Mnie tak, że mam tryb singletouch ale jak dotknę drugim czy trzecim palcem to rozpoznany będzie gest ("rozpoznawacza gestów" narazie nie zainstalowałem - ale testowałem pod Ubuntu, bo w Gentoo ciężko z obsługą gestów jak będę mieć czas to się zabiorę za to).

webnull   9 #15 06.03.2011 13:02

Wielkie dzięki, wzorując się na tym stworzyłem sobie oddzielne kursory dla ekranu dotykowego i myszki ;-)

http://wklej.org/id/487755/

  #16 07.03.2011 05:55

Poszperałem w google i znalazłem 5 programów na windowsa obsługujacych wiele kursorów/myszy jednocześnie. Niektóre są płatne i bardzo zaawansowane inne bezpłatne, jakby poszukać dłużej to pewnie by się tego więcej wynalazlo. Tak że stwierdzenie o "protezie" na windows podbiga mi tu pod trollizm...

Vifon   5 #17 07.03.2011 10:58

@qwerty99
Ja widziałem tylko jeden i działał nie najlepiej. Jeśli jest coś co faktycznie działa, to przepraszam, ale z doświadczenia wiem, że tego typu rzeczy lubią się sypać gdy nie są dostępne domyślnie - aplikacje nie są przystosowane. Jest tak np. z wirtualnymi pulpitami. Tutaj nawet rozwiązanie natywne nie działa tak jakbym chciał.

  #18 03.03.2012 00:32

qwerty99 (niezalogowany)
| 07.03.2011 5:55
Poszperałem w google i znalazłem 5 programów na windowsa obsługujacych wiele kursorów/myszy jednocześnie. Niektóre są płatne i bardzo zaawansowane inne bezpłatne, jakby poszukać dłużej to pewnie by się tego więcej wynalazlo. Tak że stwierdzenie o "protezie" na windows podbiga mi tu pod trollizm...
eeee pod windozą żaden program nie obsługiwał jednoczesnych kliknięć więc lipa, nie ma żadnego takiego programu...