<div dir="ltr"><div>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.</div><div><br></div><div>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.</div><div><br></div><div>The problem is that the corresponding "string" lines are missing, which would define the escape sequence belonging to F21..F24.</div><div><br></div><div>They can be installed with a script like</div><div><br></div><div>sudo loadkeys <<EOF<br>string F21 = "\033[35~"<br>string F22 = "\033[36~"<br>string F23 = "\033[37~"<br>string F24 = "\033[38~"<br>EOF<br><br></div><div>and then taught to mc using its "Learn keys" dialog.  This way even Shift+F9 and Shift+10 will work as intended.</div><div><br></div><div>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.</div><div><br></div><div>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.</div><div><br></div></div>