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
  • 3
  • 1
    Possible duplicate of [How to define a Compose Key in terminal (no desktop environment)?](https://unix.stackexchange.com/questions/44453/how-to-define-a-compose-key-in-terminal-no-desktop-environment) – Thomas Dickey Oct 27 '18 at 23:19
  • @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](https://www.thoughtco.com/panish-accents-and-symbols-in-ubuntu-3080298) in which you press the `'` key followed by `e` to get `é`. The third (which I use) is to [enable the AltGR](https://askubuntu.com/questions/110828/how-can-i-use-dead-keys-for-consonants) (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](https://bepo.fr/wiki/Accueil) 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