Module Name: src Committed By: nat Date: Sun Jan 12 09:07:02 UTC 2025
Modified Files: src/sys/arch/macppc/dev: aed.c akbd.c Log Message: Catch up macppc to the same as mac68k. Unfortunately these files could not be tested fully as aed/akbd/ams and adb_direct have suffered from bit rot and there corresponding attachments are commented out in all macppc kernels. To generate a diff of this commit: cvs rdiff -u -r1.35 -r1.36 src/sys/arch/macppc/dev/aed.c cvs rdiff -u -r1.47 -r1.48 src/sys/arch/macppc/dev/akbd.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/arch/macppc/dev/aed.c diff -u src/sys/arch/macppc/dev/aed.c:1.35 src/sys/arch/macppc/dev/aed.c:1.36 --- src/sys/arch/macppc/dev/aed.c:1.35 Wed Jun 5 11:01:47 2024 +++ src/sys/arch/macppc/dev/aed.c Sun Jan 12 09:07:02 2025 @@ -1,4 +1,4 @@ -/* $NetBSD: aed.c,v 1.35 2024/06/05 11:01:47 nat Exp $ */ +/* $NetBSD: aed.c,v 1.36 2025/01/12 09:07:02 nat Exp $ */ /* * Copyright (C) 1994 Bradley A. Grantham @@ -26,7 +26,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: aed.c,v 1.35 2024/06/05 11:01:47 nat Exp $"); +__KERNEL_RCSID(0, "$NetBSD: aed.c,v 1.36 2025/01/12 09:07:02 nat Exp $"); #include <sys/param.h> #include <sys/device.h> @@ -53,7 +53,7 @@ __KERNEL_RCSID(0, "$NetBSD: aed.c,v 1.35 */ static int aedmatch(device_t, cfdata_t, void *); static void aedattach(device_t, device_t, void *); -static void aed_emulate_mouse(adb_event_t *event); +static int aed_emulate_mouse(adb_event_t *event); static void aed_kbdrpt(void *kstate); static void aed_dokeyupdown(adb_event_t *event); static void aed_handoff(adb_event_t *event); @@ -161,9 +161,9 @@ aed_input(adb_event_t *event) switch (event->def_addr) { case ADBADDR_KBD: - if (aed_sc->sc_options & AED_MSEMUL) - aed_emulate_mouse(&new_event); - else + if (aed_sc->sc_options & AED_MSEMUL) { + rv = aed_emulate_mouse(&new_event); + } else aed_dokeyupdown(&new_event); break; case ADBADDR_MS: @@ -186,11 +186,12 @@ aed_input(adb_event_t *event) * 3rd mouse button events while the 1, 2, and 3 keys will generate * the corresponding mouse button event. */ -static void +static int aed_emulate_mouse(adb_event_t *event) { static int emulmodkey_down = 0; adb_event_t new_event; + int result = 0; if (event->u.k.key == ADBK_KEYDOWN(ADBK_OPTION)) { emulmodkey_down = 1; @@ -209,6 +210,7 @@ aed_emulate_mouse(adb_event_t *event) switch(event->u.k.key) { #ifdef ALTXBUTTONS case ADBK_KEYDOWN(ADBK_1): + result = 1; aed_sc->sc_buttons |= 1; /* left down */ new_event.def_addr = ADBADDR_MS; new_event.u.m.buttons = aed_sc->sc_buttons; @@ -217,6 +219,7 @@ aed_emulate_mouse(adb_event_t *event) aed_handoff(&new_event); break; case ADBK_KEYUP(ADBK_1): + result = 1; aed_sc->sc_buttons &= ~1; /* left up */ new_event.def_addr = ADBADDR_MS; new_event.u.m.buttons = aed_sc->sc_buttons; @@ -229,6 +232,7 @@ aed_emulate_mouse(adb_event_t *event) #ifdef ALTXBUTTONS case ADBK_KEYDOWN(ADBK_2): #endif + result = 1; aed_sc->sc_buttons |= 2; /* middle down */ new_event.def_addr = ADBADDR_MS; new_event.u.m.buttons = aed_sc->sc_buttons; @@ -240,6 +244,7 @@ aed_emulate_mouse(adb_event_t *event) #ifdef ALTXBUTTONS case ADBK_KEYUP(ADBK_2): #endif + result = 1; aed_sc->sc_buttons &= ~2; /* middle up */ new_event.def_addr = ADBADDR_MS; new_event.u.m.buttons = aed_sc->sc_buttons; @@ -251,6 +256,7 @@ aed_emulate_mouse(adb_event_t *event) #ifdef ALTXBUTTONS case ADBK_KEYDOWN(ADBK_3): #endif + result = 1; aed_sc->sc_buttons |= 4; /* right down */ new_event.def_addr = ADBADDR_MS; new_event.u.m.buttons = aed_sc->sc_buttons; @@ -262,6 +268,7 @@ aed_emulate_mouse(adb_event_t *event) #ifdef ALTXBUTTONS case ADBK_KEYUP(ADBK_3): #endif + result = 1; aed_sc->sc_buttons &= ~4; /* right up */ new_event.def_addr = ADBADDR_MS; new_event.u.m.buttons = aed_sc->sc_buttons; @@ -315,6 +322,8 @@ aed_emulate_mouse(adb_event_t *event) } else { aed_dokeyupdown(event); } + + return result; } /* Index: src/sys/arch/macppc/dev/akbd.c diff -u src/sys/arch/macppc/dev/akbd.c:1.47 src/sys/arch/macppc/dev/akbd.c:1.48 --- src/sys/arch/macppc/dev/akbd.c:1.47 Sat Aug 7 16:18:57 2021 +++ src/sys/arch/macppc/dev/akbd.c Sun Jan 12 09:07:02 2025 @@ -1,4 +1,4 @@ -/* $NetBSD: akbd.c,v 1.47 2021/08/07 16:18:57 thorpej Exp $ */ +/* $NetBSD: akbd.c,v 1.48 2025/01/12 09:07:02 nat Exp $ */ /* * Copyright (C) 1998 Colin Wood @@ -31,7 +31,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: akbd.c,v 1.47 2021/08/07 16:18:57 thorpej Exp $"); +__KERNEL_RCSID(0, "$NetBSD: akbd.c,v 1.48 2025/01/12 09:07:02 nat Exp $"); #include <sys/param.h> #include <sys/device.h> @@ -308,6 +308,12 @@ kbd_processevent(adb_event_t *event, str new_event = *event; new_event.u.k.key = event->bytes[0]; new_event.bytes[1] = 0xff; +#if NAED > 0 + int result; + + if ((result = aed_input(&new_event)) != 0) + return; +#endif kbd_intr(&new_event); #if NAED > 0 aed_input(&new_event);