?

Log in

No account? Create an account

Trackball'ai ir jų konfigūravimas

Pradėsiu nuo to, kad trackball'as - tai tarsi apversta pelė. Jis visada stovi vienoje vietoje, o kursorius judinamas sukinėjant rutulį. Prieš mėnesį buvau apie tokius tik girdėjęs, o dabar negaliu pažiūrėti į paprastas peles.
Turbūt ne vienas jūsų esate prisitrynę mazolius ant dešinio riešo, nuo nenuilstamo braukymo pele po stalą. Šis procesas nemalonus ir man, net ir naudojant riešo laikiklį. Nuo to gelbsti trackball'as.
Arba kita situacija - niekada nebuvau touchpad'ų mėgėjas, o būna prireikia laptopu pasinaudoti mašinoj ar lovoj ar dar kur, kur sunku rasti tinkamą paviršių pelei stumdyt. Šiuo atveju taip pat pasitarnauja trackball'as. Va ir dabar guliu sau lovoj prieš miegą ir rašau su asus eee :)
Lietuvoj, pasiknisęs internetiniuose kainynuose teradau tris modelius - ir jie visi logitecho.
Pirmasis - marble mouse. Antro pavadinimo nepamenu, ir trečiasis - cordless trackman.
Pirmojo minusas - nėra ratuko. Antrojo - rutulio sukinėjimas vyksta su nykščiu, ir man tikrai sunku įsivaizduoti kad tai patogu. Trečiasis - galybė man nereikalingų mygtukų, belaidis (taip, man tai - minusas), rutulys gan tolokai dešinėje, na ir žinoma - kainuoja tiek, kiek kiti abu sudėjus.
Be to tik pirmasis yra pritaikytas ir kairiarankiams. Nesu toks, tačiau tenka ir kaire ranka pamaigyti.
Tad kol kas pasiėmiau pirmąjį. Nors man regis ir belaidį paimsiu prie kito kompo :)
Na, o dabar konfigūravimas.
Šiame trackball'e yra keturi mygtukai - du dideli ir du maži. Iš jų dešinys mažasis yra nepatogiausioje padėtyje, tad bus naudojamas mažiausiai. Po defaultu linuxas dideliems mygtukams priskiria kairio ir dešinio funkcijas, mažam kairiam - vidurinio klavišo, o mažam dešiniam - tą patį kodą kaip ir dideliam dešiniam. Toks variantas man netiko. Taip pat nepasirodė priimtinas ir variantas, pavaizduotas ant dėžės, kaip suprantu, vindausų defaultas - scroll'inimas vyksta su mažaisiais klavišais. Vienas - viršun, kitas - apačion.
Pagūglinęs radau gan neblogą įvairių pelių ir trackball'ų konfigūracijų resursą. Deja, netiko ir jame aprašytas variantas šiam įrenginiui.
Tad viskas baigėsi dokumentacijos skaitymu. Ko pasekoje mano /etc/X11/xorg.conf įrašas atrodo taip:

Section "InputDevice"
Identifier "MarbleMouse"
Driver     "mouse"
Option     "Protocol"            "auto"
Option     "Device"              "/dev/input/mouse1"
Option     "Buttons"             "5"
Option     "ButtonMapping"       "1 8 3 2 9"
Option     "EmulateWheel"        "true"
Option     "EmulateWheelButton"  "2"
Option     "YAxisMapping"        "4 5"
Option     "XAxisMapping"        "6 7"
Option     "DragLockButtons"     "9 1"
EndSection

Pasistengsiu paaiškinti kaip čia kas, nes tai pritaikoma ir kitoms pelėms/trackball'ams.
Device - tai atitinkamas įrenginys. Kuris iš jų yra tikrasis galima išsiaiškinti komanda
cat /dev/input/mouse[nr]
Jei įrenginys tas, tai pajudinus pelę konsolėje matysis visokios šiukšlės.
Buttons - mygtukų kiekis. Čia pasiklioviau anksčiau minėtu gentoo wiki įrašu.
ButtonMapping - kaip išdėstyti mygtukus. Pirmas skaičius - pirmas fizinis mygtukas. Po to - poromis fizinė mygtuko reikšmė ir norima jo funkcija. Kokios mygtukų reikšmės galima išsiaiškins komandos xev pagalba.
EmulateWheel - laikant kurį nors mygtuką trackball'as veikia kaip ratukas. Ir horizontalia ir vertikalia ašimi.
EmulateWheelButton - tai tas minėtas mygtukas. Tarkim vidurinis. Šiaip vidurinis yra "paste" komanda, tačiau tai nemaišo - trumpai spustelint (iki 200ms) - paste'ina, ilgiau laikant - scroll'ina. Šį intervalą galima keisti(EmulateWheelTimeout).
Toliau nieko nekonfiginus, restartinus Xus ir pasileidus xev matome, kad laikant mažą kairįjį mygtuką ir judinant rutulį fiksuojamas ne pelės judėjimas, o 4 5 6 7 klavišų paspaudimai. Tad konfigūruojame juos pagal ašis.
Na, o iš paskutinio nustatymo tikėjausi daugiau. Apie jį papasakosiu plačiau.
DragLockButtons - jo reikšmė gali būti arba vienas klavišas, arba klavišų porų seka. Jei poros - kaip kad pas mane "9 1", tai pirmasis argumentas yra antrojo "toggle" klavišas. T.y. mano atveju vieną sykį spustelėjus mažą dešinį klavišą Xai tai supranta lyg aš būčiau paspaudęs didįjį kairįjį ir jo neatleidęs. Ir vieną syk spustelėjęs galiu atleisti tą klavišą ir pasirinkt kiek noriu teksto nelaikant piršto ant mygtuko.
Iš tiesų planas buvo kiek kitoks, tačiau to nepavyko realizuoti. Nes jei DragLockButtons turi tik vieną argumentą, jis tampa laikymo funkcija bet kuriam mygtukui. Jį spustelėjus, sekantis bet kurio mygtuko, ar kairio, ar dešinio spustelėjimas užsifiksuos, kaip kad užsifiksuoja kairiojo mano atveju. Deja, tai neveikia su EmulateWheelButton, ir bent jau kolkas nepavyko to apeiti. Mat EmulateWheelButton negeneruoja atskiro  mygtuko paspaudimo, o tiesiog suteikia rutulio sukimo kryptims mygtukų reikšmes.
Na, ką padarysi, pagyvensiu ir be to.
Dar vienas dalykas - firefoxas X ašies sukinėjimus supranta kaip atgal/pirmyn, o ne kaip kairėn/dešinėn, tad reik atsidaryti about:config puslapį, ir pakeisti mousewheel.horizscroll.withnokey.action į 0 (veiksmas), bei mousewheel.horizscroll.withnokey.numlines į 1 (apversti ašį).
Tai tiek.
Jei kas esat pasidarę scroll toggle tai prašom nesikuklinti.

Comments

Oj, ponas komputerų monijake, kaip jūs man mano jaunas dieneles priminėte... Tada irgi visokie linuxai jau būdavo, ir taip pat tekdavo daug visokių konfigūracijų rašyti :-)

May 2009

S M T W T F S
     12
3456789
10111213141516
17181920212223
24252627282930
31      
Powered by LiveJournal.com