Changeset View
Changeset View
Standalone View
Standalone View
sys/dev/usb/input/ukbd.c
Show First 20 Lines • Show All 1,337 Lines • ▼ Show 20 Lines | |||||
#ifdef EVDEV_SUPPORT | #ifdef EVDEV_SUPPORT | ||||
evdev = evdev_alloc(); | evdev = evdev_alloc(); | ||||
evdev_set_name(evdev, device_get_desc(dev)); | evdev_set_name(evdev, device_get_desc(dev)); | ||||
evdev_set_phys(evdev, device_get_nameunit(dev)); | evdev_set_phys(evdev, device_get_nameunit(dev)); | ||||
evdev_set_id(evdev, BUS_USB, uaa->info.idVendor, | evdev_set_id(evdev, BUS_USB, uaa->info.idVendor, | ||||
uaa->info.idProduct, 0); | uaa->info.idProduct, 0); | ||||
evdev_set_serial(evdev, usb_get_serial(uaa->device)); | evdev_set_serial(evdev, usb_get_serial(uaa->device)); | ||||
evdev_set_methods(evdev, kbd, &ukbd_evdev_methods); | evdev_set_methods(evdev, kbd, &ukbd_evdev_methods); | ||||
evdev_set_flag(evdev, EVDEV_FLAG_LOCKLESS); | |||||
evdev_support_event(evdev, EV_SYN); | evdev_support_event(evdev, EV_SYN); | ||||
evdev_support_event(evdev, EV_KEY); | evdev_support_event(evdev, EV_KEY); | ||||
if (sc->sc_flags & (UKBD_FLAG_NUMLOCK | UKBD_FLAG_CAPSLOCK | | if (sc->sc_flags & (UKBD_FLAG_NUMLOCK | UKBD_FLAG_CAPSLOCK | | ||||
UKBD_FLAG_SCROLLLOCK)) | UKBD_FLAG_SCROLLLOCK)) | ||||
evdev_support_event(evdev, EV_LED); | evdev_support_event(evdev, EV_LED); | ||||
evdev_support_event(evdev, EV_REP); | evdev_support_event(evdev, EV_REP); | ||||
for (i = 0x00; i <= 0xFF; i++) | for (i = 0x00; i <= 0xFF; i++) | ||||
evdev_support_key(evdev, evdev_hid2key(i)); | evdev_support_key(evdev, evdev_hid2key(i)); | ||||
if (sc->sc_flags & UKBD_FLAG_NUMLOCK) | if (sc->sc_flags & UKBD_FLAG_NUMLOCK) | ||||
evdev_support_led(evdev, LED_NUML); | evdev_support_led(evdev, LED_NUML); | ||||
if (sc->sc_flags & UKBD_FLAG_CAPSLOCK) | if (sc->sc_flags & UKBD_FLAG_CAPSLOCK) | ||||
evdev_support_led(evdev, LED_CAPSL); | evdev_support_led(evdev, LED_CAPSL); | ||||
if (sc->sc_flags & UKBD_FLAG_SCROLLLOCK) | if (sc->sc_flags & UKBD_FLAG_SCROLLLOCK) | ||||
evdev_support_led(evdev, LED_SCROLLL); | evdev_support_led(evdev, LED_SCROLLL); | ||||
if (evdev_register(evdev)) | if (evdev_register_mtx(evdev, &Giant)) | ||||
evdev_free(evdev); | evdev_free(evdev); | ||||
else | else | ||||
sc->sc_evdev = evdev; | sc->sc_evdev = evdev; | ||||
#endif | #endif | ||||
sc->sc_flags |= UKBD_FLAG_ATTACHED; | sc->sc_flags |= UKBD_FLAG_ATTACHED; | ||||
if (bootverbose) { | if (bootverbose) { | ||||
▲ Show 20 Lines • Show All 942 Lines • Show Last 20 Lines |