[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#946392: ckbcomp: assignment of KeyboardSignal robs nano of <Alt+Up>

Package: console-setup
Version: 1.178-1

Since nano-4.0, <Alt+Up> and <Alt+Down> can be used to scroll the viewport
linewise up and down.  This works fine on any terminal emulator on any distro,
and works fine too on a Linux console (VT) on distros like Gentoo and Manjaro.

But the keystroke <Alt+Up> fails to do anything on a Linux console in Debian
and its derivatives (I've tried it on Xubuntu, Linux Mint, and Elementary).
This is because on Debian the keystroke <Alt+Up> doesn't simply produce the
code for 'Up' but the code for 'KeyboardSignal'.  This is determined by this
bit of code from ckbcomp that was added some nine years ago:

    } elsif ($mainsym eq 'Up') {
        $vector[$coord + 8] = 'KeyboardSignal';

However... is there any more-or-less average user that actually uses
'KeyboardSignal'?  Googling the net, I cannot find any example of how to
configure things under systemd to make KeyboardSignal work.  Under sysvinit
it seemed fairly easy: add something like "kb::kbrequest:/some/command" to
/etc/inittab, and add some keycombo to your console keymap to produce the
KeyboardSignal keycode, and it would work.  But under systemd... I cannot
work it out by reading the docs.

Anyway, historically it may be the case that Alt+Up was bound to KeyboardSignal,
but 1) on today's laptops, the cursor keys are so small and close together that
it is easy to type Alt+Up by accident (when wanting to type Alt+Left/Right, for
example), and 2) some programs would like to use Alt+Up for something else, and
3) almost no one makes use of KeyboardSignal, and 4) if some users do, they are
advanced enough to be able to add a KeyboardSignal binding to their keymap.

So I would like to request that the default binding for KeyboardSignal be changed
from <Alt+Up> to <Ctrl+Alt+Up>, so that it is much less likely to be typed by
accident, and to free up the <Alt+Up> keystroke for other prograsm.  So I would
like to see the above fragment changed to:

    } elsif ($mainsym eq 'Up') {
        $vector[$coord + 12] = 'KeyboardSignal';


Reply to: