[Pkg-mc-devel] Bug#698885: mc: invalid <Shift>+<F(i)> hotkeys behavior in text console

Dmitry Smirnov onlyjob at member.fsf.org
Wed Jan 30 23:58:58 UTC 2013


The following explanation by from Egmont Koblinger [1] seems relevant:

	This seems to be a problem with the console-data or kbd or whichever
	similar package of Linux distros... They offer multiple keymaps, and define
	function keys differently in them.
	
	E.g. type "loadkeys us" -> with the U.S. keymap pressing Shift+F4 will do
	what you'd expect from Shift-F6.
	But type "loadkeys ru" -> with the Russian keymap Shift+F6 works as
	expected.
	
	Seems that the kernel's builtin keymap makes the Shift key offset the
	function keys by 10 (drivers/tty/vt/defkeymap.map says «keycode 64 = F6
	F16» and later «string F16 = "\033[29~"»), and this is what mc expects too
	(mc.lib: «f16=\\e[29~»).  Unfortunately, many keymaps, including the
	probably most widely used "us" wants to be able to assign separate action
	to F11 and Shift+F1, so they shift by 12 and define «keycode 64 = F6 F18».
	
	There's nothing mc could do about this right now, first all the keymaps
	should be made consistent.

[1]: https://mail.gnome.org/archives/mc-devel/2013-January/msg00028.html

-- 
Best wishes,
 Dmitry Smirnov
 GPG key : 4096R/53968D1B

---

Much of humankind's intellectual and emotional struggle has been not
for truth, but against truth. The advance of science has been
sporadically fought against for thousands of years.
        -- C. W. Dalton, "The Right Brain and Religion"



More information about the Pkg-mc-devel mailing list