Home | History | Annotate | Download | only in hid
History log of /src/sys/dev/hid/hidkbdmap.c
RevisionDateAuthorComments
 1.16  24-May-2025  nia wskbd(4): Define USB and PS/2 keymaps for KB_PL

This is the de-facto standard "Polish programmers" QWERTY keyboard,
what X11 simply calls "Polish". It's a simple variation of US QWERTY
with some extra characters when right alt is pressed.

Defining this layout is slightly optimistic, since even with latin-2
fonts loaded and the appropriate locale set, wscons seems to struggle
to input most of these characters.

Regardless, this allows the supposedly supported "pl" encoding
to not fail loading with an error message, and allows X11 to
auto-detect the keyboard layout (defining KB_PL and as an alias of
KB_US also accomplishes this goal), with room for proper UTF-8
support in the future.

PR port-amd64/57234 "# wsconsctl -k -w encoding=pl" *should* work.
PR kern/57844 wscons doesn't support encoding=pl contrary to wskbd(4) man page
PR install/58405 Selecting Polish keyboard type in sysinst is useless
 1.15  22-Sep-2021  nia branches: 1.15.10;
wscons: add definitions for BÉPO, a standardized, Dvorak-style optimized
keyboard layout for French
 1.14  21-Jul-2021  skrll need <sys/param.h> for COHERENCY_UNIT

Minor KNF along the way.
 1.13  11-May-2021  nia wscons: add support for the Neo 2 German keyboard layout

Neo is an optimized layout for German and English, similar to
Dvorak for English. It can be used to type most Latin-based languages
and has separate layers for symbols and directional commands.
 1.12  29-Aug-2020  macallan branches: 1.12.6; 1.12.8;
provide KB_APPLE layout variant which uses Command-F* to switch console screens
mostly for consistent behaviour across *Books which may have ADB or USB
keyboards
 1.11  26-Aug-2020  jdolecek for jp keymap map also scan code 49 to right bracket to handle ARCHISS model

PR kern/55608 by Shinichi Doyashiki
 1.10  13-Jul-2020  nia Canadian French keyboard layout for ukbd/pckbd
 1.9  13-Jul-2020  nia Add keyboard layout for Latin American Spanish to ukbd/pckbd
 1.8  12-Jul-2020  nia Add Icelandic keyboard layout to ukbd/pckbd.
 1.7  12-Jul-2020  nia Add KB_TR for uhid keyboards (it was PS/2 only, this seems wrong)
 1.6  12-Jul-2020  nia Add Estonian layout as a variation of Swedish for ukbd and pckbd
 1.5  12-Jul-2020  nia Bring br.nodead closer to X11
 1.4  12-Jul-2020  nia Add support for the Brazilian keyboard layout to pckbd and ukbd.

This is significantly different from the European Portugese layout,
and was pieced together from Wikipedia, X11 layout files, and to
some extent with trial and error.

Thanks to lun-4 for helping test this.

PR kern/44570
 1.3  24-Apr-2020  rhialto For usb keyboards with encoding *.swapctrlcaps, keep KS_Cmd1 on the same
key as KS_Control_L. This brings them in line with wskbdmap_mfii.c.
 1.2  11-Jan-2020  nia branches: 1.2.4;
Support the combination of KB_SWAPCTRLCAPS and UK layout.
 1.1  10-Dec-2017  bouyer branches: 1.1.4; 1.1.10; 1.1.12;
Factor out bus-independant HID code so that it can be shared by USB, bluetooth
and i2c.
dev/usb/ukbdmap.c is renamed to dev/hid/hidkbdmap.c
dev/usb/hid.[ch] moved to dev/hid/
usage pages moved from dev/usb/usbhid.h moved to dev/hid/hid.h,
and updated with OpenBSD entries.
bus-independant code moved from dev/usb/ums.c to dev/hid/hidms.c
(the same should be done for keyboard and touchpad drivers)

Needed for the upcoming HID over I2C support, proposed on tech-kern@
on Dec, 1.
 1.1.12.1  17-Jan-2020  ad Sync with head.
 1.1.10.3  19-Sep-2020  martin Pull up following revision(s) (requested by nonaka in ticket #1086):

sys/dev/hid/hidkbdmap.c: revision 1.11

for jp keymap map also scan code 49 to right bracket to handle ARCHISS model
PR kern/55608 by Shinichi Doyashiki
 1.1.10.2  13-Jul-2020  martin Pull up following revision(s) (requested by nia in ticket #1002):

sys/dev/wscons/wsksymdef.h: revision 1.68
sys/dev/wscons/wsksymdef.h: revision 1.69
sys/dev/pckbport/wskbdmap_mfii.c: revision 1.28
sys/dev/pckbport/wskbdmap_mfii.c: revision 1.29
sys/dev/hid/hidkbdmap.c: revision 1.10
share/man/man4/pckbd.4: revision 1.23
share/man/man4/wskbd.4: revision 1.18
share/man/man4/wskbd.4: revision 1.19
share/man/man4/pckbd.4: revision 1.25
sys/dev/wscons/wsksymdef.h: revision 1.70
sys/dev/wscons/wsksymdef.h: revision 1.71
sys/dev/pckbport/wskbdmap_mfii.c: revision 1.30
sys/dev/wscons/wsksymdef.h: revision 1.72
sys/dev/pckbport/wskbdmap_mfii.c: revision 1.31
sys/dev/wscons/wsksymdef.h: revision 1.73
sys/dev/pckbport/wskbdmap_mfii.c: revision 1.32
sys/dev/pckbport/wskbdmap_mfii.c: revision 1.33
sys/dev/hid/hidkbdmap.c: revision 1.4
sbin/wsconsctl/wsconsctl.8: revision 1.30
sys/dev/hid/hidkbdmap.c: revision 1.5
etc/wscons.conf: revision 1.20
sys/dev/hid/hidkbdmap.c: revision 1.6
etc/wscons.conf: revision 1.21
sys/dev/hid/hidkbdmap.c: revision 1.7
sys/dev/hid/hidkbdmap.c: revision 1.8
sys/dev/hid/hidkbdmap.c: revision 1.9

Add support for the Brazilian keyboard layout to pckbd and ukbd.

This is significantly different from the European Portugese layout,
and was pieced together from Wikipedia, X11 layout files, and to
some extent with trial and error.

Thanks to lun-4 for helping test this.

PR kern/44570
Update lists of keyboard layouts to add Turkish and Brazilian

Bring br.nodead closer to X11

Add Estonian layout as a variation of Swedish for ukbd and pckbd

Add KB_TR for uhid keyboards (it was PS/2 only, this seems wrong)

Add Icelandic keyboard layout to ukbd/pckbd.

Add keyboard layout for Latin American Spanish to ukbd/pckbd

Canadian French keyboard layout for ukbd/pckbd

Clarify that KB_TR is the "Q" layout - there's two standards for Turkish.

Move description of keyboard layouts to wskbd.4, add newer layouts

Previously, the best reference was pckbd.4. This does not make much
sense to read if you are on, say, an evbarm device with only USB.
wsconsctl.8 contained a vaguer description of supported language names,
which isn't very useful because you can't pass full language names
to the command. Point readers to wskbd.4 instead.

Note in the wskbd.4 page that while all layouts are generally supported
by pckbd(4) and ukbd(4), older keyboard interfaces might only support
a subset.

wskbd.4: Add KB_LA

Point readers at wskbd.4
 1.1.10.1  21-Jan-2020  martin Pull up following revision(s) (requested by nia in ticket #635):

sys/dev/pckbport/wskbdmap_mfii.c: revision 1.27
share/man/man4/pckbd.4: revision 1.22
sys/dev/hid/hidkbdmap.c: revision 1.2

Support the combination of KB_SWAPCTRLCAPS and UK layout.
Note some more layouts that work with KB_SWAPCTRLCAPS.
 1.1.4.1  08-Apr-2020  martin Merge changes from current as of 20200406
 1.2.4.1  25-Apr-2020  bouyer Sync with bouyer-xenpvh-base2 (HEAD)
 1.12.8.1  31-May-2021  cjep sync with head
 1.12.6.2  01-Aug-2021  thorpej Sync with HEAD.
 1.12.6.1  13-May-2021  thorpej Sync with HEAD.
 1.15.10.1  02-Aug-2025  perseant Sync with HEAD

RSS XML Feed