Changeset View
Changeset View
Standalone View
Standalone View
sys/dev/kbdmux/kbdmux.c
Show First 20 Lines • Show All 488 Lines • ▼ Show 20 Lines | |||||
#ifdef EVDEV_SUPPORT | #ifdef EVDEV_SUPPORT | ||||
/* register as evdev provider */ | /* register as evdev provider */ | ||||
evdev = evdev_alloc(); | evdev = evdev_alloc(); | ||||
evdev_set_name(evdev, "System keyboard multiplexer"); | evdev_set_name(evdev, "System keyboard multiplexer"); | ||||
snprintf(phys_loc, NAMELEN, KEYBOARD_NAME"%d", unit); | snprintf(phys_loc, NAMELEN, KEYBOARD_NAME"%d", unit); | ||||
evdev_set_phys(evdev, phys_loc); | evdev_set_phys(evdev, phys_loc); | ||||
evdev_set_id(evdev, BUS_VIRTUAL, 0, 0, 0); | evdev_set_id(evdev, BUS_VIRTUAL, 0, 0, 0); | ||||
evdev_set_methods(evdev, kbd, &kbdmux_evdev_methods); | evdev_set_methods(evdev, kbd, &kbdmux_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); | ||||
evdev_support_event(evdev, EV_LED); | evdev_support_event(evdev, EV_LED); | ||||
evdev_support_event(evdev, EV_REP); | evdev_support_event(evdev, EV_REP); | ||||
evdev_support_all_known_keys(evdev); | evdev_support_all_known_keys(evdev); | ||||
evdev_support_led(evdev, LED_NUML); | evdev_support_led(evdev, LED_NUML); | ||||
evdev_support_led(evdev, LED_CAPSL); | evdev_support_led(evdev, LED_CAPSL); | ||||
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 | ||||
state->ks_evdev = evdev; | state->ks_evdev = evdev; | ||||
state->ks_evdev_state = 0; | state->ks_evdev_state = 0; | ||||
#endif | #endif | ||||
KBD_INIT_DONE(kbd); | KBD_INIT_DONE(kbd); | ||||
} | } | ||||
▲ Show 20 Lines • Show All 959 Lines • Show Last 20 Lines |