Welcome, Guest. Please login or register.
+  Linux Soft Forum
|-+  Cercetează» Întrebări de bază» Activare butoane de navigare
[Picture 161] [Picture 160] [Picture 159]
Username:
Password:
 
Pages: [1] 2   Go Down
  Print  
Author Topic: Activare butoane de navigare  (Read 2540 times)
0 Members and 1 Guest are viewing this topic.
Saltwater
Veteran
**

Whatever™


WWW
« on: January 06, 2007, 09:41:54 PM »

Problema sta cam asa dupa cum arata si titlul topicului: am incercat sa activez butoanele de navigare de la mouse dar cu fiecare incercare am esuat.

M-am inspirat un pic din topicul acesta sau dintr-un how-to din Wiki-ul Gentoo dar fara rezultate. Folosind configurarea descrisa acolo am reusit sa activez butoanele de navigare dar la rotita de scrool. Am frecat xorg.conf-ul pana mi-a venit si mie si lui rau, am reusit sa plimb butoanele in cel mai SF mod posibil dar cele de navigare parca sunt intangibile. In browser si nu numai functioneaza in mod constant pe post de click stanga.

Acu chestia este ca am si un mouse mai ciudat, A4Tech X750F si nu se prezinta ca un mouse standard cu 5 butoane in adevaratul sens al cuvantului. Triple Fire-ul funtioneaza pe baza de hardware ca triple click si butonul de schimbare a rezolutiei deasemenea nu necesita drivere deci banuiesc ca nu influenteaza o configuratie de acest gen.

Butoanele de navigare mi-au functionat by default sub Mandriva 2007 Free dar pe vreme aia inca nu deschisesem la viata mea un xorg.conf ca sa ma pot inspira de acolo. Acum utilizez kubuntu 6.10 si problema este dincolo de mine deoarece tot ce am gasit pe forumuri si how-to-uri nu functioneaza, deasemenea metoda trial-and-error iarasi nu a functionat.

Momentan am lasat xorg.conf la valori apropiate de cele default si dau un paste aici din el:

Code:
Section "InputDevice"
    Identifier     "Configured Mouse"
    Driver         "mouse"
    Option         "Buttons" "7"
    Option         "CorePointer"
    Option         "Device" "/dev/input/mice"
    Option         "Protocol" "ExplorerPS/2"
    Option         "ZAxisMapping" "4 5"
EndSection

Sugestiile sunt bine venite Wink.
Logged



Astazi nu am semnatura.
wonder
Veteran
**


WWW
« Reply #1 on: January 06, 2007, 10:51:27 PM »

Folosesti xev pentru a vedea ce numar corespunde fiecarui buton si folosesti xmodmap adica am pus butoanele dupa ordinea dorita de mine (button remapping). Aceasta solutie am ales-o eu.
Pentru mai multe detalii sau alte solutii citeste aici http://gentoo-wiki.com/HOWTO_Advanced_Mouse

Maine am sa pot sa-ti arat xorg.conf-ul meu si Xmodmap. Mouse-ul meu este un logitech mx nu stiu cat:D 7 butoane doua laterale pe care le folosesc in firefox pentru back si forward
« Last Edit: January 06, 2007, 11:03:00 PM by wonder » Logged

Give what you have. To someone, it may be better than you dare to think.
My blog wonder.rodp.net
Saltwater
Veteran
**

Whatever™


WWW
« Reply #2 on: January 06, 2007, 11:58:32 PM »

Din wiki-ul acela m-am inspirat si nu m-a prea ajutat asa mult. Unele chestii de acolo au fost chiar daunatoare aka X-ul nu putea parsa configul si refuza sa porneasca.

Am gasit evenimentele cu xev-ul. Sunt butoanele 8 si 9 pentru back si forward.
Code:
ButtonRelease event, serial 29, synthetic NO, window 0x2600001,
    root 0x156, subw 0x0, time 4183550102, (95,78), root:(691,126),
    state 0x10, button 8, same_screen YES

ButtonPress event, serial 29, synthetic NO, window 0x2600001,
    root 0x156, subw 0x0, time 4183550457, (95,78), root:(691,126),
    state 0x10, button 9, same_screen YES

O sa mai incerc sa configurez si vad ce iese.

// later
Gata, am rezolvat-o cu
Code:
$ xmodmap -e "pointer = 1 2 3 4 5 8 9 6 7"

dupa ce am pus in xorg.conf
Code:
Section "InputDevice"
    Identifier     "Configured Mouse"
    Driver         "mouse"
    Option         "Buttons" "9"
    Option         "CorePointer"
    Option         "Device" "/dev/input/mice"
    Option         "Protocol" "ExplorerPS/2"
    Option         "ZAxisMapping" "4 5"
EndSection

Intradevar erau inversate 8 si 9 cu 6 si 7. Multumesc pentru suport, acum functioneaza asa cum mi-am dorit Smiley.
« Last Edit: January 07, 2007, 12:43:15 AM by Saltwater » Logged



Astazi nu am semnatura.
wonder
Veteran
**


WWW
« Reply #3 on: January 07, 2007, 12:28:23 AM »

Asta parca am fost si eu nevoit sa fac. Stiu ca am modificat in xorg.conf butoanele de scroll sau am modificat ordinea lor. Revin maine  cand ajung la calculatorul meu

//Later.
Ma bucur ca ti-am fost de ajutor. Nu uita sa pui Xmodmap in /etc/X11/ pentru setari generale sau in ~/.Xmodmap pentru setari individuale. Cand il pui la tine in director gnome o sa-l detecteze si o sa-l incarce
« Last Edit: January 07, 2007, 12:47:41 AM by wonder » Logged

Give what you have. To someone, it may be better than you dare to think.
My blog wonder.rodp.net
oblio
Admini
**


WWW
« Reply #4 on: January 07, 2007, 10:10:53 AM »

Chestia asta cred ca ar putea fi aranjata intr-un howto micut pentru cei cu mouse-uri cu mai multe butoane, eventual pe wiki, unde ca de obicei, va ajutam sa va descurcati, daca nu aveti experienta cu asa ceva.
Saltwater, Wonder, credeti ca se poate? (eu personal nu pot face, ca am mouse cu 3 butoane Scoate limba).
Logged

Distribuţie: ubuntu | Localitate: Bucureşti | Vârstă: 24

Oh! Everything has a point, and if it doesn't, then there's a point to it.

Oblio's
danieljucan
Membru
*


WWW
« Reply #5 on: January 07, 2007, 10:12:41 AM »

Pentru a activa butoanele de la mouse sa functioneze (mouse cu mai mult de 3 butoane) faci asa:

1. Editezi in /etc/X11/xorg.conf        
in sectiunea:         Section "InputDevice"

     Option "Emulate3Buttons"       "true"
    Option "Buttons" "7"
    Option "ButtonMapping" "1 2 3 6 7"


2. Apoi instalati programul imwheel

sudo apt-get install imwheel

Dupa instalare il configurati astfel:
sudo gedit /etc/X11/imwheel/imwheelrc

si introduceti:

".*"
None, Up, Alt_L|Left
None, Down, Alt_L|Right

"(null)"
None, Up, Alt_L|Left
None, Down, Alt_L|Right


3. Se creaza un script in /bin astfel:

sudo nano /bin/mouse

 unde editati:

#!/bin/sh
exec xmodmap -e "pointer = 1 2 3 6 7 4 5" &
exec imwheel -k -b "67" &
exec $REALSTARTUP


4. Ii dati scripului acces de citire la orice user:

sudo chmod +x /bin/mouse

5. Iar acum trebuie sa ii dati la gnome sa incarce scrip-ul la rulare, astfel:

Selectează 'System' > 'Preferences' > 'Sessions'
Click pe tab-ul StartUp
Click Add, iar apoi adaugă: /bin/mouse


Un restart de server x si cam totul va functiona, merge doar pe ubuntu, asemena am incercat pe debian si vai de mouse ce a patit :)) Mor de râs
« Last Edit: January 07, 2007, 10:27:33 AM by danieljucan » Logged

Inteligenta ma loveste, iar eu cad pe spate :d Ranjeste fasolea
hydrarulz
Veteran
**

warning flame-war


WWW
« Reply #6 on: January 07, 2007, 03:26:08 PM »

oblio, sa puna si pe wiki?
Logged

mapleoin
Admini
**

mapleoin@jabber.org


WWW
« Reply #7 on: January 07, 2007, 03:47:17 PM »

Just Do It! (tm)
Logged

Saltwater
Veteran
**

Whatever™


WWW
« Reply #8 on: January 07, 2007, 04:41:24 PM »

Dupa vreo ora si ceva timp in care am cercetat cam toate scenariile posibile am ajuns si eu la niste concluzii despre cum se rezolva aceasta problema. Asta dupa solutia gasita aseara. Spre exemplu daca as folosi setarile lui danieljucan as obtine un mouse la care ar functiona doar left, middle and right click in mod corect, scrool-ul ar face back si forward iar butoanele de navigare nimic. O sa incerc sa imi condensez concluziile intr-un How-To care va trata problema intr-un mod general (sper). Daca scot vreo bula pe undeva, va rog corectati-ma Smiley.

Acu ii dau bate cu How-To-ul:

Indiferent de cate butoane are mouse-ul, pentru ca exista si mousi mai SF decat al meu, functionalitatea dorita se invarte in jurul a 7 actiuni care se doresc a fi recunoscute de orice mouse care poate lua locul unuia standard cu 5 butoane. De ce 7 actiuni la 5 butoane? Simplu: rotita de scrool este privita de catre X ca 3 butoane, nu ca unul singur (middle click). Actiunile recunoscute de X (cel putin pe ubuntu si pe kubuntu sunt asa) sunt urmatoarele:

butonul 1 - left click
butonul 2 - middle click
butonul 3 - right click
butonul 4 - scrool up
butonul 5 - scrool down
butonul 6 - navigation back
butonul 7 - navigation forward

Notez lista cu (*)

Motivul pentru care nu toti mousii sunt recunoscuti corect de catre X este pentru ca nu toti producatorii respecta aceasta numerotare a butoanelor in functie actiunile (evenimentele) dorite. Acesta este si motivul pentru care incercarile mele au esuat incercand sa respect alte how-to-uri si posturi de pe alte forumuri: nu folosesc un mouse standard. Solutia cea mai la indemana este remaparea butoanelor asa cum a sugerat Wonder in prima faza. Dar sa incep cu inceputul.

Suportul pentru butoanele de navigare este implementat in X, acesta doar trebuie activat in cazul in care acesta nu a fost auto-detectat. Spre exemplu Mandriva 2007 il auto-detecteaza si chiar mai mult, mapeaza corect actiunile mouse-ului. Aceasta se face dupa cum a spus si danieljucan, editand /etc/X11/xorg.conf. Configurarea mea difera putin si o sa explic unde si de ce.

Quote
Section "InputDevice"
    Identifier     "Configured Mouse"
    Driver         "mouse"
    Option        "Buttons" "7"
    Option         "CorePointer"
    Option         "Device" "/dev/input/mice"
    Option         "Protocol" "ExplorerPS/2"
    Option        "ZAxisMapping" "4 5"
EndSection

Prima linie cu bold este cea care prezinta interes in prima faza. Acolo se spune cate butoane are mouse-ul. Chiar daca el are mai multe, cum am spus mai sus, prezinta interes doar cele 7 actiuni deci valoarea va fi setata pe 7. Am observat ca mai mult nu strica (desi nici nu aduce nimic in plus) dar mai putin da. Aceasta este valoarea recomandata la o configuratie de acest gen.

A doua linie cu bold defineste care sunt butoanele care ar trebui sa execute scrool up si scrool down. Caz in care acestea in hardware nu sunt recunoscute ca fiind butoanele 4 si 5 exista doua metode prin care aceasta poate fi corectata. Prima e prin editarea xorg.conf unde se inlocuiesc valorile de 4 si 5 cu acele care corespund lui scrool up si scrool down. Ajung si la partea unde acestea se pot identifica cu xev. A doua metoda (si cea recomandata) este remaparea lor cu xmodmap.

Nu recomand adaugarea de "ButtonMapping" ca optiuni in xorg.conf deoarece in anumite cazuri particulare aceasta solutie nu functioneaza, ba mai mult, X-ul nu va mai recunoaste mai mult de 7 butoane iar daca alea de navigare sunt de la 8 incolo, aleluia. Nu am reusit sa le fac sa le vada prin metoda asta deci dupa vreo 20 de minute am renuntat.

Identificarea carui buton ii este atasata o actiune este simpla. Se ruleaza din terminal aplicatia xev. Se va deschide o fereastra peste care se pot executa evenimente de la mouse sau de la tastatura, evenimente care vor fi afisate in fereastra terminalului. Evenimentele vor arata ceva de genul:

Quote
ButtonRelease event, serial 29, synthetic NO, window 0x2600001,
    root 0x156, subw 0x0, time 4183550102, (95,78), root:(691,126),
    state 0x10, button 8, same_screen YES

ButtonPress event, serial 29, synthetic NO, window 0x2600001,
    root 0x156, subw 0x0, time 4183550457, (95,78), root:(691,126),
    state 0x10, button 9, same_screen YES

Asa se vor identifica si butoanele cu pricina. Spre exemplu in cazul meu particular butoanele 8 si 9 executau navigation back si navigation forward in loc de butoanele 6 si 7. A trebuit sa le remapez si cam aceasta a fost solutia.

Remaparea cu xmodmap in principiu este simpla. Comanda accepta ca parametru un sir de numere care definesc actiunile dupa cum urmeaza:

Quote
xmodmap -e "pointer = 1 2 3 x1 y1 z1 t1 x2 y2 z2 t2"

Am ingrosat caracterele acelea pentru ca acolo pot aparea problemele. Acelea vor fi inlocuite cu numere dupa cum urmeaza:

x1 - va fi inlocuit cu numarul butonului care a fost identificat in xev ca executand scrool up
y1 - va fi inlocuit cu numarul butonului care a fost identificat in xev ca executand scrool down
z1 - va fi inlocuit cu numarul butonului care a fost identificat in xev ca executand navigation back
t1 - va fi inlocuit cu numarul butonului care a fost identificat in xev ca executand navigation forward

Restul de x2, y2, t2, z2 sunt butoanele care au fost inlocuite din mapping si care trebuie puse la coada. Am incercat sa nu le pun iar rezultatul a fost un mouse care nu functiona corect deci cele inlocuite nu sunt optionale. Pentru ca am pomenit de cazul meu particular, comanda utilizata de mine a fost:

Quote
xmodmap -e "pointer = 1 2 3 4 5 8 9 6 7"

deoarece doar butoanele de navigare erau busite. Cum am zis si mai sus, doar primele 7 sunt importante.

Comanda xmodmap se poate executa din terminal deci in caz de eroare se poate reveni usor la configuratia initiala spre deosebire de cazul xorg.conf unde trebuie rescris fisierul si restartat X-ul pentru a obtine modificarile dorite. Dupa remapare puteti testa evenimentele cu xev iar acestea trebuie sa corespunda cu lista publicata la (*). Daca acestea corespund atunci se poate incerca intr-un browser cum ar fi Firefox sau Opera. In cazul meu it works like a charm.

Deoarece maparea cu xmodmap nu va ramane dupa restartarea X-ului exista mai multe metode. Una este cea descrisa de danieljucan cu scriptul din /bin. Eu am ales-o pe aia pe care o stiam. Am facut un script custom pe care l-am pus in ~/.kde/Autostart (sunt KDE user)

Quote from: autostart.sh
#!/bin/bash
xmodmap -e "pointer = 1 2 3 4 5 8 9 6 7"
# ma rog, aici am bagat si alte linii care executa la start-up alte programe care nu fac obiectul acestui How-To

Am salvat sriptul cu denumirea de mai sus (autostart.sh) desi nu e batuta in cuie si i-am dat drept de execute cu:

Quote
chmod -c 755 autostart.sh

Cam atata de spus din punctul meu de vedere. Succes.

Add: la sugestia lui Wonder pentru a elimina scripturile de la start-up (eu il aveam deja pe ala) se creaza fisierul /etc/X11/Xmodmap in care se pune linia:
Quote
pointer = 1 2 3 x1 y1 z1 t1 x2 y2 z2 t2

dupa regulile descrise mai sus. It might not work under KDE (mie nu imi merge), dar daca Wonder zice ca functioneaza atunci il cred pe cuvant.
« Last Edit: January 07, 2007, 05:38:10 PM by Saltwater » Logged



Astazi nu am semnatura.
wonder
Veteran
**


WWW
« Reply #9 on: January 07, 2007, 04:42:25 PM »

Dupa cum am promis o sa postez portiuni din xorg.conf
Code:
Section "InputDevice"
    Identifier  "Mouse1"
    Driver      "mouse"
    Option "Protocol"     "ExplorerPS/2"
    Option "Device"       "/dev/input/mice"
    Option "Buttons"      "11"
    Option "Emulate3Buttons" "false"
    Option "ZAxisMapping" "6 7"

Xmodmap
Code:
pointer = 1 2 3 8 9 4 5 6 7
Logged

Give what you have. To someone, it may be better than you dare to think.
My blog wonder.rodp.net
oblio
Admini
**


WWW
« Reply #10 on: January 07, 2007, 06:46:01 PM »

Vă este mai uşor pe wiki să aranjaţi, corectaţi, e doar un efort de 10 minute la început să vă învăţaţi cu sintaxa. Şi după aceea putem să actualizăm şi noi, adăugăm dacă mai e ceva, ... Wink
http://www.linuxsoft.ro/wiki/desktop/configurare-mouse-7-butoane-linux
Logged

Distribuţie: ubuntu | Localitate: Bucureşti | Vârstă: 24

Oh! Everything has a point, and if it doesn't, then there's a point to it.

Oblio's
hydrarulz
Veteran
**

warning flame-war


WWW
« Reply #11 on: January 07, 2007, 07:06:37 PM »

arata si mai bine si nu mai vin nici oameni sa faca posturi stupide. Smiley
nu m-am luat de nimeni!
Logged

oblio
Admini
**


WWW
« Reply #12 on: January 07, 2007, 07:07:20 PM »

La început toţi (sau cel puţin eu) puneam întrebări stupide. Secretul e ca în timp să pui mai puţine Scoate limba
Logged

Distribuţie: ubuntu | Localitate: Bucureşti | Vârstă: 24

Oh! Everything has a point, and if it doesn't, then there's a point to it.

Oblio's
danieljucan
Membru
*


WWW
« Reply #13 on: January 07, 2007, 08:15:31 PM »

Corect, uniti dint toate posturile ce e bun si creati un How-To. Eu partea cu xev pentru mapare nu o stiam, iar in debian nu imi sunt mapate bine butoanele, dar nici nu mam straduit sa ii dau de cap Smiley Al meu e X-708 http://www.a4tech.com/en/product2.asp?CID=102&SCID=103&MNO=X-708
Oricum Saltwater, cred ca e mai bine sa fie pus scrip-ul in /bin, daca unu foloseste kde, gnome, fluxbox, etc, e mai usor asa, sa facem acest How-To mai general, sa mearga in cat mai multe cazuri. Se pare ca sau adunat indei interesante pana acum.

PS. Ar trebui sa ne gandim la un howto si pentru tastatura, eu de exemplu pe a mea mai am in plus inca 29taste(o mai prostesc in kde/gnome cu o mapare de la un tip de tastatura microsoft internet navigator ....... nu mai stiu cum se numeste, dar tot nu le recunoaste pe toate 29 Sad  )
« Last Edit: January 07, 2007, 08:59:20 PM by danieljucan » Logged

Inteligenta ma loveste, iar eu cad pe spate :d Ranjeste fasolea
oblio
Admini
**


WWW
« Reply #14 on: January 07, 2007, 08:45:20 PM »

Ca principiu, nu puneţi nimic în /bin. Nici chiar în /usr/bin. E de preferat să puneţi în $HOME, şi adăugaţi calea în $PATH, în bashrc, zshrc, ...
Mult mai sănătos decât umblat mereu în foldere de sistem.
Logged

Distribuţie: ubuntu | Localitate: Bucureşti | Vârstă: 24

Oh! Everything has a point, and if it doesn't, then there's a point to it.

Oblio's
Pages: [1] 2   Go Up
  Print  
 
Jump to: