1

In Linux Console, is there a way to make hitting a dead key twice print the corresponding dead character on screen? as it is the case in X11?

For instance I want the logical ^^ sequence to send a circumflex '^' character to my TTY. Currently I have to do ^SPACE in Linux Console, which I am not used to after many years in a X environment.

I am using the kbd stock fr-bepo keymap, which maps the dead_circumflex keysym to the Y physical key (keycode 21) of my AZERTY keyboard.

After reading the man keymaps(5) page, I tried adding the following rules in my modified keymap

keycode 21 = dead_circumflex # already set by 'fr-bepo'
compose '^' '^' to asciicircum # added by me

but this doesn't seem to work as expected..

This would only make the logical COMPOSE^^ sequence to work, but this would be worse than the stock ^SPACE sequence..

I think this is due to the fact that dead_circumflex is equivalent to a logical COMPOSE^ sequence, so hitting twice my Y physical key would generate the logical COMPOSE^COMPOSE^ sequence instead the COMPOSE^^ I was expecting.

Of course I can't just map the physical Y key to the plain asciicircum keysym because I also need the logical ^E sequence to generate a 'ê' character (often used in french).

ovmjm
  • 141
  • 1
  • @ThomasDickey this is actually a really good topic! But my problem seems really to be specific to the repeated dead keys sequences.. – ovmjm Oct 27 '18 at 23:30
  • I really don't get it: Why is not possible to simply type one ^ as the ^ ?. And: why not use "dead keys" ? Note that there are (at least) three methods to type accented characters. The one you use seem to be only to use the compose key. The second is using "dead" keys in which you press the ' key followed by e to get é. The third (which I use) is to enable the AltGR (convert the right alt to it) key, press AltGr-e to get a é. –  Oct 28 '18 at 22:28
  • @Isaac the stock fr-bepo keymap actually already uses dead keys. This easily allows to type ^e to get a ê. But this not allows to type ^^ (with the same keyboard dead key of course) to get a simple ^, I have to type ^SPACE which I'm not used to. In X11 ^^ is working very well. – ovmjm Oct 28 '18 at 22:42
  • Again: Why type anything else than a ^ to get a ^? –  Oct 29 '18 at 12:36
  • @Isaac if you look at the official fr-bepo layout here you will see on the second row the key dedicated to the ^. This key is supposed to be a dead key, allowing both to type ^, ê, ô etc often used in french. Having a dedicated key just for a plain ^ would not be natural. Also on my AZERTY keyboard the ^ dead key is bound to the Y because layouts doesn't fit one with each other. – ovmjm Oct 29 '18 at 14:03
  • (1) I also see on that layout that the 6 has the^ as supposed to be typed with AltGr, If that is true AltGr-^ should give ^ directly. (2) Yes I understand that you believe that the "dead keys" is a must. My point is that that is not the case and that there are other paradigms that may work well. I do not use "dead keys" and type several accented chars without problem. I do not claim that my solution is the best for everyone, just that it works well for me, maybe you could try it for a couple of days. –  Oct 29 '18 at 14:23
  • @Isaac Yes you are right I could just change my habit. It is something that crossed my mind (as I had already considered all the alternatives you mentioned including the 6 one !). But in the end what I want to do is completely possible under X11 and I don't see why it wouldn't be possible under Linux Console, that's why I try. But maybe there is a technical constraint in Linux/kbd that makes repeating a dead key impossible, or just an implementation choice from the developers. Maybe the best would be to ask current kbd maintainer, and I will. – ovmjm Oct 29 '18 at 14:32

0 Answers0