Lines Matching +defs:event +defs:c
1 /* $NetBSD: akbd.c,v 1.49 2025/01/13 16:17:36 riastradh Exp $ */
34 __KERNEL_RCSID(0, "$NetBSD: akbd.c,v 1.49 2025/01/13 16:17:36 riastradh Exp $");
69 static void kbd_processevent(adb_event_t *event, struct akbd_softc *);
258 * an ADB event record.
263 adb_event_t event;
276 event.addr = adbaddr;
277 event.hand_id = ksc->handler_id;
278 event.def_addr = ksc->origaddr;
279 event.byte_count = buffer[0];
280 memcpy(event.bytes, buffer + 1, event.byte_count);
284 printf("akbd: from %d at %d (org %d) %d:", event.addr,
285 event.hand_id, event.def_addr, buffer[0]);
292 microtime(&event.timestamp);
294 kbd_processevent(&event, ksc);
298 * Given a keyboard ADB event, record the keycodes and call the key
299 * repeat handler, optionally passing the event through the mouse
303 kbd_processevent(adb_event_t *event, struct akbd_softc *ksc)
307 new_event = *event;
308 new_event.u.k.key = event->bytes[0];
320 if (event->bytes[1] != 0xff) {
321 new_event.u.k.key = event->bytes[1];
322 new_event.bytes[0] = event->bytes[1];
483 int c = keyboard[ADBK_KEYVAL(key)][3];
485 if (c == 0) /* XXX */
488 if (c & 0x80)
491 cbuf[j++] = (c & 0x7f) | (ADBK_PRESS(key)? 0 : 0x80);
513 adb_event_t *event = arg;
521 key = event->u.k.key;