ckbcomp is a perl script, its copyright line stating the years 2005-2006,
so it's not new at all.  It has existed even back then when I made my first
observations here.

As for the "keycode" lines it generates, it properly generates up to F24
(and beyond for other modifiers), with off-by-12 semantics as we've already
established.  That is, physical keypresses Shift+F9..Shift+F12 are mapped
to the logical symbols F21..F24.  So far this is what I'm looking for.

The problem is that the corresponding "string" lines are missing, which
would define the escape sequence belonging to F21..F24.

They can be installed with a script like

sudo loadkeys <<EOF
string F21 = "\033[35~"
string F22 = "\033[36~"
string F23 = "\033[37~"
string F24 = "\033[38~"
EOF

and then taught to mc using its "Learn keys" dialog.  This way even
Shift+F9 and Shift+10 will work as intended.

Note that I'm not certain what are the "best" escape sequences to choose,
it's always been a mistery to me why and where some numbers are skipped.
But as for someone's local fix, it doesn't matter.

ckbcomp doesn't emit such individual "string" commands, but emits a magical
"strings as usual" line to be processed with loadkeys.  This command
reverts F1..F20 to their defaults, but luckily leaves the unset-by-default
F21..F24 at the values we've set manually.  So, subsequent "loadkeys xx"
commands won't override them.

Reply via email to