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);