diff options
author | marius <marius@FreeBSD.org> | 2006-11-02 00:01:15 +0000 |
---|---|---|
committer | marius <marius@FreeBSD.org> | 2006-11-02 00:01:15 +0000 |
commit | abfeec800f7ea83b4710e561d5d32f92765da464 (patch) | |
tree | cb3d7574d0e76f24b497c965e22a0110a6fbe651 /sys/conf/files.sparc64 | |
parent | 1f52d4e246f70457aa645838551ddd4bec519ca8 (diff) | |
download | FreeBSD-src-abfeec800f7ea83b4710e561d5d32f92765da464.zip FreeBSD-src-abfeec800f7ea83b4710e561d5d32f92765da464.tar.gz |
- In sunkbd_probe_keyboard() don't bother to determine the keyboard layout
as we have no use for that info. Instead let this function return the
keyboard ID and verify at its invocation in sunkbd_configure() that we're
talking to a Sun type 4/5/6 keyboard, i.e. a keyboard supported by this
driver.
- Add an option SUNKBD_EMULATE_ATKBD whose code is based on the respective
code in ukbd(4) and like UKBD_EMULATE_ATSCANCODE causes this driver to
emit AT keyboard/KB_101 compatible scan codes in K_RAW mode as assumed by
kbdmux(4). Unlike UKBD_EMULATE_ATSCANCODE, SUNKBD_EMULATE_ATKBD also
triggers the use of AT keyboard maps and thus allows to use the map files
in share/syscons/keymaps with this driver at the cost of an additional
translation (in ukbd(4) this just is the way of operation).
- Implement an option SUNKBD_DFLT_KEYMAP, which like the equivalent options
of the other keyboard drivers allows to specify the default in-kernel
keyboard map. For obvious reasons this made to only work when also using
SUNKBD_EMULATE_ATKBD.
- Implement sunkbd_check(), sunkbd_check_char() and sunkbd_clear_state(),
which are also required for interoperability with kbdmux(4).
- Implement K_CODE mode and FreeBSD keypad compose.
- As a minor hack define KBD_DFLT_KEYMAP also in the !SUNKBD_EMULATE_ATKBD
case so we can obtain fkey_tab from <dev/kbd/kbdtables.h> rather than
having to duplicate it and #ifdef some more code.
- Don't use the TX-buffer for writing the two command bytes for setting the
keyboard LEDs as this consequently requires a hardware FIFO that is at
least two bytes in depth, which the NMOS-variant of the Zilog SCCs doesn't
have. Thus use an inlined version of uart_putc() to consecutively write
the command bytes (a cleaner approach would be to do this via the soft
interrupt handler but that variant wouldn't work while in ddb(4)). [1]
- Fix some minor style(9) bugs.
PR: 90316 [1]
Reviewed by: marcel [1]
Diffstat (limited to 'sys/conf/files.sparc64')
-rw-r--r-- | sys/conf/files.sparc64 | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/sys/conf/files.sparc64 b/sys/conf/files.sparc64 index 13803b8..da83c63 100644 --- a/sys/conf/files.sparc64 +++ b/sys/conf/files.sparc64 @@ -12,6 +12,11 @@ atkbdmap.h optional atkbd_dflt_keymap \ no-obj no-implicit-rule before-depend \ clean "atkbdmap.h" # +sunkbdmap.h optional sunkbd_dflt_keymap \ + compile-with "/usr/sbin/kbdcontrol -L ${SUNKBD_DFLT_KEYMAP} | sed -e 's/^static keymap_t.* = /static keymap_t key_map = /' -e 's/^static accentmap_t.* = /static accentmap_t accent_map = /' > sunkbdmap.h" \ + no-obj no-implicit-rule before-depend \ + clean "sunkbdmap.h" +# ukbdmap.h optional ukbd_dflt_keymap \ compile-with "/usr/sbin/kbdcontrol -L ${UKBD_DFLT_KEYMAP} | sed -e 's/^static keymap_t.* = /static keymap_t key_map = /' -e 's/^static accentmap_t.* = /static accentmap_t accent_map = /' > ukbdmap.h" \ no-obj no-implicit-rule before-depend \ |