Re: [CBLX] faire migrer mes habitudes |
[ Thread Index |
Date Index
| More lists.tuxfamily.org/carrefourblinux Archives
]
Hello Yannick:
yannick a écrit:
> bonjour, sur mes habitudes pris avec windows,
> la touche windows est utlisé pour déclanché tous mes raccourcis , une
>personne m'a dit que je ne pourrais plus utiliser cette touche ,
> est ce vrai ?
Sorry du cliché mais tout est quasi possible sous Linux, suffit de savoir
comment (1er problème), et c pas toujours simple-simple (2nd problème).
En googlant un peu on trouve sur linux-france.org l'info que j'ai mis en pj
ici (voir .txt);
sinon aller à http://linux-france.org/~qliu/programmer-touche.html
(attention, la doc date un peu... se peut qu'entretemps ça soit devenu plus
simple, mais j'ai pas trouvé plus récent alors que c important vu
l'evolution rapide de Linux de ces dernières années)
Aldo.
Programmer une touche clavier sous Linux
Qing Liu (qliu@xxxxxxxxxxxxxxxx), 9 mai 2002
J'ai un clavier Internet Explorer Pro avec les touches de navigation
"home" etc ... des touches de fonctions "veille"... Autant que je
sache, ces touches ne sont pas reconnues par les applications sous
Linux. Le présent document donne une manière d'associer une commande à
une de ces touches en mode console. Dans l'exemple qui suit, nous
allons associer à la touche "veille" la commande apm -s.
Je remercie Stéphane Écolivet qui m'a indiqué les démarches à suivre.
1. Repérer le code clavier de la touche
Passer en mode console Ctrl-Alt-F1 et
$ showkey -s
Si vous voulez programme une touche ordinaire, par exemple la touche
"windows", showkey tout court suffit. Vous voyez
0xe0 0x5f 0xe0 0xdf
Le code à retenir est e05f.
2. Intégrer le code dans la carte clavier (keymap)
Imaginons que la carte clavier que nous utilisons est fr-latin1 (grep
-r loadkeys /etc/* pour vérifier). Une petit locate fr-latin1 permet de
trouver où se cache le fichier fr-latin1.map. S'il est compressé, il
faut le décompresser avant de l'éditer (et le recompresser avec gzip
après l'édition, si on veut). Dans ce fichier on doit d'abord repérer
un code non attribué. Par exemple, on voit qu'il n'y a aucune ligne
contenant 90. On y ajoute alors une ligne "keycode 90 =
KeyboardSignal":
...
keycode 86 = less greater bar
alt keycode 86 = Meta_less
keycode 90 = KeyboardSignal
keycode 97 = Control
Maintenant il faut dire au système de transformer le scan code e05f en
ascii code 90:
# /usr/bin/setcodekeys e05f 90
(vérifier que le chemin de setkeycodes est le bon). Pour éviter de le
refaire chaque fois, on peut inserrer cette ligne dans un script de
démarrage, par exemple rc.local.
3. Modifier inittab
Ajouter une ligne dans /etc/inittab:
czz::kbrequest:/sbin/apm -s
Ici czz est pris au hasard. Il peut être n'importe quelle chaîne de
moins de 4 caractères non utilisée dans inittab. Il n'y a plus qu'à
taper
# telinit q
pour prendre en compte la modification de /etc/inittab. Si tout se
passe bien, l'appuie sur la touche "veille" provoque la mise en veille
du système.
4. Regrets
Je n'ai pas trouvé le moyen de faire sous X.