Bug 205776 - keyboard maps use an entirely fictional ASCII character
Summary: keyboard maps use an entirely fictional ASCII character
Status: Closed FIXED
Alias: None
Product: Base System
Classification: Unclassified
Component: misc (show other bugs)
Version: 10.2-STABLE
Hardware: Any Any
: --- Affects Only Me
Assignee: Ed Maste
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2016-01-01 11:56 UTC by Jonathan de Boyne Pollard
Modified: 2016-01-09 01:34 UTC (History)
1 user (show)

See Also:
emaste: mfc-stable10?
emaste: mfc-stable9-


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Jonathan de Boyne Pollard 2016-01-01 11:56:39 UTC
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.
Comment 1 Ed Maste freebsd_committer 2016-01-02 04:22:37 UTC
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
Comment 2 commit-hook freebsd_committer 2016-01-02 04:43:00 UTC
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
Comment 3 commit-hook freebsd_committer 2016-01-02 18:35:18 UTC
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
Comment 4 Ed Maste freebsd_committer 2016-01-04 15:49:36 UTC
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.
Comment 5 commit-hook freebsd_committer 2016-01-09 00:29:00 UTC
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
Comment 6 commit-hook freebsd_committer 2016-01-09 01:02:07 UTC
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