[kmscon-devel] ctrl arrow keys not working in kmscon virtual consoles

Ran Benita ran234 at gmail.com
Fri Nov 11 19:59:53 UTC 2016


On Fri, Nov 11, 2016 at 08:17:38PM +0100, Benoît wrote:
> On Fri, Nov 11, 2016 at 08:13:27PM +0200, Ran Benita wrote:
> > From a quick check, it does not appear that the linux VT supports this
> > feature either.
> 
> Yes I have tested and it is working, I am able to differentiate arrow up and
> control arrow up, I have been able to confirm adding this :
> 
> keycode 103 = Up
> control keycode 103 = acircumflex

This changes the kernel console keymap -- the same approach would work
for kmscon as well, by modifying the XKB keymap. But I do not think the
kernel supports the xterm feature. I tested it simply by running `cat`
and typing Ctrl+Up and seeing that the modifier part is not echoed.

> > I am interested though in what is your usecase for this - which program
> > do you use which interprets these modifiers?
>
> I am using mutt for my email client and to scroll into my mails I am using
> up / down arrows and to scroll into my mails folder (sidebar) I am using
> ctrl up and ctrl down as it is quick to access.

I also happen to use mutt. Can you show how this bindings look like in
muttrc? I wonder if mutt indeed uses the modifiers from the escape
sequence, or something else. But I am too lazy to check.

> Just for my information, is it a main rewrite on the program or some line to
> add to interpret the crontrol action?

I am not sure, but I *think* it would involve:

- Researching exactly under which conditions the modifiers should be
  added.
- Adding the code to produce the modifiers, something like the vte code
  I linked to.

The relevant source file is this:
https://cgit.freedesktop.org/~dvdhrm/libtsm/tree/src/tsm/tsm-vte.c

> I also noticed that my ^/¨ key is not working on kmscom and if I use oss
> variant it is working but not on the top of letter like â or ê, for that I
> need to do an Alt Gr + a or Alt Gr + e.
> Not a big deal but for information.

I'm not sure I understand this sentence, but I think you are missing
Compose support. Unfortunately kmscon does not support that either,
but there is a patch available here if you are so inclined, see here:
https://github.com/dvdhrm/kmscon/issues/118


More information about the kmscon-devel mailing list