Lines Matching +defs:c +defs:mode
1 /* $NetBSD: kbd.c,v 1.62 2024/09/08 09:36:48 rillig Exp $ */
4 * Copyright (c) 1982, 1986, 1990 The Regents of the University of California.
31 * kbd.c
35 __KERNEL_RCSID(0, "$NetBSD: kbd.c,v 1.62 2024/09/08 09:36:48 rillig Exp $");
84 * direct mode (TIOCDIRECT) has been set, data goes to
127 * Pointer to keymaps. They are defined in wskbdmap_amiga.c.
147 int k_pollingmode; /* Polling mode on? Otherwise send events. */
244 #define KEY_CODE(c) ((c) & 0x7f)
245 #define KEY_UP(c) ((c) & 0x80)
289 if (drkbdputc2(0xf0, 3)) /* mode 3 */
370 drkbdrputc(u_int8_t c)
380 if (c & 1) {
386 c >>= 1;
416 drkbdputc(u_int8_t c)
421 if (drkbdrputc(c))
458 kbdopen(dev_t dev, int flags, int mode, struct lwp *l)
471 kbdclose(dev_t dev, int flags, int mode, struct lwp *l)
474 /* Turn off event mode, dump the queue */
500 /* Get translation mode */
550 u_char c;
560 c = ~ciaa.sdr; /* keyboard data is inverted */
564 if (reset_warn && c == 0xf0) {
578 c = (c >> 1) | (c << 7); /* rotate right once */
581 if (c == 0x78) {
589 kbdstuffchar(c);
629 u_char ints, mask, c, in;
634 c = 0;
640 c = 0x80;
650 c |= in>=sizeof(drkbdtab) ? 0xff : drkbdtab[in];
651 } while (c == 0xff);
652 return (c);
660 c = ~in;
672 c = (c >> 1) | (c << 7);
678 return c;
682 kbdstuffchar(u_char c)
690 * If we have attached a wskbd and not in polling mode and
699 KEY_UP(c) ?
702 KEY_CODE(c));
709 * If not in event mode, deliver straight to ite to process
715 ite_filter (c, ITEFILT_TTY);
734 fe->id = KEY_CODE(c);
735 fe->value = KEY_UP(c) ? VKEY_UP : VKEY_DOWN;
772 kbd_enable(void *c, int on)
779 kbd_set_leds(void *c, int leds)
784 kbd_ioctl(void *c, u_long cmd, void *data, int flag, struct lwp *l)
808 kbd_getc(void *c, u_int *type, int *data)
819 kbd_pollc(void *c, int on)
825 kbd_bell(void *c, u_int x, u_int y, u_int z)