Lines Matching refs:kbd
204 keyboard_t *kbd = NULL; in vkbd_dev_open() local
213 (error = (*sw->init)(unit, &kbd, NULL, 0)) != 0) in vkbd_dev_open()
216 state = (vkbd_state_t *) kbd->kb_data; in vkbd_dev_open()
218 if ((error = (*sw->enable)(kbd)) != 0) { in vkbd_dev_open()
219 (*sw->term)(kbd); in vkbd_dev_open()
224 if ((error = kbd_attach(kbd)) != 0) { in vkbd_dev_open()
225 (*sw->disable)(kbd); in vkbd_dev_open()
226 (*sw->term)(kbd); in vkbd_dev_open()
231 dev->si_drv1 = kbd->kb_data; in vkbd_dev_open()
253 keyboard_t *kbd = VKBD_KEYBOARD(dev); in vkbd_dev_close() local
256 if (kbd == NULL) in vkbd_dev_close()
259 if (kbd->kb_data == NULL || kbd->kb_data != dev->si_drv1) in vkbd_dev_close()
262 state = (vkbd_state_t *) kbd->kb_data; in vkbd_dev_close()
280 kbdd_disable(kbd); in vkbd_dev_close()
282 kbd_detach(kbd); in vkbd_dev_close()
284 kbdd_term(kbd); in vkbd_dev_close()
296 keyboard_t *kbd = VKBD_KEYBOARD(dev); in vkbd_dev_read() local
301 if (kbd == NULL) in vkbd_dev_read()
307 if (kbd->kb_data == NULL || kbd->kb_data != dev->si_drv1) in vkbd_dev_read()
310 state = (vkbd_state_t *) kbd->kb_data; in vkbd_dev_read()
325 status.leds = KBD_LED_VAL(kbd); in vkbd_dev_read()
327 status.delay = kbd->kb_delay1; in vkbd_dev_read()
328 status.rate = kbd->kb_delay2; in vkbd_dev_read()
356 keyboard_t *kbd = VKBD_KEYBOARD(dev); in vkbd_dev_write() local
361 if (kbd == NULL) in vkbd_dev_write()
367 if (kbd->kb_data == NULL || kbd->kb_data != dev->si_drv1) in vkbd_dev_write()
370 state = (vkbd_state_t *) kbd->kb_data; in vkbd_dev_write()
437 keyboard_t *kbd = VKBD_KEYBOARD(dev); in vkbd_dev_ioctl() local
439 return ((kbd == NULL)? ENXIO : kbdd_ioctl(kbd, cmd, data)); in vkbd_dev_ioctl()
480 keyboard_t *kbd = (keyboard_t *) xkbd; in vkbd_dev_intr() local
481 vkbd_state_t *state = (vkbd_state_t *) kbd->kb_data; in vkbd_dev_intr()
483 kbdd_intr(kbd, NULL); in vkbd_dev_intr()
608 keyboard_t *kbd = NULL; in vkbd_init() local
617 *kbdp = kbd = malloc(sizeof(*kbd), M_VKBD, M_NOWAIT | M_ZERO); in vkbd_init()
624 if ((kbd == NULL) || (state == NULL) || (keymap == NULL) || in vkbd_init()
632 TASK_INIT(&state->ks_task, 0, vkbd_dev_intr, (void *) kbd); in vkbd_init()
636 kbd = *kbdp; in vkbd_init()
637 state = (vkbd_state_t *) kbd->kb_data; in vkbd_init()
638 keymap = kbd->kb_keymap; in vkbd_init()
639 accmap = kbd->kb_accentmap; in vkbd_init()
640 fkeymap = kbd->kb_fkeytab; in vkbd_init()
641 fkeymap_size = kbd->kb_fkeytab_size; in vkbd_init()
645 if (!KBD_IS_PROBED(kbd)) { in vkbd_init()
646 kbd_init_struct(kbd, KEYBOARD_NAME, KB_OTHER, unit, flags, 0, 0); in vkbd_init()
651 kbd_set_maps(kbd, keymap, accmap, fkeymap, fkeymap_size); in vkbd_init()
652 kbd->kb_data = (void *)state; in vkbd_init()
654 KBD_FOUND_DEVICE(kbd); in vkbd_init()
655 KBD_PROBE_DONE(kbd); in vkbd_init()
663 if (!KBD_IS_INITIALIZED(kbd) && !(flags & KB_CONF_PROBE_ONLY)) { in vkbd_init()
664 kbd->kb_config = flags & ~KB_CONF_PROBE_ONLY; in vkbd_init()
666 vkbd_ioctl(kbd, KDSETLED, (caddr_t)&state->ks_state); in vkbd_init()
667 delay[0] = kbd->kb_delay1; in vkbd_init()
668 delay[1] = kbd->kb_delay2; in vkbd_init()
669 vkbd_ioctl(kbd, KDSETREPEAT, (caddr_t)delay); in vkbd_init()
671 KBD_INIT_DONE(kbd); in vkbd_init()
673 if (!KBD_IS_CONFIGURED(kbd)) { in vkbd_init()
674 if (kbd_register(kbd) < 0) { in vkbd_init()
678 KBD_CONFIG_DONE(kbd); in vkbd_init()
692 if (kbd != NULL) { in vkbd_init()
693 free(kbd, M_VKBD); in vkbd_init()
702 vkbd_term(keyboard_t *kbd) in vkbd_term() argument
704 vkbd_state_t *state = (vkbd_state_t *) kbd->kb_data; in vkbd_term()
706 kbd_unregister(kbd); in vkbd_term()
712 free(kbd->kb_keymap, M_VKBD); in vkbd_term()
713 free(kbd->kb_accentmap, M_VKBD); in vkbd_term()
714 free(kbd->kb_fkeytab, M_VKBD); in vkbd_term()
715 free(kbd, M_VKBD); in vkbd_term()
722 vkbd_intr(keyboard_t *kbd, void *arg) in vkbd_intr() argument
726 if (KBD_IS_ACTIVE(kbd) && KBD_IS_BUSY(kbd)) { in vkbd_intr()
728 (*kbd->kb_callback.kc_func)(kbd, KBDIO_KEYINPUT, in vkbd_intr()
729 kbd->kb_callback.kc_arg); in vkbd_intr()
733 c = vkbd_read_char(kbd, FALSE); in vkbd_intr()
742 vkbd_test_if(keyboard_t *kbd) in vkbd_test_if() argument
753 vkbd_enable(keyboard_t *kbd) in vkbd_enable() argument
755 KBD_ACTIVATE(kbd); in vkbd_enable()
761 vkbd_disable(keyboard_t *kbd) in vkbd_disable() argument
763 KBD_DEACTIVATE(kbd); in vkbd_disable()
769 vkbd_read(keyboard_t *kbd, int wait) in vkbd_read() argument
771 vkbd_state_t *state = (vkbd_state_t *) kbd->kb_data; in vkbd_read()
779 kbd->kb_count ++; in vkbd_read()
781 return (KBD_IS_ACTIVE(kbd)? c : -1); in vkbd_read()
786 vkbd_check(keyboard_t *kbd) in vkbd_check() argument
791 if (!KBD_IS_ACTIVE(kbd)) in vkbd_check()
794 state = (vkbd_state_t *) kbd->kb_data; in vkbd_check()
805 vkbd_read_char(keyboard_t *kbd, int wait) in vkbd_read_char() argument
807 vkbd_state_t *state = (vkbd_state_t *) kbd->kb_data; in vkbd_read_char()
836 kbd->kb_count ++; in vkbd_read_char()
962 if (kbd->kb_type == KB_84) { in vkbd_read_char()
977 } else if (kbd->kb_type == KB_101) { in vkbd_read_char()
1054 action = genkbd_keyaction(kbd, keycode, scancode & 0x80, in vkbd_read_char()
1066 vkbd_check_char(keyboard_t *kbd) in vkbd_check_char() argument
1071 if (!KBD_IS_ACTIVE(kbd)) in vkbd_check_char()
1074 state = (vkbd_state_t *) kbd->kb_data; in vkbd_check_char()
1088 vkbd_ioctl(keyboard_t *kbd, u_long cmd, caddr_t arg) in vkbd_ioctl() argument
1090 vkbd_state_t *state = (vkbd_state_t *) kbd->kb_data; in vkbd_ioctl()
1115 state->ks_state |= KBD_LED_VAL(kbd); in vkbd_ioctl()
1136 *(int *)arg = KBD_LED_VAL(kbd); in vkbd_ioctl()
1155 kbd->kb_keymap->n_keys > ALTGR_OFFSET) { in vkbd_ioctl()
1162 KBD_LED_VAL(kbd) = *(int *)arg; in vkbd_ioctl()
1186 return (vkbd_ioctl(kbd, KDSETLED, arg)); in vkbd_ioctl()
1190 kbd->kb_delay1 = typematic_delay(i); in vkbd_ioctl()
1191 kbd->kb_delay2 = typematic_rate(i); in vkbd_ioctl()
1202 kbd->kb_delay1 = typematic_delay(*(int *)arg); in vkbd_ioctl()
1203 kbd->kb_delay2 = typematic_rate(*(int *)arg); in vkbd_ioctl()
1219 return (genkbd_commonioctl(kbd, cmd, arg)); in vkbd_ioctl()
1229 vkbd_lock(keyboard_t *kbd, int lock) in vkbd_lock() argument
1254 vkbd_clear_state(keyboard_t *kbd) in vkbd_clear_state() argument
1256 vkbd_state_t *state = (vkbd_state_t *) kbd->kb_data; in vkbd_clear_state()
1265 vkbd_get_state(keyboard_t *kbd, void *buf, size_t len) in vkbd_get_state() argument
1271 bcopy(kbd->kb_data, buf, sizeof(vkbd_state_t)); /* XXX locking? */ in vkbd_get_state()
1277 vkbd_set_state(keyboard_t *kbd, void *buf, size_t len) in vkbd_set_state() argument
1281 bcopy(buf, kbd->kb_data, sizeof(vkbd_state_t)); /* XXX locking? */ in vkbd_set_state()
1287 vkbd_poll(keyboard_t *kbd, int on) in vkbd_poll() argument
1291 state = (vkbd_state_t *) kbd->kb_data; in vkbd_poll()