Xorg - hal - synaptics touchpad: differenze tra le versioni
(→Usare synclient per configurare il driver synaptics a runtime) |
(Cambiato nick) |
||
| (2 revisioni intermedie di un utente non mostrate) | |||
| Riga 1: | Riga 1: | ||
| − | <!-- Per slacky.eu --> |
+ | <!-- Per http://www.slacky.eu/wikislack/index.php?title=Xorg_-_hal_-_synaptics_touchpad --> |
| + | |||
[[Category:Server X]] |
[[Category:Server X]] |
||
| + | = ATTENZIONE = |
||
| + | Con la "morte" del progetto hal il server Xorg si autoconfigura tramite il demone udev ('''udevd'''). Questo wiki per tanto può considerarsi obsoleto. |
||
| + | |||
| + | Per configurare il driver synaptics sui server Xorg (versione => 1.9) che fanno uso di udev, dopo aver installato il pacchetto: |
||
| + | |||
| + | xf86-input-synaptics |
||
| + | |||
| + | si controlli il file: |
||
| + | |||
| + | /usr/share/X11/xorg.conf.d/50-synaptics.conf |
||
| + | |||
=Introduzione= |
=Introduzione= |
||
| − | Questo wiki spiega come settare i touchpad synaptics attraverso hal e il nuovo '''xorg''' >= 1.5.x. I nuovi server xorg supportano l'hotplugging attraverso le informazioni |
+ | Questo wiki spiega come settare i touchpad synaptics attraverso hal e il nuovo '''xorg''' >= 1.5.x. I nuovi server xorg supportano l'hotplugging attraverso le informazioni |
| − | prelevate grazie al demone hal ('''hald'''). |
+ | prelevate grazie al demone hal ('''hald'''). |
| − | Si può vedere il sottosistema hal come un database di informazioni sui vari device presenti nel PC, il server xorg quindi lo contatta attraverso il message bus di sistema |
+ | Si può vedere il sottosistema hal come un database di informazioni sui vari device presenti nel PC, il server xorg quindi lo contatta attraverso il message bus di sistema |
| − | ('''dbus-daemon --system''') e preleva ciò di cui ha bisogno per "auto-configurarsi". In questo modo i futuri server xorg (ma anche lo stesso 1.5.x) potranno quasi |
+ | ('''dbus-daemon --system''') e preleva ciò di cui ha bisogno per "auto-configurarsi". In questo modo i futuri server xorg (ma anche lo stesso 1.5.x) potranno quasi |
| − | certamente |
+ | certamente |
fare a meno del famoso file di configurazione ''/etc/X11/xorg.conf''.<BR> |
fare a meno del famoso file di configurazione ''/etc/X11/xorg.conf''.<BR> |
||
| − | In questo wiki spiegheremo come aggiungere al database di hal le informazioni relative ai touchpad synaptics in modo tale che il server xorg le possa prelevare per |
+ | In questo wiki spiegheremo come aggiungere al database di hal le informazioni relative ai touchpad synaptics in modo tale che il server xorg le possa prelevare per |
configurare il driver stesso (il driver synaptics). |
configurare il driver stesso (il driver synaptics). |
||
=Cosa ci serve= |
=Cosa ci serve= |
||
| − | Tutto il software necessario si trova di default sulla slackware a partire già dalla versione current di oggi, 16 Giugno 2009. In pratica ci si deve solo assicurare di avere |
+ | Tutto il software necessario si trova di default sulla slackware a partire già dalla versione current di oggi, 16 Giugno 2009. In pratica ci si deve solo assicurare di avere |
installato i pacchetti (le versioni sono riferite alla distribuzione current di slackware): |
installato i pacchetti (le versioni sono riferite alla distribuzione current di slackware): |
||
* hal-0.5.11 |
* hal-0.5.11 |
||
| Riga 43: | Riga 54: | ||
</PRE> |
</PRE> |
||
Tutto ciò che è nei ... sarà la nostra configurazione, e vedremo in seguito cosa e come possiamo settarla.<BR> |
Tutto ciò che è nei ... sarà la nostra configurazione, e vedremo in seguito cosa e come possiamo settarla.<BR> |
||
| − | Intanto cerchiamo di capire cosa abbiamo fatto creando questo file. Innanzitutto il path ''/etc/hal/fdi/policy'' ci assicura che il file verrà letto dal demone '''hald''' |
+ | Intanto cerchiamo di capire cosa abbiamo fatto creando questo file. Innanzitutto il path ''/etc/hal/fdi/policy'' ci assicura che il file verrà letto dal demone '''hald''' |
| − | al suo prossimo riavvio. Il contenuto del file segue la DTD (Document Type Definition) dei file XML per hal, noi stiamo dicendo che vogliamo effettuare delle operazioni (sono |
+ | al suo prossimo riavvio. Il contenuto del file segue la DTD (Document Type Definition) dei file XML per hal, noi stiamo dicendo che vogliamo effettuare delle operazioni (sono |
quelle nei ...) se tra le '''info.capabilities''' individuate nel PC c'è un entry che contiene il valore '''input.touchpad'''. |
quelle nei ...) se tra le '''info.capabilities''' individuate nel PC c'è un entry che contiene il valore '''input.touchpad'''. |
||
==Controllare le informazioni sul device presenti nel database di hal== |
==Controllare le informazioni sul device presenti nel database di hal== |
||
| − | Come abbiamo visto, quello che noi faremo è semplicemente aggiungere informazioni al database di hal per il driver synaptics. Inoltre abbiamo anche visto che le |
+ | Come abbiamo visto, quello che noi faremo è semplicemente aggiungere informazioni al database di hal per il driver synaptics. Inoltre abbiamo anche visto che le |
informazioni verranno aggiunte al device in cui compare la stringa '''input.touchpad''' come '''info.capabilities'''.<BR> |
informazioni verranno aggiunte al device in cui compare la stringa '''input.touchpad''' come '''info.capabilities'''.<BR> |
||
| − | Il sistema hal prevede una serie di software con il quale è possibile interrogare il database da riga di comando, e ora noi ne sfrutteremo due per controllare le |
+ | Il sistema hal prevede una serie di software con il quale è possibile interrogare il database da riga di comando, e ora noi ne sfrutteremo due per controllare le |
informazioni già presenti nel database. Eseguendo: |
informazioni già presenti nel database. Eseguendo: |
||
<PRE> |
<PRE> |
||
| Riga 59: | Riga 70: | ||
Ora eseguendo '''hal-device''' passando come parametro l'udi ottenuto: |
Ora eseguendo '''hal-device''' passando come parametro l'udi ottenuto: |
||
<PRE> |
<PRE> |
||
| − | $> hal-device '/org/freedesktop/Hal/devices/platform_i8042_i8042_AUX_port_logicaldev_input' |
+ | $> hal-device '/org/freedesktop/Hal/devices/platform_i8042_i8042_AUX_port_logicaldev_input' |
udi = '/org/freedesktop/Hal/devices/platform_i8042_i8042_AUX_port_logicaldev_input' |
udi = '/org/freedesktop/Hal/devices/platform_i8042_i8042_AUX_port_logicaldev_input' |
||
input.originating_device = '/org/freedesktop/Hal/devices/platform_i8042_i8042_AUX_port' (string) |
input.originating_device = '/org/freedesktop/Hal/devices/platform_i8042_i8042_AUX_port' (string) |
||
| Riga 78: | Riga 89: | ||
=I primi passi per la configurazione= |
=I primi passi per la configurazione= |
||
| − | Ora limitiamoci ad inserire nel database di hal le informazioni minimali in modo da avere il nostro touchpad attivo, quindi inseriamo nel file |
+ | Ora limitiamoci ad inserire nel database di hal le informazioni minimali in modo da avere il nostro touchpad attivo, quindi inseriamo nel file |
''/etc/hal/fdi/policy/11-x11-synaptics.fdi'' quanto segue: |
''/etc/hal/fdi/policy/11-x11-synaptics.fdi'' quanto segue: |
||
<PRE> |
<PRE> |
||
| Riga 94: | Riga 105: | ||
input.x11_driver = synaptics |
input.x11_driver = synaptics |
||
input.x11_options.SHMConfig = true |
input.x11_options.SHMConfig = true |
||
| − | La prima chiave (input.x11_driver) viene cercata dal server xorg al momento dell'avvio per sapere quali driver deve caricare per gestire l'input, quindi noi gli diciamo di |
+ | La prima chiave (input.x11_driver) viene cercata dal server xorg al momento dell'avvio per sapere quali driver deve caricare per gestire l'input, quindi noi gli diciamo di |
caricare anche il driver synaptics. |
caricare anche il driver synaptics. |
||
| − | La seconda chiave (input.x11_options.SHMConfig) viene invece cercata dal driver synaptics e gli serve per sapere come configurarsi. Tutte le chiavi di configurazione del |
+ | La seconda chiave (input.x11_options.SHMConfig) viene invece cercata dal driver synaptics e gli serve per sapere come configurarsi. Tutte le chiavi di configurazione del |
| − | driver synaptics iniziano con ''input.x11_options.'' e al momento sono tutte di tipo ''string''. Quindi per ora abbiamo detto al driver che vogliamo sfruttare la memoria |
+ | driver synaptics iniziano con ''input.x11_options.'' e al momento sono tutte di tipo ''string''. Quindi per ora abbiamo detto al driver che vogliamo sfruttare la memoria |
condivisa (SHM - Shared Memory), vedremo dopo il perchè. |
condivisa (SHM - Shared Memory), vedremo dopo il perchè. |
||
| Riga 104: | Riga 115: | ||
rieseguendo: |
rieseguendo: |
||
<PRE> |
<PRE> |
||
| − | $> hal-device '/org/freedesktop/Hal/devices/platform_i8042_i8042_AUX_port_logicaldev_input' |
+ | $> hal-device '/org/freedesktop/Hal/devices/platform_i8042_i8042_AUX_port_logicaldev_input' |
udi = '/org/freedesktop/Hal/devices/platform_i8042_i8042_AUX_port_logicaldev_input' |
udi = '/org/freedesktop/Hal/devices/platform_i8042_i8042_AUX_port_logicaldev_input' |
||
... |
... |
||
| Riga 114: | Riga 125: | ||
vediamo che nel database di hal, relativamente al touchpad, sono presenti anche le nostre impostazioni. |
vediamo che nel database di hal, relativamente al touchpad, sono presenti anche le nostre impostazioni. |
||
| − | Allora quando noi avvieremo il server xorg, lui troverà la chiave '''input.x11_driver''' e capirà che dovrà caricare il driver synaptics, il quale a sua volta troverà la |
+ | Allora quando noi avvieremo il server xorg, lui troverà la chiave '''input.x11_driver''' e capirà che dovrà caricare il driver synaptics, il quale a sua volta troverà la |
chiave '''input.x11_options.SHMConfig''' e saprà che dovrà configurarsi in modo tale da poter essere configurato tramite la memoria condivisa. |
chiave '''input.x11_options.SHMConfig''' e saprà che dovrà configurarsi in modo tale da poter essere configurato tramite la memoria condivisa. |
||
=Usare synclient per configurare il driver synaptics a runtime= |
=Usare synclient per configurare il driver synaptics a runtime= |
||
Con la semplice impostazione precedente |
Con la semplice impostazione precedente |
||
<merge key="input.x11_options.SHMConfig" type="string">true</merge> |
<merge key="input.x11_options.SHMConfig" type="string">true</merge> |
||
| − | abbiamo detto al driver synaptics che deve poter essere configurabile a runtime attraverso la memoria condivisa, e questo ci permette di eseguire, a server xorg attivo, il |
+ | abbiamo detto al driver synaptics che deve poter essere configurabile a runtime attraverso la memoria condivisa, e questo ci permette di eseguire, a server xorg attivo, il |
comando '''synclient'''. |
comando '''synclient'''. |
||
| − | '''NOTA''': l'opzione 'SHMConfig = true' è considerata un rischio per la sicurezza, visto che tutti coloro |
+ | '''NOTA''': l'opzione 'SHMConfig = true' è considerata un rischio per la sicurezza, visto che tutti coloro che hanno accesso al PC possono |
| − | che hanno accesso al PC possono configurare il driver synaptics semplicemente tramite SHM. |
+ | configurare il driver synaptics semplicemente tramite SHM. |
Lanciando: |
Lanciando: |
||
| Riga 152: | Riga 163: | ||
$> synclient TapButton1=1 TapButton2=2 TapButton3=3 |
$> synclient TapButton1=1 TapButton2=2 TapButton3=3 |
||
diciamo al driver, rispettivamente, che: |
diciamo al driver, rispettivamente, che: |
||
| − | * quando clicchiamo nel centro del touchpad con un dito, si deve comportare come se fosse stato premuto il 1° pulsante (generalmente il tasto sinistro). |
+ | * quando clicchiamo nel centro del touchpad con un dito, si deve comportare come se fosse stato premuto il 1° pulsante (generalmente il tasto sinistro). |
* quando clicchiamo nel centro del touchpad con due dita, si deve comportare come se fosse stato premuto il 2° pulsante. |
* quando clicchiamo nel centro del touchpad con due dita, si deve comportare come se fosse stato premuto il 2° pulsante. |
||
* quando clicchiamo nel centro del touchpad con tre dita, si deve comportare come se fosse stato premuto il 3° pulsante. |
* quando clicchiamo nel centro del touchpad con tre dita, si deve comportare come se fosse stato premuto il 3° pulsante. |
||
| Riga 185: | Riga 196: | ||
</deviceinfo> |
</deviceinfo> |
||
</PRE> |
</PRE> |
||
| − | Si noti come tutte le chiavi per il driver synaptics iniziano con 'input.x11_options.' mentre il nome delle proprietà ('SHMConfig', 'VertEdgeScroll' 'MaxTapTime', etc..) |
+ | Si noti come tutte le chiavi per il driver synaptics iniziano con 'input.x11_options.' mentre il nome delle proprietà ('SHMConfig', 'VertEdgeScroll' 'MaxTapTime', etc..) |
sono prese direttamente dal manuale del driver (synaptics(4)) e sono le stesse che abbiamo passato al comando '''synclient'''. |
sono prese direttamente dal manuale del driver (synaptics(4)) e sono le stesse che abbiamo passato al comando '''synclient'''. |
||
| Riga 212: | Riga 223: | ||
Se notate qualche incorrettezza scrivetemi pure, generalmente accetto ben volentieri critiche o proposte di matrimonio :)<BR> |
Se notate qualche incorrettezza scrivetemi pure, generalmente accetto ben volentieri critiche o proposte di matrimonio :)<BR> |
||
| − | [[Utente:Spina|Spina]] |
+ | [[Utente:targzeta|targzeta]] |
Versione attuale delle 23:57, 2 ott 2012
Indice |
[modifica] ATTENZIONE
Con la "morte" del progetto hal il server Xorg si autoconfigura tramite il demone udev (udevd). Questo wiki per tanto può considerarsi obsoleto.
Per configurare il driver synaptics sui server Xorg (versione => 1.9) che fanno uso di udev, dopo aver installato il pacchetto:
xf86-input-synaptics
si controlli il file:
/usr/share/X11/xorg.conf.d/50-synaptics.conf
[modifica] Introduzione
Questo wiki spiega come settare i touchpad synaptics attraverso hal e il nuovo xorg >= 1.5.x. I nuovi server xorg supportano l'hotplugging attraverso le informazioni
prelevate grazie al demone hal (hald).
Si può vedere il sottosistema hal come un database di informazioni sui vari device presenti nel PC, il server xorg quindi lo contatta attraverso il message bus di sistema
(dbus-daemon --system) e preleva ciò di cui ha bisogno per "auto-configurarsi". In questo modo i futuri server xorg (ma anche lo stesso 1.5.x) potranno quasi
certamente
fare a meno del famoso file di configurazione /etc/X11/xorg.conf.
In questo wiki spiegheremo come aggiungere al database di hal le informazioni relative ai touchpad synaptics in modo tale che il server xorg le possa prelevare per
configurare il driver stesso (il driver synaptics).
[modifica] Cosa ci serve
Tutto il software necessario si trova di default sulla slackware a partire già dalla versione current di oggi, 16 Giugno 2009. In pratica ci si deve solo assicurare di avere installato i pacchetti (le versioni sono riferite alla distribuzione current di slackware):
- hal-0.5.11
- dbus-1.2.14
- xorg-server-1.6.1
- xf86-input-evdev-2.2.2
- xf86-input-synaptics-1.1.2
I due demoni hald e dbus-daemon --system sono eseguiti all'avvio della slackware dai relativi file:
/etc/rc.d/rc.hald /etc/rc.d/rc.messagebus
NOTA: evdev deve essere compilato anche nel kernel! Ma nei kernel della Slackware è già presente.
[modifica] Come aggiungere le informazioni al database di hal per il driver synaptics di xorg
Per aggiungere le informazioni sulla configurazione che vogliamo ottenere per il touchpad bisogna creare un file per hal, ad esempio il file:
/etc/hal/fdi/policy/11-x11-synaptics.fdi
con all'interno quanto segue:
<?xml version="1.0" encoding="ISO-8859-1"?>
<deviceinfo version="0.2">
<device>
<match key="info.capabilities" contains="input.touchpad">
...
...
...
</match>
</device>
</deviceinfo>
Tutto ciò che è nei ... sarà la nostra configurazione, e vedremo in seguito cosa e come possiamo settarla.
Intanto cerchiamo di capire cosa abbiamo fatto creando questo file. Innanzitutto il path /etc/hal/fdi/policy ci assicura che il file verrà letto dal demone hald
al suo prossimo riavvio. Il contenuto del file segue la DTD (Document Type Definition) dei file XML per hal, noi stiamo dicendo che vogliamo effettuare delle operazioni (sono
quelle nei ...) se tra le info.capabilities individuate nel PC c'è un entry che contiene il valore input.touchpad.
[modifica] Controllare le informazioni sul device presenti nel database di hal
Come abbiamo visto, quello che noi faremo è semplicemente aggiungere informazioni al database di hal per il driver synaptics. Inoltre abbiamo anche visto che le
informazioni verranno aggiunte al device in cui compare la stringa input.touchpad come info.capabilities.
Il sistema hal prevede una serie di software con il quale è possibile interrogare il database da riga di comando, e ora noi ne sfrutteremo due per controllare le
informazioni già presenti nel database. Eseguendo:
$> hal-find-by-capability --capability input.touchpad /org/freedesktop/Hal/devices/platform_i8042_i8042_AUX_port_logicaldev_input
si ottiene l'udi (Unique Device Id) del device che contiene input.touchpad come info.capabilities.
Ora eseguendo hal-device passando come parametro l'udi ottenuto:
$> hal-device '/org/freedesktop/Hal/devices/platform_i8042_i8042_AUX_port_logicaldev_input'
udi = '/org/freedesktop/Hal/devices/platform_i8042_i8042_AUX_port_logicaldev_input'
input.originating_device = '/org/freedesktop/Hal/devices/platform_i8042_i8042_AUX_port' (string)
info.subsystem = 'input' (string)
linux.sysfs_path = '/sys/class/input/input4/event4' (string)
info.category = 'input' (string)
info.product = 'SynPS/2 Synaptics TouchPad' (string)
info.parent = '/org/freedesktop/Hal/devices/platform_i8042_i8042_AUX_port' (string)
info.capabilities = { 'input', 'input.touchpad' } (string list)
info.udi = '/org/freedesktop/Hal/devices/platform_i8042_i8042_AUX_port_logicaldev_input' (string)
linux.hotplug_type = 2 (0x2) (int)
input.device = '/dev/input/event4' (string)
linux.subsystem = 'input' (string)
input.product = 'SynPS/2 Synaptics TouchPad' (string)
linux.device_file = '/dev/input/event4' (string)
otteniamo le informazioni contenute nel database di hal relative al nostro touchpad (si noti che tra le info.capabilities c'è anche input.touchpad).
[modifica] I primi passi per la configurazione
Ora limitiamoci ad inserire nel database di hal le informazioni minimali in modo da avere il nostro touchpad attivo, quindi inseriamo nel file /etc/hal/fdi/policy/11-x11-synaptics.fdi quanto segue:
<?xml version="1.0" encoding="ISO-8859-1"?>
<deviceinfo version="0.2">
<device>
<match key="info.capabilities" contains="input.touchpad">
<merge key="input.x11_driver" type="string">synaptics</merge>
<merge key="input.x11_options.SHMConfig" type="string">true</merge>
</match>
</device>
</deviceinfo>
dicendo quindi ad hal che se trova una chiave info.capabilities che contiene la stringa input.touchpad deve aggiungere nel database le coppie chiave = valore:
input.x11_driver = synaptics input.x11_options.SHMConfig = true
La prima chiave (input.x11_driver) viene cercata dal server xorg al momento dell'avvio per sapere quali driver deve caricare per gestire l'input, quindi noi gli diciamo di caricare anche il driver synaptics. La seconda chiave (input.x11_options.SHMConfig) viene invece cercata dal driver synaptics e gli serve per sapere come configurarsi. Tutte le chiavi di configurazione del driver synaptics iniziano con input.x11_options. e al momento sono tutte di tipo string. Quindi per ora abbiamo detto al driver che vogliamo sfruttare la memoria condivisa (SHM - Shared Memory), vedremo dopo il perchè.
Quindi, una volta riavviato il demone hald con:
#> /etc/rc.d/rc.hald restart
rieseguendo:
$> hal-device '/org/freedesktop/Hal/devices/platform_i8042_i8042_AUX_port_logicaldev_input' udi = '/org/freedesktop/Hal/devices/platform_i8042_i8042_AUX_port_logicaldev_input' ... input.x11_driver = 'synaptics' (string) ... input.x11_options.SHMConfig = 'true' (string) ...
vediamo che nel database di hal, relativamente al touchpad, sono presenti anche le nostre impostazioni.
Allora quando noi avvieremo il server xorg, lui troverà la chiave input.x11_driver e capirà che dovrà caricare il driver synaptics, il quale a sua volta troverà la chiave input.x11_options.SHMConfig e saprà che dovrà configurarsi in modo tale da poter essere configurato tramite la memoria condivisa.
[modifica] Usare synclient per configurare il driver synaptics a runtime
Con la semplice impostazione precedente
<merge key="input.x11_options.SHMConfig" type="string">true</merge>
abbiamo detto al driver synaptics che deve poter essere configurabile a runtime attraverso la memoria condivisa, e questo ci permette di eseguire, a server xorg attivo, il comando synclient.
NOTA: l'opzione 'SHMConfig = true' è considerata un rischio per la sicurezza, visto che tutti coloro che hanno accesso al PC possono configurare il driver synaptics semplicemente tramite SHM.
Lanciando:
$> synclient -l
Parameter settings:
LeftEdge = 1752
RightEdge = 5192
TopEdge = 1620
BottomEdge = 4236
....
si può vedere come è configurato il driver synaptics al momento attuale. Tutte le proprietà sono spiegate nel manuale del driver, accessibile con:
man 4 synaptics
Ad esempio per abilitare lo scrolling verticale si esegua:
$> synclient VertEdgeScroll=1
e controllando con:
$> synclient -l| grep VertEdgeScroll
VertEdgeScroll = 1
si nota che è abilitato.
[modifica] Alcune proprità interessanti del driver synaptics
Oltre allo scrolling verticale il driver synaptics mette a disposizione un sacco di proprietà tra cui:
* I TapButton * I CornerButton
I TapButton servono per dire al driver quali pulsanti deve considerare come premuti quando si 'clicca' nel centro del touchpad, ad esempio con:
$> synclient TapButton1=1 TapButton2=2 TapButton3=3
diciamo al driver, rispettivamente, che:
- quando clicchiamo nel centro del touchpad con un dito, si deve comportare come se fosse stato premuto il 1° pulsante (generalmente il tasto sinistro).
- quando clicchiamo nel centro del touchpad con due dita, si deve comportare come se fosse stato premuto il 2° pulsante.
- quando clicchiamo nel centro del touchpad con tre dita, si deve comportare come se fosse stato premuto il 3° pulsante.
I CornerButton servono per dire al driver quali pulsanti deve considerare come premuti quando si 'clicca' negli angoli del touchpad, ad esempio con:
$> synclient RTCornerButton=2 RBCornerButton=3
diciamo al driver, rispettivamente, che:
- quando clicchiamo nell'angolo in alto a destra (RT - right top) del touchpad deve comportarsi come se fosse stato premuto il 2° pulsante.
- quando clicchiamo nell'angolo in basso a destra (RB - right bottom) del touchpad deve comportarsi come se fosse stato premuto il 3° pulsante.
[modifica] Un file per hal di esempio
Una volta trovata la giusta configurazione per il nostro touchpad a runtime grazie a synclient, possiamo renderla attiva ad ogni avvio del server xorg modificando il file /etc/hal/fdi/policy/11-x11-synaptics.fdi.
Ad esempio il mio file contiene:
<?xml version="1.0" encoding="ISO-8859-1"?>
<deviceinfo version="0.2">
<device>
<match key="info.capabilities" contains="input.touchpad">
<merge key="input.x11_driver" type="string">synaptics</merge>
<merge key="input.x11_options.SHMConfig" type="string">true</merge>
<merge key="input.x11_options.VertEdgeScroll" type="string">true</merge>
<merge key="input.x11_options.MaxTapTime" type="string">180</merge>
<merge key="input.x11_options.FingerLow" type="string">25</merge>
<merge key="input.x11_options.FingerHigh" type="string">30</merge>
<merge key="input.x11_options.TapButton1" type="string">1</merge>
<merge key="input.x11_options.TapButton2" type="string">3</merge>
<merge key="input.x11_options.TapButton3" type="string">2</merge>
<merge key="input.x11_options.RTCornerButton" type="string">3</merge>
<merge key="input.x11_options.RBCornerButton" type="string">2</merge>
</match>
</device>
</deviceinfo>
Si noti come tutte le chiavi per il driver synaptics iniziano con 'input.x11_options.' mentre il nome delle proprietà ('SHMConfig', 'VertEdgeScroll' 'MaxTapTime', etc..) sono prese direttamente dal manuale del driver (synaptics(4)) e sono le stesse che abbiamo passato al comando synclient.
[modifica] Errori
[modifica] hal-find-by-capability --capability input.touchpad non mostra niente
Questo tipo di errore può essere causato dal passaggio del parametro proto=imp al modulo del kernel psmouse. Per ovviare a questo problema, assicuratevi che nel file:
/etc/modprobe.d/psmouse.conf
sia commentata la riga:
# options psmouse proto=imps
[modifica] NOTA
Alcuni utenti per essere sicuri di non fare danni usano generalmente creare dei file di backup. Se volete fare un backup di questo file prima di modificarlo, fate attenzione a non farlo nella directory /etc/modprobe.d/, altrimenti l'opzione viene passata ugualmente. Per verificare che il parametro non sia stato passato, potete scaricare il modulo e ricaricarlo come segue:
#> modprobe -r psmouse #> modprobe -v psmouse
facendo attenzione che il secondo comando non mostri qualcosa del tipo:
proto=imps
Se lo mostra, allora vuol dire che qualche altro file nella directory su citata ha questa opzione non commentata.
[modifica] Conclusione
Grazie alla lettura di questo piccolo wiki dovremmo essere in grado di capire:
- come avverrà la futura configurazione dei server xorg (grazie ad hal e dbus)
- e quindi come poter intervenire per modificarla
Se notate qualche incorrettezza scrivetemi pure, generalmente accetto ben volentieri critiche o proposte di matrimonio :)
targzeta