Changeset View
Changeset View
Standalone View
Standalone View
sys/dev/atkbdc/atkbd.c
Show First 20 Lines • Show All 467 Lines • ▼ Show 20 Lines | #ifdef EVDEV_SUPPORT | ||||
if (state->ks_evdev == NULL) { | if (state->ks_evdev == NULL) { | ||||
snprintf(phys_loc, sizeof(phys_loc), "atkbd%d", unit); | snprintf(phys_loc, sizeof(phys_loc), "atkbd%d", unit); | ||||
evdev = evdev_alloc(); | evdev = evdev_alloc(); | ||||
evdev_set_name(evdev, "AT keyboard"); | evdev_set_name(evdev, "AT keyboard"); | ||||
evdev_set_phys(evdev, phys_loc); | evdev_set_phys(evdev, phys_loc); | ||||
evdev_set_id(evdev, BUS_I8042, PS2_KEYBOARD_VENDOR, | evdev_set_id(evdev, BUS_I8042, PS2_KEYBOARD_VENDOR, | ||||
PS2_KEYBOARD_PRODUCT, 0); | PS2_KEYBOARD_PRODUCT, 0); | ||||
evdev_set_methods(evdev, kbd, &atkbd_evdev_methods); | evdev_set_methods(evdev, kbd, &atkbd_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 1,110 Lines • Show Last 20 Lines |