[HotKeys] Utiliser la touche Fn (resolu)

Reconnaissance et configuration du matériel / kernel linux
Avatar de l’utilisateur
Calimero
Elfe
Messages : 692
Inscription : ven. 02 mai 2008, 18:16
Localisation : Nantes (44)

[HotKeys] Utiliser la touche Fn (resolu)

Message par Calimero »

Salut !

J'ai un Gericom Webgine, et j'aimerais bien pouvoir me servir des hotkeys : Fn + F5 et F6 pour le son, spécialement : volume et mute.
Dernière modification par Calimero le mar. 01 juil. 2008, 15:23, modifié 1 fois.
Mes trucs : LiveCD http://ctkarch.org/ ; Blog, guide Arch, etc… http://calimeroteknik.free.fr/
In a world without walls and fences, who needs windows and gates ?
Clark
archer
Messages : 142
Inscription : dim. 01 juil. 2007, 15:41

Message par Clark »

Pareil (même si je n'ai pas aussi un Gericom) : je n'y connais rien en hotkeys et compagnie, donc je suis aussi preneur d'une explication pour utiliser les touches Fn.
Cactus
Maître du Kyudo
Messages : 2073
Inscription : sam. 16 sept. 2006, 10:39
Localisation : 31 - Toulouse Nord

Message par Cactus »

au pire, regardes du côté de klineak... ;)
Clark
archer
Messages : 142
Inscription : dim. 01 juil. 2007, 15:41

Message par Clark »

Bonjour,
j'ai trouvé sur ubuntu-fr (argh...mais bon, leur wiki est une mine d'info) un tuto assez simple pour redonner leurs fonctions aux touches Fn+X.

En résumé, il faut faire la manip suivante : je procède avec deux terminaux virtuels sous X.
Terminal 1 :

Code : Tout sélectionner

$ xmodmap -pke > /home/toto/xmodmap.conf
$ cat /usr/share/X11/XKeysymDB | grep XF86
Notez dans un coin les noms des XF86* qui vous intéressent (il y a pleins d'actions, du réglage du volume sonore au contraste de l'écran) ou garder la liste sous la main (ce que je fais).

:!: La première commande enregistre dans le fichier xmodmap.conf la signification des touches du clavier, laquelle dépend de votre layout et de sa variante définis dans le xorg.conf : assurez-vous de bien travailler avec la variante qui vous intéresse : les manipulations ci-dessous prenant le pas sur le xorg.conf !

Dans le second terminal, lancer xev (attention, une petite fenêtre s'ouvre, elle doit être active pour que s'affiche dans le terminal le résultat des actions du clavier ou de la souris) :

Code : Tout sélectionner

$ xev
Voici ce qui s'affiche quand je presse puis relâche la touche "flèche bas" :

Code : Tout sélectionner

KeyPress event, serial 31, synthetic NO, window 0x1e00001,
    root 0x87, subw 0x0, time 12858900, (610,-381), root:(612,67),
    state 0x0, keycode 104 (keysym 0xff54, Down), same_screen YES,
    XLookupString gives 0 bytes:
    XmbLookupString gives 0 bytes:
    XFilterEvent returns: False

KeyRelease event, serial 34, synthetic NO, window 0x1e00001,
    root 0x87, subw 0x0, time 12858994, (610,-381), root:(612,67),
    state 0x0, keycode 104 (keysym 0xff54, Down), same_screen YES,
    XLookupString gives 0 bytes:
    XFilterEvent returns: False
Ce qui nous intéresse, c'est cette partie :

Code : Tout sélectionner

keycode 104 (keysym 0xff54, Down)
Cela nous dit que la touche en question a le keycode 104 et que ce code est associé à une action particulière "Down".

Quand une touche ou une combinaison n'a pas d'action attribuée, on a la sortie suivante :

Code : Tout sélectionner

KeyRelease event, serial 35, synthetic NO, window 0x1e00001,
    root 0x87, subw 0x0, time 13186503, (708,-91), root:(710,357),
    state 0x0, keycode 223 (keysym 0x0, NoSymbol), same_screen YES,
    XLookupString gives 0 bytes:
    XFilterEvent returns: False
On voit clairement le (keysym 0x0, NoSymbol) qui signifie que cet évènement de keycode 223 n'entraîne aucune action. C'est que nous allons changer.

Avec xev, notez le keycode de chaque touche ou combinaison de touches que vous souhaitez bricoler. Éditez le fichier /home/toto/xmodmap.conf, et attribuez aux keycodes que vous avez trouvés une des actions XF86* listées précédemment :

Code : Tout sélectionner

...
keycode 173 =
keycode 174 = XF86AudioLowerVolume
keycode 175 =
keycode 176 = XF86AudioRaiseVolume
keycode 177 =
...
Une fois cette édition terminée :

Code : Tout sélectionner

# mv /home/toto/xmodmap.conf /etc/xmodmap.conf
# exit
$ xmodmap /etc/modmap.conf
Et vous pouvez tester le résultat !

Reste à rendre tout cela permanent : en fonction de votre environnement de bureau, configurez son démarrage pour qu'il exécute à chaque fois la commande xmodmap /etc/xmodmap.conf.

Je rappelle que cette commande prend le pas sur la configuration du clavier dans xorg.conf, donc si par hasard vous souhaitiez changer cette configuration, éditez xorg.conf comme vous le souhaitez, redémarrez X puis exécutez les commandes :

Code : Tout sélectionner

xmodmap -pke > /home/toto/xmodmap.conf
# mv /home/toto/xmodmap.conf /etc/xmodmap.conf
Toutes vos optimisations resteront prises en compte, ainsi que le nouveau layout du clavier.

[Edit du 23/07/08] : ajout des précautions à prendre avec la configuration du clavier dans xorg.conf.
Dernière modification par Clark le jeu. 24 juil. 2008, 01:44, modifié 1 fois.
Avatar de l’utilisateur
Calimero
Elfe
Messages : 692
Inscription : ven. 02 mai 2008, 18:16
Localisation : Nantes (44)

Message par Calimero »

Purement excellent, ça fonctionne, c'est exactement ce qu'il me fallait !!! :D :woohoo:

Pour lancer ça au démarrage de KDE, mettre dans /home/nom_utilisateur/.kde/Autostart un fichier genre xmodmap.sh contenant le texte :

Code : Tout sélectionner

#1.1 /bin/sh
xmodmap /etc/xmodmap.conf
Clic droit dessus, propriétés, droits d'accès, cocher "est exécutable", cliquer sur OK.

Super, quand on se login, on a toutes les fonctions Fn+F5, etc, pour le son, la luminosité sur nos laptops...
Mes trucs : LiveCD http://ctkarch.org/ ; Blog, guide Arch, etc… http://calimeroteknik.free.fr/
In a world without walls and fences, who needs windows and gates ?
collinm
newbie
Messages : 4
Inscription : dim. 29 avr. 2007, 04:06

Message par collinm »

j'utilise pas là archlinux... mais suse... et j'y arrive pas...

avec xev, mes touches pour monter - baisser le volume sont bien mappé...

quand je fais fn f2 avec xev, je vois bien XF86AudioMute...


je fais le xmodmap... aucune action n'est faite

dans mon xmodmap j'ai bien

Code : Tout sélectionner

keycode 174 = XF86AudioLowerVolume
keycode 175 =
keycode 176 = XF86AudioRaiseVolume
ensuite je fais

Code : Tout sélectionner

xmodmap /etc/X11/Xmodmap
ça prend une seconde environ...

et aucune effet sur les touches...
Avatar de l’utilisateur
AddiKT1ve
Elfe
Messages : 543
Inscription : sam. 10 mai 2008, 22:46
Localisation : Lève les yeux...

Message par AddiKT1ve »

Mmh, pareil :/
Devenez colocataire de Rootards.
##hippie irc.freenode.net
Avatar de l’utilisateur
cycyx
yeomen
Messages : 222
Inscription : dim. 02 mars 2008, 19:53

Message par cycyx »

Bon, bon, bon...

Je vais être un peu mauvaise langue, mais par défaut, lorsque vous lancez votre window manager, juste lui, rien que lui et que vous appuyez sur 'e' mettons. Ca fait quoi ?

Rien ? Et bien c'est normal : il faut associer la touche à une action, genre Alt+F2 = run-command.

Donc là, il faut associer la touche XF86AudioMute à une action.

Et cela est différent pour chaque window manager.
Avec fvwm par exemple, on peut faire :

Code : Tout sélectionner

# Volume Control
Key XF86AudioRaiseVolume A N Exec exec $[FVWM_USERDIR]/scripts/VolumeControl incr
Key XF86AudioLowerVolume A N Exec exec $[FVWM_USERDIR]/scripts/VolumeControl decr
Key XF86AudioMute A N Exec exec $[FVWM_USERDIR]/scripts/VolumeControl mute
Key XF86AudioPlay A N Exec exec mpc toggle
Key XF86AudioPrev A N Exec exec mpc prev
Key XF86AudioNext A N Exec exec mpc next
Key XF86AudioStop A N Exec exec mpc stop
Avatar de l’utilisateur
AddiKT1ve
Elfe
Messages : 543
Inscription : sam. 10 mai 2008, 22:46
Localisation : Lève les yeux...

Message par AddiKT1ve »

Ouais mais sous Gnome, dans Système > Préférences > Raccourcis clavier, eh ben :

Image

Code : Tout sélectionner

addikt1ve@sweetylaptop:~$ cat /etc/xmodmap.conf 
keycode 174 = XF86AudioLowerVolume
keycode 176 = XF86AudioRaiseVolume 
Et j'ai suivi le tuto à la lettre...
Devenez colocataire de Rootards.
##hippie irc.freenode.net
Avatar de l’utilisateur
cycyx
yeomen
Messages : 222
Inscription : dim. 02 mars 2008, 19:53

Message par cycyx »

Et aucun message d'erreur nulle part je suppose, même pas dans ${HOME}/.xsession-errors ?
Avatar de l’utilisateur
AddiKT1ve
Elfe
Messages : 543
Inscription : sam. 10 mai 2008, 22:46
Localisation : Lève les yeux...

Message par AddiKT1ve »

Et non :/
Devenez colocataire de Rootards.
##hippie irc.freenode.net
Clark
archer
Messages : 142
Inscription : dim. 01 juil. 2007, 15:41

Message par Clark »

Hmm, normalement rien à voir avec l'environnement de bureau. Quand j'utilise les touches de gestion du volume, c'est le canal principal du mixer alsa qui est modifié. De plus, je n'ai aucun paramétrage dans KDE qui lie ces combinaisons de touches avec une action XF86*.
Avatar de l’utilisateur
cycyx
yeomen
Messages : 222
Inscription : dim. 02 mars 2008, 19:53

Message par cycyx »

Il va falloir que tu m'expliques là, par quelle sorte de magie ton matériel "comprend" que tu veux baisser le volume lorsque tu appuies sur une touche.

Cela dépend forcément d'un binding ou d'un autre.

Alors ensuite, comment KDE gère cela, je n'en ai pas la moindre idée.
Mais par curiosité, Clark, ces touches fonctionnent-elles chez toi en console ?

Quant à Alsa, il n'a rien à voir avec les touches "multimédia" : si tu utilises OSS ou Pulse Audio, tu peux toujours faire l'association de touches.

AddiKT1ve, tu as essayé avec un autre wm/DE, juste pour voir ?
Avatar de l’utilisateur
warnaud
Maître du Kyudo
Messages : 1640
Inscription : ven. 11 août 2006, 17:05
Localisation : Rolle (CH)

Message par warnaud »

AddiKT1ve : gnome demande si il doit prendre en compte le fichier ~/.xmodmap normalement

cycyx dans le panneau de contrôle KDE t'as de quoi créer ces bindings

pour voir si les touches sont correctement mappées (avec des codes genre XF86*) => xev
Plus ça rate, plus ça a de chance de réussir. En somme, un succès n'est qu'une erreur qui a finit par réussir (même par erreur). Ne déséspérez donc pas et perseverez. Utilisez La Rache™
Patientia quod lard quod barrus planto diligo ut licentia
—¤÷(`[¤*Powered By *¤]´)÷¤—
Archlinux ~ Fvwm ~ Irssi ~ URxvt
Avatar de l’utilisateur
cycyx
yeomen
Messages : 222
Inscription : dim. 02 mars 2008, 19:53

Message par cycyx »

warnaud a écrit :cycyx dans le panneau de contrôle KDE t'as de quoi créer ces bindings
Je me doute, je disais juste que je n'avais pas l'expérience requise pour aider un utilisateur de KDE... :p

Cela dit, je reste toujours perplexe sur le fait que le WM/DE n'y soit pour rien dans l'utilisation de ces touches.
Clark
archer
Messages : 142
Inscription : dim. 01 juil. 2007, 15:41

Message par Clark »

cycyx a écrit : Mais par curiosité, Clark, ces touches fonctionnent-elles chez toi en console ?
J'avais justement testé hier soir ;) Il faut être logué sur le terminal de X pour que ça marche, puisque précisément quand le serveur X est démarré, c'est lui qui fait l'interface entre le clavier et le reste de l'ordinateur et les actions dont on parle sont gérées par Xlib.

Par contre, je n'arrive pas encore à déterminer la part de l'environnement du bureau.

Je viens de me rendre compte que lorsque Kmix (j'utilise KDE) n'est pas lancé, actionner une des séries de touches de contrôle du volume démarre Kmix pour prendre en compte cette action.
Clark
archer
Messages : 142
Inscription : dim. 01 juil. 2007, 15:41

Message par Clark »

Je viens de trouver la solution pour KDE !

Dans Kmix, ouvrez la table de mixage et allez dans Configuration > Configurer les raccourcis clavier globaux.

Une petite fenêtre s'ouvre et vous pouvez affecter les raccourcis que vous voulez aux trois actions : augmenter le volume, le baisser, rendre muet.
Il vous suffit pour chacune de ces actions d'y affecter le raccourci que vous avez bricolé avec xev et xmodmap et vous verrez que ce qui est enregistré par Kmix n'est pas la séquence de touches mais l'action XF86* correspondante.

cqfd.

Bizarrement, je n'ai pas besoin de cette affectation de raccourcis : Kmix 3.5.9 semble comprendre tout seul les appels XF86*.
Avatar de l’utilisateur
Calimero
Elfe
Messages : 692
Inscription : ven. 02 mai 2008, 18:16
Localisation : Nantes (44)

Message par Calimero »

Kmix c'est bon si vous voulez avoir un beau message en plein milieu de l'écran avec le volume.

Moi, j'ai une applet dans le tableau de bord, et c'est à elle que j'ai associé les raccourcis clavier pour monter et descendre le volume, je les ai enlevés de kmix, ça me gonflait qu'il se lance à chaque fois. ;)

En effet, il est exact que la modif de ce post ne sert qu'à activer ces raccourcis, c'est alors seulement qu'on peut les utiliser dans le DE, comme on l'entend.
Surprenant, je l'admets.
Mes trucs : LiveCD http://ctkarch.org/ ; Blog, guide Arch, etc… http://calimeroteknik.free.fr/
In a world without walls and fences, who needs windows and gates ?
Avatar de l’utilisateur
cycyx
yeomen
Messages : 222
Inscription : dim. 02 mars 2008, 19:53

Message par cycyx »

Calimero a écrit :En effet, il est exact que la modif de ce post ne sert qu'à activer ces raccourcis, c'est alors seulement qu'on peut les utiliser dans le DE, comme on l'entend.
Surprenant, je l'admets.
Je dois avoir un problème en ce moment, mais je ne vois pas ce qui est surprenant : xev sert à évaluer le bon fonctionnement/la définition actuelle des touches.
xmodmap sert à mapper les touches du clavier.

Du coup, une fois le "mappage" créé, il faut bien que "quelque chose" "quelque part" associe ce mappage à une fonction.

Cela peut être le rôle du wm/DE ou d'un programme quelconque.
Rien de surprenant pour moi donc...
collinm
newbie
Messages : 4
Inscription : dim. 29 avr. 2007, 04:06

Message par collinm »

Clark a écrit :Je viens de trouver la solution pour KDE !

Dans Kmix, ouvrez la table de mixage et allez dans Configuration > Configurer les raccourcis clavier globaux.

Une petite fenêtre s'ouvre et vous pouvez affecter les raccourcis que vous voulez aux trois actions : augmenter le volume, le baisser, rendre muet.
Il vous suffit pour chacune de ces actions d'y affecter le raccourci que vous avez bricolé avec xev et xmodmap et vous verrez que ce qui est enregistré par Kmix n'est pas la séquence de touches mais l'action XF86* correspondante.

cqfd.

Bizarrement, je n'ai pas besoin de cette affectation de raccourcis : Kmix 3.5.9 semble comprendre tout seul les appels XF86*.
je peux le faire que pour rendre muet...
baiser et augment ne sont pas là....
Répondre