kbdmap(5) documents 35 ASCII control characters. 32 C0 control characters plus SPACE and DEL is of course only 34 characters. The 35th, entirely fictional, ASCII character is "ns"; snuck in between "rs" (character #30) and "us" (character #31). There is no such ASCII character name. This fictional ASCII character can be found in three places: * The kbdmap(5) manual page. * Several keyboard layouts, including (for examples) share/vt/kbdmaps/ua.kbd, share/vt/kbdmaps/lt.kbd, and share/vt/kbdmaps/pt.kbd * The kbdcontrol tool. A superficial analysis suggests, from the placement at [Control]+[-_], that in most cases "us" is what was meant.
It looks like character 31 was incorrectly added as 'ns', and corrected 17 years ago in r38139. We should definitely fix the keyboard layouts and man page, but should probably leave 'ns' in the parser. https://svnweb.freebsd.org/base?view=revision&revision=38139
A commit references this bug: Author: emaste Date: Sat Jan 2 04:42:54 UTC 2016 New revision: 293047 URL: https://svnweb.freebsd.org/changeset/base/293047 Log: Use correct name 'us' for character 31 in keymaps 'ns' was a historical accident, and kbdcontrol(1) has accepted the correct 'us' as well as 'ns' since r38139. PR: 205776 MFC after: 1 week Changes: head/share/vt/keymaps/gr.101.acc.kbd head/share/vt/keymaps/gr.elot.acc.kbd head/share/vt/keymaps/hu.101.kbd head/share/vt/keymaps/hu.102.kbd head/share/vt/keymaps/lt.kbd head/share/vt/keymaps/pt.acc.kbd head/share/vt/keymaps/pt.kbd head/share/vt/keymaps/ua.kbd head/share/vt/keymaps/ua.shift.alt.kbd
A commit references this bug: Author: emaste Date: Sat Jan 2 18:35:11 UTC 2016 New revision: 293055 URL: https://svnweb.freebsd.org/changeset/base/293055 Log: kbdmap.5: Use current names for ASCII control codes lf, ff, us Refer to the old names nl, np, ns as historical aliases. PR: 205776, 205778 MFC After: 1 week Sponsored by: The FreeBSD Foundation Changes: head/usr.sbin/kbdcontrol/kbdmap.5
I expect to leave the syscons keyboard map files alone, and we'll need to support nl/np/ns in the kbdcontrol tool for backwards compatibility.
A commit references this bug: Author: emaste Date: Sat Jan 9 00:28:35 UTC 2016 New revision: 293447 URL: https://svnweb.freebsd.org/changeset/base/293447 Log: MFC r293047: Use correct name 'us' for character 31 in keymaps 'ns' was a historical accident, and kbdcontrol(1) has accepted the correct 'us' as well as 'ns' since r38139. PR: 205776 Changes: _U stable/10/ stable/10/share/vt/keymaps/gr.101.acc.kbd stable/10/share/vt/keymaps/gr.elot.acc.kbd stable/10/share/vt/keymaps/hu.101.kbd stable/10/share/vt/keymaps/hu.102.kbd stable/10/share/vt/keymaps/lt.kbd stable/10/share/vt/keymaps/pt.acc.kbd stable/10/share/vt/keymaps/pt.kbd stable/10/share/vt/keymaps/ua.kbd stable/10/share/vt/keymaps/ua.shift.alt.kbd
A commit references this bug: Author: emaste Date: Sat Jan 9 01:01:04 UTC 2016 New revision: 293455 URL: https://svnweb.freebsd.org/changeset/base/293455 Log: MFC r293055: kbdmap.5: Use current names for ASCII control codes lf, ff, us Refer to the old names nl, np, ns as historical aliases. PR: 205776, 205778 Changes: _U stable/10/ stable/10/usr.sbin/kbdcontrol/kbdmap.5