• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /freebsd-13-stable/sys/dev/atkbdc/

Lines Matching refs:kbd

50 #include <dev/kbd/kbdreg.h>
110 atkbd_attach_unit(device_t dev, keyboard_t **kbd, int irq, int flags)
126 *kbd = NULL;
130 error = (*sw->init)(unit, kbd, args, flags);
133 (*sw->enable)(*kbd);
137 error = kbd_attach(*kbd);
146 state = (atkbd_state_t *)(*kbd)->kb_data;
148 atkbd_timeout(*kbd);
151 (*sw->diag)(*kbd, bootverbose);
160 keyboard_t *kbd;
189 kbd = (keyboard_t *)arg;
190 if (kbdd_lock(kbd, TRUE)) {
196 kbdd_lock(kbd, FALSE);
197 if (kbdd_check_char(kbd))
198 kbdd_intr(kbd, NULL);
201 state = (atkbd_state_t *)kbd->kb_data;
252 static int set_typematic(keyboard_t *kbd);
278 #include <dev/kbd/kbdtables.h>
299 keyboard_t *kbd;
311 kbd = kbd_get_keyboard(i);
312 kbd_unregister(kbd);
313 kbd->kb_flags &= ~KB_REGISTERED;
325 kbd = NULL;
328 if (atkbd_init(ATKBD_DEFAULT, &kbd, arg, flags))
364 keyboard_t *kbd;
380 *kbdp = kbd = &default_kbd;
381 if (KBD_IS_INITIALIZED(kbd) && KBD_IS_CONFIGURED(kbd))
390 *kbdp = kbd = malloc(sizeof(*kbd), M_DEVBUF, M_NOWAIT | M_ZERO);
398 if ((kbd == NULL) || (state == NULL) || (keymap == NULL)
406 kbd = *kbdp;
407 state = (atkbd_state_t *)kbd->kb_data;
409 keymap = kbd->kb_keymap;
410 accmap = kbd->kb_accentmap;
411 fkeymap = kbd->kb_fkeytab;
412 fkeymap_size = kbd->kb_fkeytab_size;
416 if (!KBD_IS_PROBED(kbd)) {
422 kbd_init_struct(kbd, ATKBD_DRIVER_NAME, KB_OTHER, unit, flags,
428 kbd_set_maps(kbd, keymap, accmap, fkeymap, fkeymap_size);
429 kbd->kb_data = (void *)state;
437 KBD_FOUND_DEVICE(kbd);
439 atkbd_clear_state(kbd);
445 KBD_PROBE_DONE(kbd);
447 if (!KBD_IS_INITIALIZED(kbd) && !(flags & KB_CONF_PROBE_ONLY)) {
448 kbd->kb_config = flags & ~KB_CONF_PROBE_ONLY;
449 if (KBD_HAS_DEVICE(kbd)
450 && init_keyboard(state->kbdc, &kbd->kb_type, kbd->kb_config)
451 && (kbd->kb_config & KB_CONF_FAIL_IF_NO_KBD)) {
452 kbd_unregister(kbd);
456 atkbd_ioctl(kbd, KDSETLED, (caddr_t)&state->ks_state);
457 set_typematic(kbd);
458 delay[0] = kbd->kb_delay1;
459 delay[1] = kbd->kb_delay2;
460 atkbd_ioctl(kbd, KDSETREPEAT, (caddr_t)delay);
471 evdev_set_methods(evdev, kbd, &atkbd_evdev_methods);
489 KBD_INIT_DONE(kbd);
491 if (!KBD_IS_CONFIGURED(kbd)) {
492 if (kbd_register(kbd) < 0) {
496 KBD_CONFIG_DONE(kbd);
510 if (kbd != NULL) {
511 free(kbd, M_DEVBUF);
520 atkbd_term(keyboard_t *kbd)
522 atkbd_state_t *state = (atkbd_state_t *)kbd->kb_data;
524 kbd_unregister(kbd);
531 atkbd_intr(keyboard_t *kbd, void *arg)
533 atkbd_state_t *state = (atkbd_state_t *)kbd->kb_data;
537 if (!KBD_HAS_DEVICE(kbd)) {
542 init_keyboard(state->kbdc, &kbd->kb_type, kbd->kb_config);
543 KBD_FOUND_DEVICE(kbd);
544 atkbd_ioctl(kbd, KDSETLED, (caddr_t)&state->ks_state);
545 set_typematic(kbd);
546 delay[0] = kbd->kb_delay1;
547 delay[1] = kbd->kb_delay2;
548 atkbd_ioctl(kbd, KDSETREPEAT, (caddr_t)delay);
554 if (KBD_IS_ACTIVE(kbd) && KBD_IS_BUSY(kbd)) {
556 (*kbd->kb_callback.kc_func)(kbd, KBDIO_KEYINPUT,
557 kbd->kb_callback.kc_arg);
561 c = atkbd_read_char(kbd, FALSE);
569 atkbd_test_if(keyboard_t *kbd)
575 empty_both_buffers(((atkbd_state_t *)kbd->kb_data)->kbdc, 10);
577 if (!test_controller(((atkbd_state_t *)kbd->kb_data)->kbdc))
579 else if (test_kbd_port(((atkbd_state_t *)kbd->kb_data)->kbdc) != 0)
591 atkbd_enable(keyboard_t *kbd)
596 KBD_ACTIVATE(kbd);
603 atkbd_disable(keyboard_t *kbd)
608 KBD_DEACTIVATE(kbd);
615 atkbd_read(keyboard_t *kbd, int wait)
620 c = read_kbd_data(((atkbd_state_t *)kbd->kb_data)->kbdc);
622 c = read_kbd_data_no_wait(((atkbd_state_t *)kbd->kb_data)->kbdc);
624 ++kbd->kb_count;
625 return (KBD_IS_ACTIVE(kbd) ? c : -1);
630 atkbd_check(keyboard_t *kbd)
632 if (!KBD_IS_ACTIVE(kbd))
634 return kbdc_data_ready(((atkbd_state_t *)kbd->kb_data)->kbdc);
639 atkbd_read_char(keyboard_t *kbd, int wait)
646 state = (atkbd_state_t *)kbd->kb_data;
667 ++kbd->kb_count;
809 if (kbd->kb_type == KB_84) {
824 } else if (kbd->kb_type == KB_101) {
890 action = genkbd_keyaction(kbd, keycode, scancode & 0x80,
900 atkbd_check_char(keyboard_t *kbd)
904 if (!KBD_IS_ACTIVE(kbd))
906 state = (atkbd_state_t *)kbd->kb_data;
914 atkbd_ioctl(keyboard_t *kbd, u_long cmd, caddr_t arg)
920 atkbd_state_t *state = kbd->kb_data;
947 state->ks_state |= KBD_LED_VAL(kbd);
953 atkbd_clear_state(kbd);
964 *(int *)arg = KBD_LED_VAL(kbd);
982 kbd->kb_keymap->n_keys > ALTGR_OFFSET) {
988 if (KBD_HAS_DEVICE(kbd)) {
1002 KBD_LED_VAL(kbd) = *(int *)arg;
1024 return atkbd_ioctl(kbd, KDSETLED, arg);
1028 if (!KBD_HAS_DEVICE(kbd))
1033 kbd->kb_delay1 = typematic_delay(i);
1034 kbd->kb_delay2 = typematic_rate(i);
1038 evdev_push_repeats(state->ks_evdev, kbd);
1052 if (!KBD_HAS_DEVICE(kbd))
1056 kbd->kb_delay1 = typematic_delay(*(int *)arg);
1057 kbd->kb_delay2 = typematic_rate(*(int *)arg);
1061 evdev_push_repeats(state->ks_evdev, kbd);
1074 return genkbd_commonioctl(kbd, cmd, arg);
1083 atkbd_lock(keyboard_t *kbd, int lock)
1085 return kbdc_lock(((atkbd_state_t *)kbd->kb_data)->kbdc, lock);
1090 atkbd_clear_state(keyboard_t *kbd)
1094 state = (atkbd_state_t *)kbd->kb_data;
1107 atkbd_get_state(keyboard_t *kbd, void *buf, size_t len)
1113 bcopy(kbd->kb_data, buf, sizeof(atkbd_state_t));
1119 atkbd_set_state(keyboard_t *kbd, void *buf, size_t len)
1123 if (((atkbd_state_t *)kbd->kb_data)->kbdc
1126 bcopy(buf, kbd->kb_data, sizeof(atkbd_state_t));
1131 atkbd_poll(keyboard_t *kbd, int on)
1136 state = (atkbd_state_t *)kbd->kb_data;
1184 keyboard_t *kbd = evdev_get_softc(evdev);
1189 kbd_ev_event(kbd, type, code, value);
1198 set_typematic(keyboard_t *kbd)
1201 atkbd_state_t *state = kbd->kb_data;
1206 kbd->kb_delay1 = typematic_delay(val);
1207 kbd->kb_delay2 = typematic_rate(val);
1347 printf("atkbd: the current kbd controller command byte %04x\n",
1426 /* XT kbd doesn't need scan code translation */
1431 * The XT kbd isn't usable unless the proper scan