Począwszy od wersji 1.1.x Gimp posiada wbudowaną obsługę XInput.
Aplikacja musi jednak wiedzieć, którego urządzenia powinna użyć i w jakim trybie. Aby to ustawić powinieneś otworzyć okno dialogowe Plik/Okna dalogowe/Urządzenia wejściowe (w wersji angielskiej File/Dialogs/Input Devices). U góry okna znajdziesz dwie rozwijane listy z etykietami Urządzenie (Device) oraz Tryb (Mode). Z pierwszej wybierz urządzenie z drugiej tryb obsługi.
Tryby te to:
Jeżeli widzimy, że znaszym urządzeniem związane są dwa kursory, mamy dwa rozwiązania:
Poniżej obydwu rozwijanych list znajdują się pola kontrolne z zakładkami Osie (Axes) oraz Klawisze (Keys). Osie przypisują osiom funkcje. W większości przypadków nie potrzeba zmieniać tych ustawień, ale możesz zastanowić się nad ekranem dotykowym, który został zamontowany w pozycji obróconej o 90 stopni. W tym przypadku moglibyśmy chcieć zamienić ze sobą osie x i y.
Niektóre tablety posiadają umieszczone u góry specjalne klawisze makropoleceń
(makro), kórym mogą być przypisane często używane funkcje. Zakładka
Klawisze
pozwala na przypisanie do klawisza makro pwnego znaku. Na przykład do klawisza
makro można przypisać kombinację Ctrl+Shift+R. Jeżeli zostanie on naciśnięty,
wywołana zostanie funkcja włączenia/wyłączenia linijki.
Obecne sterowniki do tabletów Wacoma obsługują klawisze makro jedynie w UltraPadach,
pola klawiszy w tabletach Intuos nie są wykorzystane w ten sposob.
Powinniśmy teraz omówić jak możemy korzystać z naszych urządzeń. Otwórz okno dialogowe Plik/Okna dialogowe/Stan urządzenia (File/Dialogs/Device Status). Otwórz dowolny plik z rysunkiem.
Każde urządzenie wejściowe w gimpie jest konfigurowane osobno.
Jeżeli będziesz poruszał kursorem w oknie rysunku przy użyciu różnych urządzeń zauważysz zmianę urządzeń w oknie dialogowym Stan urządzenia. Jeśli wybierzesz dowolne narzędzie, pędzel, wzór lub kolor zmiana także zostanie uwzględniona. Aby wybrane ustawienia zostały odtworzone przy następnej sesji gimpa można je tam zapisać.
Jest to, cały czas aktywne, urządzenie specjalne. Generuje ono zdarzenia za każdym razem gdy nowe urządzenie przejmuje wskaźnik w trybie podstawowym. Posiada ono pseudo "oś". "Wartość" na tej osi jest identyfikatorem urządzenia będącego wskaźnikiem podstawowym. Nie mam pojęcia co użytkownik mógłby zrobić z urządzeniem przełącznika - głównie jest ono przydatne dla programistów.
Przyciski, w które są wyposażone urządzenia wejściowe mogą być tak zróżnocowane
jak same urządzenia:
Rysik posiada przynajmniej czubek, ale może też mieć jeden lub dwa przyciski
na boku oraz gumke na drugim końcu. Myszy mogą mieć do 32 klawiszy (choć zwykle
mają ich 3). Przyciski ponumerowane są od 1 do liczby klawiszy. Opisane poniżej
dwa programy pozwalają na modyfikacje liczby wykorzystywanych klawiszy.
xmodmap będzie modyfikował jedynie wskaźnik podstawowy (Core Pointer). Jako że w danym momencie istnieje tylko jeden wskaźnik podstawowy, nie mają znaczenia różnice pomiędzy fizycznymi urządzeniami, które mogą stać się takim wskaźnikiem. Na jakiś czas zapomnijmy o całym tym XInput i pomyślmy o osobie leworęcznej, która chciałaby zamienić znaczenie prawego i lewego przycisku myszy. Aby poznać stan aktualny można wykonać polecenie xmodmap -pp. W odpowiedzi powinniśmy otrzymać następującą tabelę:
Physical Button
Button Code
1 1 # ( lewy przycisk )
2 2 # ( prawy przycisk )
3 3 # ( środkowy przycisk )
Aby zamienić klawisze należy wykonać polecenie xmodmap -e "pointer = 2 1 3", oraz xmodmap -e "pointer = default" aby przywrócić poprzednie przypisanie. Powinno to działać dla dowolnych urządzeń posiadających przynajmniej dwa przyciski. Należy zaznaczyć, że wyrażenie "pointer = x x x" musi być zawarte w cudzysłowach by zapobiec jego modyfikacji ze strony powłoki.
Wróćmy ponownie do XInput. Jeśli używasz gimpa, możesz chcieć zmienić przyporządkowanie klawiszy dla każdego urządzenia osobno (możesz być zadowolony z myszy, ale chciałbyś zamienić znaczenia dwóch bocznych przycisków rysika). Frederic Lepied napisał w tym celu program o nazwie xinput.
Aby zamienić boczne przyciski powinieneś wykonać polecenie xinput list w celu uzyskania listy urządzeń wraz z ich aktualnymi ustawieniami. Zamiana realizowana jest przez wykonanie xinput set-button-map Pen1 1 3 2 gdzie Pen1 jest urządzeniem, które chcemy zmienić.
Począwszy od XFree 3.3.2 rozwiązanie to działa dla urządzeń skonfigurowanych (w pliku XF86Config) jako AlwaysCore.
Przy pomocy xsetmode możliwe jest przełączanie urządzenia pomiędzy trybem bezwzględnym (absolute) a względnym (relative) trybem pracy.
Przykład:
xsetmode GraphireMouse ABSOLUTE
Jeżeli żadne z naszych urządzeń nie zostało skonfigurowane jako AlwaysCore a chcielibyśmy by jedno z nich zostało wskaźnikiem podstawowym musimy użyć programu xsetpointer.
Wykonaj polecenie xsetpointer NazwaUrządzenia. Stare urządzenie podstawowe (zwykle jest to mysz) nie będzie już dłużej wykorzystywane, jego miejsce zajmie urządzenie wyspecyfikowane w naszym poleceniu. Dla przykładu możliwe jest przypisanie funkcji wskaźnika podstawowego myszy Graphire w uruchomionych wczesniej XFree.
xsetpointer -l wypisuje listę wszystkich urządzeń oraz ich trybów pracy.
Niektóre urządzena posiadają klawisze makro lub specjalne pola, którym można przypisać pojedyncze znaki sterujace lub też ich ciągi. Działa to wyłącznie dla urządzeń pracujących w trybie rozszerzonym, a co za tym idzie, realizowane jest przez te aplikacje, które chcielibyśmy by wykorzystywały klawisze.
xinput -l daje nam informacje na temat liczby klawiszy czy też wysyłanych znaków sterujących.
Posiadam 3 tablety Wacoma, które używam wraz z moim notebookiem. Za każdym razem gdy uruchamiam X-y, a żaden z tabletów nie jest podłączony do komputera, musi upłynąć sporo czasu nim sterowniki się poddadzą. Jeżeli uruchamiany jest xdm okres oczekiwania znacznie się wydłuża.
Stworzyłem dwa narzędzia, które powinny ułatwić życie wszystkim którzy są w takiej samej sytuacji:
Koncepcją, która leży u podstaw działania obu programów, jest podział pliku XF86Config na plik XF86Config.bare, zawierający informacje wspólne dla wszystkich konfiguracji, oraz szereg małych plików zawierających specyficzne informacje na temat poszczególnych konfiguracji.
Obydwa narzędzia łączą te części w działającą całość.
Pakiet ten jest dostępny na stronie http://www.runkeledv.de/download, pod nazwą xinput_chooser_sr.