Module Name: src Committed By: khorben Date: Sun Apr 22 14:19:24 UTC 2012
Modified Files: src/sys/dev/usb: ukbd.c Log Message: Convert keycodes 0x7f, 0x80 and 0x81 to PMF events VOLUME_TOGGLE, VOLUME_UP and VOLUME_DOWN as observed on my Sun Type 7 USB keyboard, and according to the documentation mentioned above. "works here" macallan@ and myself To generate a diff of this commit: cvs rdiff -u -r1.119 -r1.120 src/sys/dev/usb/ukbd.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/dev/usb/ukbd.c diff -u src/sys/dev/usb/ukbd.c:1.119 src/sys/dev/usb/ukbd.c:1.120 --- src/sys/dev/usb/ukbd.c:1.119 Sun Apr 22 14:13:32 2012 +++ src/sys/dev/usb/ukbd.c Sun Apr 22 14:19:24 2012 @@ -1,4 +1,4 @@ -/* $NetBSD: ukbd.c,v 1.119 2012/04/22 14:13:32 khorben Exp $ */ +/* $NetBSD: ukbd.c,v 1.120 2012/04/22 14:19:24 khorben Exp $ */ /* * Copyright (c) 1998 The NetBSD Foundation, Inc. @@ -35,7 +35,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: ukbd.c,v 1.119 2012/04/22 14:13:32 khorben Exp $"); +__KERNEL_RCSID(0, "$NetBSD: ukbd.c,v 1.120 2012/04/22 14:19:24 khorben Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -175,6 +175,13 @@ Static const struct ukbd_keycodetrans tr }; #endif +Static const struct ukbd_keycodetrans trtab_generic[] = { + { 0x7f, IS_PMF | PMFE_AUDIO_VOLUME_TOGGLE }, + { 0x80, IS_PMF | PMFE_AUDIO_VOLUME_UP }, + { 0x81, IS_PMF | PMFE_AUDIO_VOLUME_DOWN }, + { 0x00, 0x00 } +}; + #if defined(WSDISPLAY_COMPAT_RAWKBD) #define NN 0 /* no translation */ /* @@ -660,6 +667,8 @@ ukbd_intr(struct uhidev *addr, void *ibu } #endif + ukbd_translate_keycodes(sc, ud, trtab_generic); + if ((sc->sc_flags & FLAG_DEBOUNCE) && !(sc->sc_flags & FLAG_POLLING)) { /* * Some keyboards have a peculiar quirk. They sometimes