Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Raccourcis en tty

10 réponses
Avatar
Ph. Ivaldi
Bonjour,

Où trouver une configuration optimale pour que la majorité des
raccourcis fonctionnent dans un terminal.
Là, même C-SPACE ne fonctionne pas et c'est franchement pénible.

PS: la recherche avec google-groups ne semble pas fonctionner
correctement...
1 seule fil pour tty, ça me paraît peu.

Merci,
--
Philippe Ivaldi.
http://www.piprime.fr/

10 réponses

Avatar
Sébastien Kirche
Le 19 septembre 2009 à 18:10, Ph. Ivaldi vraute :

Bonjour,

Où trouver une configuration optimale pour que la majorité des
raccourcis fonctionnent dans un terminal.
Là, même C-SPACE ne fonctionne pas et c'est franchement pénible.



Le problème c'est qu'en tty les raccourcis sont d'abord interprétés par
ton émulateur de terminal. Ainsi en ce moment je suis connecté via un
tty dans iTerm (sur mac) et pas moyen de faire de M- la touche commande
est interceptée et un simple M-q pour reformatter un paragraphe (avec
filladapt) et quitte iTerm. Depuis mon iMac je suis contraint à utiliser
Esc- au lieu de M- alors que je n'ai pas ce problème depuis un pécé et
putty.

Dans ton cas C-Space c'est pour insérer un espace insécable ?
Est-ce que la touche est reçue par Emacs, mais avec une autre
signification que d'habitude ou est-ce que la touche est interceptée par
ton xterm ? Est-ce que tu as un message d'Emacs ? Si Emacs reçoit
quelque chose, pour savoir ce qu'il a eu, tu peux aller voir dans C-h l
(view-lossage) qui te liste les 100 dernières touches reçues.

PS: la recherche avec google-groups ne semble pas fonctionner
correctement...
1 seule fil pour tty, ça me paraît peu.



La recherche dans Google Groups semble avoir des vapeurs depuis quelques
jours (semaines ?). Il y a certains fils de discussion que je n'arrive
pas à retrouver ici et dans d'autres groupes alors que je connais
précisément certains mots-clés qui devraient me permettre de retomber
sur les messages.
--
Sébastien Kirche
Avatar
Ph. Ivaldi
Le 19 septembre 2009, Sébastien Kirche écrivit :

Merci Sebastien de t'occuper de mon cas.

Le problème c'est qu'en tty les raccourcis sont d'abord interprétés par
ton émulateur de terminal.



Oui. Actuellement j'utilise gnome-terminal mais c'est pareil avec
urxvt ou aterm ou encore xterm.

Dans ton cas C-Space c'est pour insérer un espace insécable ?



Heu... bonne question.
J'utilise toujours S-Space pour ça. Du coup j'ai essayé C-Space ailleurs
que dans Emacs (Emacs sous X comprend très bien C-Space) et là
étonnement... rien, il n'est pas interprété.
Dans xev, ça donne:
8<------8<------8<------8<------8<------8<------8<------8<------8<------
KeyPress event, serial 28, synthetic NO, window 0x3800001,
root 0x66, subw 0x0, time 42481885, (377,200), root:(380,736),
state 0x0, keycode 37 (keysym 0xffe3, Control_L), same_screen YES,
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False

KeyPress event, serial 28, synthetic NO, window 0x3800001,
root 0x66, subw 0x0, time 42482888, (377,200), root:(380,736),
state 0x4, keycode 65 (keysym 0x0, NoSymbol), same_screen YES,
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False
8<------8<------8<------8<------8<------8<------8<------8<------8<------

(keysym 0x0, NoSymbol) !
C'est grave docteur ?

Est-ce que la touche est reçue par Emacs, mais avec une autre
signification que d'habitude ou est-ce que la touche est interceptée par
ton xterm ?



Du coup, ni l'un ni l'autre.

Est-ce que tu as un message d'Emacs ?



Rien, nada, nothing, wallhou.

J'ai ça dans mon ~/.xsession (c'est mon xsession qui démarre gnome et
xmonad):
8<------8<------8<------8<------8<------8<------8<------8<------8<------
setxkbmap -layout fr oss
xmodmap /home/pi/.Xmodmap
8<------8<------8<------8<------8<------8<------8<------8<------8<------

et dans .Xmodmap j'ai (gros bidouillage inside, je ne maîtrise pas la
chose):
8<------8<------8<------8<------8<------8<------8<------8<------8<------
keycode 166 = Prior
keycode 167 = Next
keycode 60 = colon slash periodcentered division backslash
keycode 49 = twosuperior onesuperior twosuperior twosuperior threesuperior notsign
keycode 32 = o O O O 0x13bd OE
keycode 65 = space nobreakspace emspace
keycode 109 = Control_R
clear Mod3
add Mod3 = Control_R
clear control
keycode 37 = Control_L
add control = Control_L
8<------8<------8<------8<------8<------8<------8<------8<------8<------

Je redéfinis Mod3, pour l'utiliser comme modificateur dans xmonad, ce qui
différencie le "control gauche" du "control droit".

Je pensais que le problème pouvez venir de cette ligne
keycode 65 = space nobreakspace emspace
mais non, après suppression de cette ligne, puis
setxkbmap -layout fr oss
et
xmodmap /home/pi/.Xmodmap

le problème persiste.
--
Philippe Ivaldi.
http://www.piprime.fr/
Avatar
Sébastien Kirche
Le 19 septembre 2009 à 22:22, Ph. Ivaldi vraute :

Le 19 septembre 2009, Sébastien Kirche écrivit :

Merci Sebastien de t'occuper de mon cas.

> Le problème c'est qu'en tty les raccourcis sont d'abord interprétés
> par ton émulateur de terminal.

Oui. Actuellement j'utilise gnome-terminal mais c'est pareil avec
urxvt ou aterm ou encore xterm.



Tiens dans iTerm (Mac) le C-Space et même A-Space (option-space)
fonctionnent sans perturbation, par contre c'est toutes les combinaisons
M- qui sont interprétées comme des raccourcis d'une appli mac.

> Dans ton cas C-Space c'est pour insérer un espace insécable ?

Heu... bonne question. J'utilise toujours S-Space pour ça. Du coup
j'ai essayé C-Space ailleurs que dans Emacs (Emacs sous X comprend
très bien C-Space) et là étonnement... rien, il n'est pas interprété.



Oulà, j'ai du zaper un truc : C-space c'est pour poser la marque afin de
faire des sélections de région bien sûr :o) En fait j'ai justement
bataillé pour insérer un espace insécable avec putty (terminal ssh sous
wondows) sans succès pour le meoment. Disons que j'avais encore la tête
dans la guidon.

Dans xev, ça donne:
8<------8<------8<------8<------8<------8<------8<------8<------8<------
KeyPress event, serial 28, synthetic NO, window 0x3800001, root 0x66,
subw 0x0, time 42481885, (377,200), root:(380,736), state 0x0, keycode
37 (keysym 0xffe3, Control_L), same_screen YES, XLookupString gives 0
bytes: XmbLookupString gives 0 bytes: XFilterEvent returns: False

KeyPress event, serial 28, synthetic NO, window 0x3800001, root 0x66,
subw 0x0, time 42482888, (377,200), root:(380,736), state 0x4, keycode
65 (keysym 0x0, NoSymbol), same_screen YES, XLookupString gives 0
bytes: XmbLookupString gives 0 bytes: XFilterEvent returns: False
8<------8<------8<------8<------8<------8<------8<------8<------8<------

(keysym 0x0, NoSymbol) !
C'est grave docteur ?

> Est-ce que la touche est reçue par Emacs, mais avec une autre
> signification que d'habitude ou est-ce que la touche est interceptée
> par ton xterm ?

Du coup, ni l'un ni l'autre.

> Est-ce que tu as un message d'Emacs ?

Rien, nada, nothing, wallhou.

J'ai ça dans mon ~/.xsession (c'est mon xsession qui démarre gnome et
xmonad):
8<------8<------8<------8<------8<------8<------8<------8<------8<------
setxkbmap -layout fr oss
xmodmap /home/pi/.Xmodmap
8<------8<------8<------8<------8<------8<------8<------8<------8<------

et dans .Xmodmap j'ai (gros bidouillage inside, je ne maîtrise pas la
chose):



En gros, le .Xmodmap te permet :
- de donner un rôle Shift / Meta / Super / Hyper à certaines touches
de fonction comme ctrl, alt, windows, menu-contextuel
- et pour chaque touche (en fait chaque évènement clavier, mais ça
concerne aussi la souris) d'indiquer quel sera le caractère obtenu en
l'appuyant seule, ou en combinaison avec un des modifiers.

Avec un exemple simple de mon iBook :
,----[ .Xmodmap3 ]
| clear Mod1
| clear Mod2
| clear Mod3
| clear Mod4
| clear Mod5
| keycode 64 = Alt_L Super_L
| keycode 115 = Meta_L
| keycode 108 = Multi_key
| add Mod1 = Meta_L
| add Mod2 = Alt_L
`----
J'inverse deux touches Option (=alt) et Pomme (=Windows) qui sont vues à
l'envers par le système de ce que je veux avoir (j'ai pris l'habitude
avec Emacs d'avoir Meta juste à côté de la touche Espace), j'indique que
Alt pourra servir de Super si j'utlise aussi Shift, et je modifie la
signification de la petite touche enter qui ne me sert pas pour faire
Multi (= touche compose) pour introduire facilement des diacritiques ou
autre symboles.

Dans ton cas :

8<------8<------8<------8<------8<------8<------8<------8<------8<------
keycode 166 = Prior
keycode 167 = Next



Ces 2 touches font page précédente / page suivante (ce ne sont pas les
mêmes keycodes que mon clavier pécé)

keycode 60 = colon slash periodcentered division backslash



La touche ":/" fournit ":" seule, "/" avec shift, un point centré avec
cpas-lock, division avec Mod1, "" avec Mod2, les Mod3, Mod4, Mod5 ne sont
pas spécifiés

Pour avoir la liste des modifiers tels qu'uls sont configurés, un coup
de xmodmap -pm doit pouvoir aider.

keycode 49 = twosuperior onesuperior twosuperior twosuperior
threesuperior notsign



Même description pour la touche "²"

keycode 32 = o O O O 0x13bd OE



Touche O, avec un Mod3 en plus

keycode 65 = space nobreakspace emspace



Ici la touche Espace, qui ne précise des choses que jusqu'à Mod1

keycode 109 = Control_R



Touche Control droite

clear Mod3
add Mod3 = Control_R
clear control
keycode 37 = Control_L



Touche Control gauche

add control = Control_L
8<------8<------8<------8<------8<------8<------8<------8<------8<------

Je redéfinis Mod3, pour l'utiliser comme modificateur dans xmonad, ce
qui différencie le "control gauche" du "control droit".

Je pensais que le problème pouvez venir de cette ligne
keycode 65 = space nobreakspace emspace
mais non, après suppression de cette ligne, puis
setxkbmap -layout fr oss
et
xmodmap /home/pi/.Xmodmap

le problème persiste.



À mon avis le keycode 37 = Control_L est inutile (c'est la valeur par
défaut), par contre vu que tu supprime la définition de control, ça
expliquerait qu'il ne se passe plus rien encuite avec ce modifier, alors
que xev voit bien que la touche est actionnée.
Un "add control = Control_L" pourra peut-être corriger le tir ?

En Hopant que ça Helpe :o)
--
Sébastien Kirche, content d'avoir eu l'occasion de réviser son mapping X11
Avatar
Luc.Habert.00__arjf
Sébastien Kirche :

En fait j'ai justement bataillé pour insérer un espace insécable avec
putty



La touche menu fait office de touche compose.
Avatar
Erwan David
Paul Gaborit écrivait :

À (at) Sun, 20 Sep 2009 16:51:24 +0200,
Ph. Ivaldi écrivait (wrote):
Pour rappel:
La combinaison C-espace n'est pas interprétée (sauf par Emacs sous X).



Tiens ? Pourtant, là en ce moment, je suis dans terminale
(gnome-terminal) et j'utilise un emacs à travers ssh et C-espace
marche très bien. Heureusement d'ailleurs car, sinon, je ne saurais
pas comment sélectionner des portions de texte dans mon emacs.




C-@ fait la même chose.

--
Le travail n'est pas une bonne chose. Si ça l'était,
les riches l'auraient accaparé
Avatar
Sébastien Kirche
Le 20 septembre 2009 à 13:52, Luc Habert vraute :

Sébastien Kirche :

> En fait j'ai justement bataillé pour insérer un espace insécable
> avec putty

La touche menu fait office de touche compose.



Tien, oui je n'avais jamais remarqué cela. Super pour des caractères
comme Ø, ¹, ², ³, mais pour " " je n'arrive pas avec putty (là je suis
passé par C-x 8) : Compose Espace insère un espace, je n'arrive pas
saisir Compose espace espace...
--
Sébastien Kirche
Avatar
Ph. Ivaldi
Le 20 septembre 2009, Erwan David écrivit :

C-@ fait la même chose.



Oui mais ce n'est pas aussi pratique que C-espace, je trouve.
--
Philippe Ivaldi.
http://www.piprime.fr/
Avatar
Erwan David
Ph. Ivaldi écrivait :

Le 20 septembre 2009, Erwan David écrivit :

C-@ fait la même chose.



Oui mais ce n'est pas aussi pratique que C-espace, je trouve.



Sauf avec un clavier de mac, où @ est atteignable directement

--
Le travail n'est pas une bonne chose. Si ça l'était,
les riches l'auraient accaparé
Avatar
Paul Gaborit
À (at) Sun, 20 Sep 2009 19:06:29 +0200,
Erwan David écrivait (wrote):
Paul Gaborit écrivait :

À (at) Sun, 20 Sep 2009 16:51:24 +0200,
Ph. Ivaldi écrivait (wrote):
Pour rappel:
La combinaison C-espace n'est pas interprétée (sauf par Emacs sous X).



Tiens ? Pourtant, là en ce moment, je suis dans terminale
(gnome-terminal) et j'utilise un emacs à travers ssh et C-espace
marche très bien. Heureusement d'ailleurs car, sinon, je ne saurais
pas comment sélectionner des portions de texte dans mon emacs.




C-@ fait la même chose.



Vu que ça envoie le même caractère de contrôle, ce n'est pas
étonnant. Si emacs dans un terminal n'était pas capable de recevoir
l'un des deux, il ne recevrait pas non plus l'autre...

Donc, sauf mauvaise configuration du terminal, C-espace et C-@ envoie
le même caractère (le caractère NUL) et emacs sait l'interpréter.

--
Paul Gaborit - <http://perso.mines-albi.fr/~gaborit/>
Avatar
Sébastien Kirche
Le 20 septembre 2009 à 19:09, Sébastien Kirche a dit :

Le 20 septembre 2009 à 13:52, Luc Habert vraute :

> Sébastien Kirche :
>
> > En fait j'ai justement bataillé pour insérer un espace insécable
> > avec putty
>
> La touche menu fait office de touche compose.

Tien, oui je n'avais jamais remarqué cela. Super pour des caractères
comme Ø, ¹, ², ³, mais pour " " je n'arrive pas avec putty (là je suis
passé par C-x 8) : Compose Espace insère un espace, je n'arrive pas
saisir Compose espace espace...



Je viens de voir que ça fonctionne peut-être avec C-S-SPC sauf que ça
semble insérer un caractère unicode correspondant. C'est à dire qu'au
lieu d'insérer le caractère 160 (0xA0) ça insère un caractère 2208
(0x8A0) ' ' mais C-u C-x = indique que c'est le caractère U+00A0 ce qui
semble la même chose ?

--
Sébastien Kirche