misc/146793: Danish kbdmap for MacBook

Erik Cederstrand erik at cederstrand.dk
Fri May 21 12:00:14 UTC 2010


>Number:         146793
>Category:       misc
>Synopsis:       Danish kbdmap for MacBook
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          update
>Submitter-Id:   current-users
>Arrival-Date:   Fri May 21 12:00:13 UTC 2010
>Closed-Date:
>Last-Modified:
>Originator:     Erik Cederstrand
>Release:        FreeBSD 7.3
>Organization:
>Environment:
FreeBSD blanc.affect-it.dk 7.3-RELEASE FreeBSD 7.3-RELEASE #0: Sun Mar 21 06:15:01 UTC 2010     root at walker.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC  i386

>Description:
Attached is an ISO 8859-1 keyboard map for Danish MacBook and external Apple keyboards. It is useful for typing in the console when FreeBSD is running as a virtual machine within OS X.
>How-To-Repeat:

>Fix:
Select an ISO 8859-1 font using 'vidcontrol'
# setenv LC_CTYPE da_DK.ISO8859-1
Copy the file to /usr/share/syscons/keymaps/
Select the new keymap using 'kbdmap'

To persist across reboots:
Add 'keymap="danish.iso.macbook"' to /etc/rc.conf 
Add 'setenv LC_CTYPE ISO8859-1' to .cshrc

Patch attached with submission follows:

# $FreeBSD$
# Danish ISO 8859-1 keyboard layout for Apple keyboards. Not all
# key combinations are available in this character set.
# by Erik Cederstrand <erik at cederstrand.dk>
#                                                         alt
# scan                       cntrl          alt    alt   cntrl lock
# code  base   shift  cntrl  shift  alt    shift  cntrl  shift state
# ------------------------------------------------------------------
  000   nop    nop    nop    nop    nop    nop    nop    nop     O
  001   esc    esc    esc    esc    esc    esc    debug  esc     O
  002   '1'    '!'    '1'    '1'    '¡'    '¯'    '1'    '1'     O
  003   '2'    '"'    '2'    '2'    nop    nop    '2'    '2'     O
  004   '3'    '#'    '3'    '3'    '§'    '$'    '3'    '3'     O
  005   '4'    nop    '4'    '4'    '£'    '¢'    '4'    '4'     O
  006   '5'    '%'    '5'    '5'    nop    nop    '5'    '5'     O
  007   '6'    '&'    '6'    '6'    nop    '~'    '6'    '6'     O
  008   '7'    '/'    '7'    '7'    '¶'    '\'    '7'    '7'     O
  009   '8'    '('    '8'    '8'    '['    '{'    '8'    '8'     O
  010   '9'    ')'    '9'    '9'    ']'    '}'    '9'    '9'     O
  011   '0'    '='    '0'    '0'    nop    nop    '0'    '0'     O
  012   '+'    '?'    '+'    '+'    '±'    '¿'    '+'    '+'     O
  013   '='    '='    '='    '='    '='    '='    '='    '='     O
  014   bs     bs     del    del    bs     bs     del    del     O
  015   ht     btab   nop    nop    ht     btab   nop    nop     O
  016   'q'    'Q'    dc1    dc1    'º'    nop    nop    nop     C
  017   'w'    'W'    etb    etb    'w'    '°'    nop    nop     C
  018   'e'    'E'    enq    enq    'é'    'É'    nop    nop     C
  019   'r'    'R'    dc2    dc2    '®'    'Â'    nop    nop     C
  020   't'    'T'    dc4    dc4    nop    nop    nop    nop     C
  021   'y'    'Y'    em     em     '¥'    'ÿ'    nop    nop     C
  022   'u'    'U'    nak    nak    'ü'    'Ü'    nop    nop     C
  023   'i'    'I'    ht     ht     '|'    nop    nop    nop     C
  024   'o'    'O'    si     si     nop    nop    nop    nop     C
  025   'p'    'P'    dle    dle    nop    nop    nop    nop     C
  026   'å'    'Å'    nop    nop    nop    nop    nop    nop     C
  027   '¨'    '^'    '~'    '~'    '~'    '^'    '~'    '~'     O
  028   cr     cr     nl     nl     cr     cr     nl     nl      O
  029   lctrl  lctrl  lctrl  lctrl  lctrl  lctrl  lctrl  lctrl   O
  030   'a'    'A'    soh    soh    'ª'    'Ê'    nop    nop     C
  031   's'    'S'    dc3    dc3    'ß'    nop    nop    nop     C
  032   'd'    'D'    eot    eot    'ð'    nop    nop    nop     C
  033   'f'    'F'    ack    ack    nop    nop    nop    nop     C
  034   'g'    'G'    bel    bel    '©'    'Á'    nop    nop     C
  035   'h'    'H'    bs     bs     '«'    '»'    nop    nop     C
  036   'j'    'J'    nl     nl     nop    nop    nop    nop     C
  037   'k'    'K'    vt     vt     nop    nop    nop    nop     C
  038   'l'    'L'    ff     ff     '¬'    nop    nop    nop     C
  039   'æ'    'Æ'    nop    nop    'ä'    'Ä'    nop    nop     C
  040   'ø'    'Ø'    nop    nop    'ö'    'Ö'    nop    nop     C
  041   '<'    '>'    '<'   '<'     nop    nop    nop    nop     O
  042   lshift lshift lshift lshift lshift lshift lshift lshift  O
  043   '''    '*'    nop    nop    '@'    nop    nop    nop     O
  044   'z'    'Z'    sub    sub    nop    '¸'    nop    nop     C
  045   'x'    'X'    can    can    nop    nop    nop    nop     C
  046   'c'    'C'    etx    etx    'ç'    'Ç'    nop    nop     C
  047   'v'    'V'    syn    syn    'v'    'V'    nop    nop     C
  048   'b'    'B'    stx    stx    nop    'Ë'    nop    nop     C
  049   'n'    'N'    so     so     'ñ'    'Ñ'    nop    nop     C
  050   'm'    'M'    cr     cr     'µ'    nop    nop    nop     C
  051   ','    ';'    ','    ','    ','    ';'    ','    ','     O
  052   '.'    ':'    '.'    '.'    '·'    '÷'    '.'    '.'     O
  053   '-'    '_'    '-'    '-'    '-'    '_'    '-'    '-'     O
  054   rshift rshift rshift rshift rshift rshift rshift rshift  O
  055   '*'    '*'    '*'    '*'    '*'    '*'    '*'    '*'     O
  056   lalt   lalt   lalt   lalt   lalt   lalt   lalt   lalt    O
  057   ' '    ' '    nul    ' '    ' '    ' '    susp   ' '     O
  058   clock  clock  clock  clock  clock  clock  clock  clock   O
  059   fkey01 fkey13 fkey25 fkey37 scr01  scr11  scr01  scr11   O
  060   fkey02 fkey14 fkey26 fkey38 scr02  scr12  scr02  scr12   O
  061   fkey03 fkey15 fkey27 fkey39 scr03  scr13  scr03  scr13   O
  062   fkey04 fkey16 fkey28 fkey40 scr04  scr14  scr04  scr14   O
  063   fkey05 fkey17 fkey29 fkey41 scr05  scr15  scr05  scr15   O
  064   fkey06 fkey18 fkey30 fkey42 scr06  scr16  scr06  scr16   O
  065   fkey07 fkey19 fkey31 fkey43 scr07  scr07  scr07  scr07   O
  066   fkey08 fkey20 fkey32 fkey44 scr08  scr08  scr08  scr08   O
  067   fkey09 fkey21 fkey33 fkey45 scr09  scr09  scr09  scr09   O
  068   fkey10 fkey22 fkey34 fkey46 scr10  scr10  scr10  scr10   O
  069   nlock  nlock  nlock  nlock  nlock  nlock  nlock  nlock   O
  070   slock  slock  slock  slock  slock  slock  slock  slock   O
  071   fkey49 '7'    '7'    '7'    '7'    '7'    '7'    '7'     N
  072   fkey50 '8'    '8'    '8'    '8'    '8'    '8'    '8'     N
  073   fkey51 '9'    '9'    '9'    '9'    '9'    '9'    '9'     N
  074   fkey52 '-'    '-'    '-'    '-'    '-'    '-'    '-'     N
  075   fkey53 '4'    '4'    '4'    '4'    '4'    '4'    '4'     N
  076   fkey54 '5'    '5'    '5'    '5'    '5'    '5'    '5'     N
  077   fkey55 '6'    '6'    '6'    '6'    '6'    '6'    '6'     N
  078   fkey56 '+'    '+'    '+'    '+'    '+'    '+'    '+'     N
  079   fkey57 '1'    '1'    '1'    '1'    '1'    '1'    '1'     N
  080   fkey58 '2'    '2'    '2'    '2'    '2'    '2'    '2'     N
  081   fkey59 '3'    '3'    '3'    '3'    '3'    '3'    '3'     N
  082   fkey60 '0'    '0'    '0'    '0'    '0'    '0'    '0'     N
  083   del    ','    ','    ','    ','    ','    ','    ','     N
  084   nop    nop    nop    nop    nop    nop    nop    nop     O
  085   nop    nop    nop    nop    nop    nop    nop    nop     O
  086   '$'    nop    fs     fs     '\'    '>'    fs     fs      O
  087   fkey11 fkey23 fkey35 fkey47 scr11  scr11  scr11  scr11   O
  088   fkey12 fkey24 fkey36 fkey48 scr12  scr12  scr12  scr12   O
  089   cr     cr     nl     nl     cr     cr     nl     nl      O
  090   rctrl  rctrl  rctrl  rctrl  rctrl  rctrl  rctrl  rctrl   O
  091   '/'    '/'    '/'    '/'    '/'    '/'    '/'    '/'     O
  092   nscr   pscr   debug  debug  nop    nop    nop    nop     O
  093   ralt   ralt   ralt   ralt   ralt   ralt   ralt   ralt    O
  094   fkey49 fkey49 fkey49 fkey49 fkey49 fkey49 fkey49 fkey49  O
  095   fkey50 fkey50 fkey50 fkey50 fkey50 fkey50 fkey50 fkey50  O
  096   fkey51 fkey51 fkey51 fkey51 fkey51 fkey51 fkey51 fkey51  O
  097   fkey53 fkey53 fkey53 fkey53 fkey53 fkey53 fkey53 fkey53  O
  098   fkey55 fkey55 fkey55 fkey55 fkey55 fkey55 fkey55 fkey55  O
  099   fkey57 fkey57 fkey57 fkey57 fkey57 fkey57 fkey57 fkey57  O
  100   fkey58 fkey58 fkey58 fkey58 fkey58 fkey58 fkey58 fkey58  O
  101   fkey59 fkey59 fkey59 fkey59 fkey59 fkey59 fkey59 fkey59  O
  102   fkey60 paste  fkey60 fkey60 fkey60 fkey60 fkey60 fkey60  O
  103	fkey61 fkey61 fkey61 fkey61 fkey61 fkey61 boot   fkey61  O
  104   slock  saver  slock  saver  susp   nop    susp   nop     O
  105   fkey62 fkey62 fkey62 fkey62 fkey62 fkey62 fkey62 fkey62  O
  106   fkey63 fkey63 fkey63 fkey63 fkey63 fkey63 fkey63 fkey63  O
  107   fkey64 fkey64 fkey64 fkey64 fkey64 fkey64 fkey64 fkey64  O
  108   nop    nop    nop    nop    nop    nop    nop    nop     O


>Release-Note:
>Audit-Trail:
>Unformatted:


More information about the freebsd-bugs mailing list