changer la touche ²

Le
Stéphane Dutailly
Bonjour à tous,

Comme le titre l'indique, j'aimerais changer ma touche ² (en haut à
gauche) qui ne me sert à rien pour qu'elle m'affiche (qui est un
peu pénible à obtenir).
Je suppose qu'il faut faire un global-set-key mais je ne trouve pas les
bons paramètres. Auriez-vous une idée?
Merci d'avance,
Stéphane
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
pjb
Le #22840671
Stéphane Dutailly
Comme le titre l'indique, j'aimerais changer ma touche ² (en haut
à gauche) qui ne me sert à rien pour qu'elle m'affiche (qui est
un peu pénible à obtenir).
Je suppose qu'il faut faire un global-set-key mais je ne trouve pas
les bons paramètres. Auriez-vous une idée?



Ça s'appelle keyboard translation. Fonction: keyboard-translate.



--
__Pascal Bourguignon__ http://www.informatimago.com/
A bad day in () is better than a good day in {}.
JJ. Rétorré
Le #22840741
(Pascal J. Bourguignon) disait le 11/24/10 que :

Stéphane Dutailly
Comme le titre l'indique, j'aimerais changer ma touche ² (en haut
à gauche) qui ne me sert à rien pour qu'elle m'affiche (qui est
un peu pénible à obtenir).
Je suppose qu'il faut faire un global-set-key mais je ne trouve pas
les bons paramètres. Auriez-vous une idée?



Ça s'appelle keyboard translation. Fonction: keyboard-translate.



(keyboard-translate '?² '?\)

J'ai bon ?

--
JJR.
Lucas Levrel
Le #22841431
Le 24 novembre 2010, Stéphane Dutailly a écrit :

Comme le titre l'indique, j'aimerais changer ma touche ² (en haut à
gauche) qui ne me sert à rien pour qu'elle m'affiche (qui est un peu
pénible à obtenir).



Moi j'ai fait ça dans le .xmodmaprc. Comme ça ça marche aussi dans les
terminaux, les autres éditeurs, etc. (Tu verras, on s'habitue très vite à
la nouvelle touche et on a besoin qu'elle marche partout !)

--
LL
Stéphane Dutailly
Le #22841421
Le 24/11/2010 21:53, Lucas Levrel a écrit :
Le 24 novembre 2010, Stéphane Dutailly a écrit :

Comme le titre l'indique, j'aimerais changer ma touche ² (en haut à
gauche) qui ne me sert à rien pour qu'elle m'affiche (qui est un peu
pénible à obtenir).



Moi j'ai fait ça dans le .xmodmaprc. Comme ça ça marche aussi dans les
terminaux, les autres éditeurs, etc. (Tu verras, on s'habitue très vite
à la nouvelle touche et on a besoin qu'elle marche partout !)



euh... je veux bien te croire mais... c'est quoi le .xmodmaprc????
Lucas Levrel
Le #22842811
Le 24 novembre 2010, Stéphane Dutailly a écrit :

Le 24/11/2010 21:53, Lucas Levrel a écrit :
Le 24 novembre 2010, Stéphane Dutailly a écrit :

Comme le titre l'indique, j'aimerais changer ma touche ² (en haut à
gauche) qui ne me sert à rien pour qu'elle m'affiche (qui est un peu
pénible à obtenir).



Moi j'ai fait ça dans le .xmodmaprc. Comme ça ça marche aussi dans les
terminaux, les autres éditeurs, etc. (Tu verras, on s'habitue très vite
à la nouvelle touche et on a besoin qu'elle marche partout !)



euh... je veux bien te croire mais... c'est quoi le .xmodmaprc????



[crosspost et fu2 dans fcolc]

C'est le fichier de configuration d'xmodmap !

Je suis sous bash. Dans mon .profile j'ai mis :
-:-:-:-
if test -n "$DISPLAY" ; then # si c'est une session X...
xmodmap .xmodmaprc
fi
-:-:-:-

Et dans .xmodmaprc j'ai :
-:-:-:-
keycode 49 = backslash asciitilde bar braceleft bar braceleft
-:-:-:-
c'est-à-dire que sur la touche 49 seule j'ai , avec Shift j'obtiens ~,
avec AltGr j'obtiens |, avec Shift-AltGr {. (J'ai des infos
contradictoires sur la position où mettre bar et braceleft : en 3e et 4e
ou en 5e et 6e, donc j'ai mis les deux.)

Pour trouver le « 49 », taper xev dans un terminal, mettre la souris dans
le carré, taper la touche ² et lire le keycode dans un bloc du genre :
-:-:-:-
KeyPress event, serial 31, synthetic NO, window 0x3400001,
root 0x84, subw 0x3400002, time 116709057, (42,53), root:(1536,80),
state 0x10, keycode 49 (keysym 0x5c, twosuperior), same_screen YES,
XLookupString gives 1 bytes: (5c) "²"
XmbLookupString gives 1 bytes: (5c) "²"
XFilterEvent returns: False
-:-:-:-


Évidemment tout ça n'affecte le clavier que dans une session X, pas dans
les consoles virtuelles (je n'ai pas trouvé comment faire là, et je ne
sais pas s'il y a un moyen de faire les deux d'un coup).

--
LL
Olivier V
Le #22844371
Lucas Levrel wrote:

Le 24 novembre 2010, Stéphane Dutailly a écrit :

Le 24/11/2010 21:53, Lucas Levrel a écrit :
Le 24 novembre 2010, Stéphane Dutailly a écrit :

Comme le titre l'indique, j'aimerais changer ma touche ² (en haut à
gauche) qui ne me sert à rien pour qu'elle m'affiche (qui est un peu
pénible à obtenir).









J'avais un jour rédigé ceci :
http://o.viennet.free.fr/logiciels_libres/xkb.html
pour modifier le clavier en passant par xkb, car il me semble que la méthode
xmodmap est considérée comme obsolète.

Pour votre cas, xev me donne (sur mon clavier) keycode 49.

Comme on a
:~$ setxkbmap -print
xkb_keymap {
xkb_keycodes { include "evdev+aliases(azerty)" };
xkb_types { include "complete" };
xkb_compat { include "complete" };
xkb_symbols { include "pc+fr+inet(evdev)+level3(ralt_switch)" };
xkb_geometry { include "pc(pc105)" };
};
en particulier : xkb_keycodes { include "evdev+aliases(azerty)" };
on va chercher dans /usr/share/X11/xkb/keycodes/evdev
Dans /usr/share/X11/xkb/keycodes/evdev, la touche 49 est :
<TLDE> = 49;

Comme on a
xkb_symbols { include "pc+fr+inet(evdev)+level3(ralt_switch)" };
On va dans /usr/share/X11/xkb/symbols/fr, on a :
key <TLDE> { [ twosuperior, threesuperior,
onesuperior, cedilla ] }; // ² ³ ¹ ¸
Il faudrait donc mettre "slash" à la place de twosuperior.

J'avais
:~$ setxkbmap -print
xkb_keymap {
xkb_keycodes { include "evdev+aliases(azerty)" };
xkb_types { include "complete" };
xkb_compat { include "complete" };
xkb_symbols { include "pc+fr+inet(evdev)+level3(ralt_switch)" };
xkb_geometry { include "pc(pc105)" };
};

Donc je met dans un fichier 'clavierslash'
xkb_keymap {
xkb_keycodes { include "evdev+aliases(azerty)" };
xkb_types { include "complete" };
xkb_compat { include "complete" };
xkb_symbols { include "pc+fr+inet(evdev)+level3(ralt_switch)"
key <TLDE> { [ slash, threesuperior,
onesuperior, cedilla ] }; // ² ³ ¹ ¸
};
xkb_geometry { include "pc(pc105)" };
};

Ensuite au démarrage de session, je charge le fichier avec :
xkbcomp -w 0 clavierslash "$DISPLAY"

J'ai testé, ça fonctionne.

Olivier V
François Patte
Le #22844901
Le 25/11/2010 19:23, Olivier V a écrit :
Lucas Levrel wrote:

Le 24 novembre 2010, Stéphane Dutailly a écrit :

Le 24/11/2010 21:53, Lucas Levrel a écrit :
Le 24 novembre 2010, Stéphane Dutailly a écrit :

Comme le titre l'indique, j'aimerais changer ma touche ² (en haut à
gauche) qui ne me sert à rien pour qu'elle m'affiche (qui est un peu
pénible à obtenir).











Normalement, si à l'install (ou après), on règle son clavier sur
"latin9", cette touche affiche la ligature œ


--
François Patte
Université Paris Descartes
vincent.belaiche
Le #22898461
Lucas Levrel
Le 24 novembre 2010, Stéphane Dutailly a écrit :

Le 24/11/2010 21:53, Lucas Levrel a écrit :
Le 24 novembre 2010, Stéphane Dutailly a écrit :

Comme le titre l'indique, j'aimerais changer ma touche ² (en haut à
gauche) qui ne me sert à rien pour qu'elle m'affiche (qui est un
peu pénible à obtenir).



Moi j'ai fait ça dans le .xmodmaprc. Comme ça ça marche aussi dans
les terminaux, les autres éditeurs, etc. (Tu verras, on s'habitue
très vite à la nouvelle touche et on a besoin qu'elle marche partout
!)



euh... je veux bien te croire mais... c'est quoi le .xmodmaprc????



[crosspost et fu2 dans fcolc]

C'est le fichier de configuration d'xmodmap !

Je suis sous bash. Dans mon .profile j'ai mis :
-:-:-:-
if test -n "$DISPLAY" ; then # si c'est une session X...
xmodmap .xmodmaprc
fi
-:-:-:-

Et dans .xmodmaprc j'ai :
-:-:-:-
keycode 49 = backslash asciitilde bar braceleft bar braceleft
-:-:-:-
c'est-à-dire que sur la touche 49 seule j'ai , avec Shift j'obtiens
~, avec AltGr j'obtiens |, avec Shift-AltGr {. (J'ai des infos
contradictoires sur la position où mettre bar et braceleft : en 3e et
4e ou en 5e et 6e, donc j'ai mis les deux.)

Pour trouver le « 49 », taper xev dans un terminal, mettre la souris
dans le carré, taper la touche ² et lire le keycode dans un bloc du
genre :
-:-:-:-
KeyPress event, serial 31, synthetic NO, window 0x3400001,
root 0x84, subw 0x3400002, time 116709057, (42,53), root:(1536,80),
state 0x10, keycode 49 (keysym 0x5c, twosuperior), same_screen YES,
XLookupString gives 1 bytes: (5c) "²"
XmbLookupString gives 1 bytes: (5c) "²"
XFilterEvent returns: False
-:-:-:-


Évidemment tout ça n'affecte le clavier que dans une session X, pas
dans les consoles virtuelles (je n'ai pas trouvé comment faire là, et
je ne sais pas s'il y a un moyen de faire les deux d'un coup).



Merci pour ces info, ça peut me servir.

Pour info, concernant Emacs seulement, dans ma config il y a ça pour
faire la même chose:

::---------------------------------------------------------------------
;; convert ² to
(define-key key-translation-map [?²] [?\])
(define-key key-translation-map [(control ?²)] [(control ?\)])
(define-key key-translation-map [(control meta ?²)] [(control meta
?\)])
;;---------------------------------------------------------------------

Concernant l'utilisation de console sur une machine Linux, j'ai un pb
similaire, je me connecte par SSH sur une machine Linux depuis une
machine MSWindows, et c'est pénible que pour faire M-x, il faut taper
ESC x.

Je n'ai pas essayé, mais peut-être suffit-il de faire un


(define-key key-translation-map [(alt ?x)] [(meta ?x)])

dans le fichier d'init de l'Emacs sous Linux?

Vincent.
Pascal J. Bourguignon
Le #22898611
(Vincent Belaïche) writes:

Concernant l'utilisation de console sur une machine Linux, j'ai un pb
similaire, je me connecte par SSH sur une machine Linux depuis une
machine MSWindows, et c'est pénible que pour faire M-x, il faut taper
ESC x.

Je n'ai pas essayé, mais peut-être suffit-il de faire un


(define-key key-translation-map [(alt ?x)] [(meta ?x)])

dans le fichier d'init de l'Emacs sous Linux?



Non, ça ne suffira pas. Le problème, c'est le protocole utilisé entre
l'émulateur de terminal sur la machine MS-Windows et l'emacs sur Linux,
passant sur ssh.

Une solution, c'est de lancer un serveur X sur MS-Windows, et de faire
passer le protocole X sur ssh (avec ssh -X -Y).


L'alternative, c'est de configurer l'émulateur de terminal pour encoder
les combinaisons M-χ comme le code ASCII de χ avec le 8e bit à 1. Emacs
pourra ainsi détecter la touche meta. Mais celà restrint les caractères
encodables au jeu ASCII. Ce n'est pas un gros problème, car on peut
toujours taper les caractères accentués avec C-x 8 ' e, etc (et de
toutes façons, si on programme avec des langages de programmations
américains il vaut mieux utiliser un claver américain, les caractères
spéciaux seront ainsi plus facile à taper.



--
__Pascal Bourguignon__ http://www.informatimago.com/
A bad day in () is better than a good day in {}.
Publicité
Poster une réponse
Anonyme