Module Name:    src
Committed By:   macallan
Date:           Sat Aug 29 22:42:53 UTC 2020

Modified Files:
        src/sys/dev/hid: hidkbdmap.c
        src/sys/dev/wscons: wsksymdef.h

Log Message:
provide KB_APPLE layout variant which uses Command-F* to switch console screens
mostly for consistent behaviour across *Books which may have ADB or USB
keyboards


To generate a diff of this commit:
cvs rdiff -u -r1.11 -r1.12 src/sys/dev/hid/hidkbdmap.c
cvs rdiff -u -r1.73 -r1.74 src/sys/dev/wscons/wsksymdef.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/dev/hid/hidkbdmap.c
diff -u src/sys/dev/hid/hidkbdmap.c:1.11 src/sys/dev/hid/hidkbdmap.c:1.12
--- src/sys/dev/hid/hidkbdmap.c:1.11	Wed Aug 26 10:34:03 2020
+++ src/sys/dev/hid/hidkbdmap.c	Sat Aug 29 22:42:53 2020
@@ -1,4 +1,4 @@
-/*	$NetBSD: hidkbdmap.c,v 1.11 2020/08/26 10:34:03 jdolecek Exp $	*/
+/*	$NetBSD: hidkbdmap.c,v 1.12 2020/08/29 22:42:53 macallan Exp $	*/
 
 /*
  * Copyright (c) 1999,2001 The NetBSD Foundation, Inc.
@@ -31,7 +31,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: hidkbdmap.c,v 1.11 2020/08/26 10:34:03 jdolecek Exp $");
+__KERNEL_RCSID(0, "$NetBSD: hidkbdmap.c,v 1.12 2020/08/29 22:42:53 macallan Exp $");
 
 #include <sys/types.h>
 #include <dev/wscons/wsksymdef.h>
@@ -284,6 +284,14 @@ Static const keysym_t hidkbd_keydesc_swa
     KC(224), 			KS_Caps_Lock,
 };
 
+/* switch screens using Command-F* as on ADB keyboards */
+Static const keysym_t hidkbd_keydesc_apple[] = {
+/*  pos      command		normal		shifted */
+    KC(224),			KS_Control_L,
+    KC(226),			KS_Alt_L,
+    KC(227),  KS_Cmd,		KS_Meta_L,
+};
+
 Static const keysym_t hidkbd_keydesc_de[] = {
 /*  pos      normal		shifted		altgr		shift-altgr */
     KC(16),  KS_m,		KS_M,		KS_mu,
@@ -813,6 +821,7 @@ const struct wscons_keydesc hidkbd_keyde
 	KBD_MAP(KB_US | KB_DVORAK | KB_SWAPCTRLCAPS,	KB_US| KB_DVORAK,
 		hidkbd_keydesc_swapctrlcaps),
 	KBD_MAP(KB_US | KB_COLEMAK,	KB_US,	hidkbd_keydesc_us_colemak),
+	KBD_MAP(KB_US | KB_APPLE,	KB_US,	hidkbd_keydesc_apple),
 	KBD_MAP(KB_JP,			KB_US,	hidkbd_keydesc_jp),
 	KBD_MAP(KB_JP | KB_SWAPCTRLCAPS,KB_JP,	hidkbd_keydesc_swapctrlcaps),
 	KBD_MAP(KB_DE,			KB_US,	hidkbd_keydesc_de),

Index: src/sys/dev/wscons/wsksymdef.h
diff -u src/sys/dev/wscons/wsksymdef.h:1.73 src/sys/dev/wscons/wsksymdef.h:1.74
--- src/sys/dev/wscons/wsksymdef.h:1.73	Mon Jul 13 09:50:12 2020
+++ src/sys/dev/wscons/wsksymdef.h	Sat Aug 29 22:42:53 2020
@@ -1,4 +1,4 @@
-/*	$NetBSD: wsksymdef.h,v 1.73 2020/07/13 09:50:12 nia Exp $ */
+/*	$NetBSD: wsksymdef.h,v 1.74 2020/08/29 22:42:53 macallan Exp $ */
 
 /*-
  * Copyright (c) 1997 The NetBSD Foundation, Inc.
@@ -644,6 +644,7 @@
 #define KB_IOPENER		0x0040	/* f1-f12 -> ESC,f1-f11 */
 #define KB_MACHDEP		0x0080	/* machine dependent */
 #define KB_COLEMAK	    0x00010000	/* Colemak layout */
+#define KB_APPLE	    0x00020000	/* Apple USB layout */
 
 /*
  * Define keyboard type and texts all in one table.
@@ -699,6 +700,7 @@ enum { KB_ENC_FUN(KBF_ENUM) KB_NEXT=0x18
 	{ KB_METAESC,	"metaesc" }, \
 	{ KB_IOPENER,	"iopener" }, \
 	{ KB_MACHDEP,	"machdep" }, \
-	{ KB_COLEMAK,	"colemak" }
+	{ KB_COLEMAK,	"colemak" }, \
+	{ KB_APPLE,	"apple" }
 
 #endif /* !_DEV_WSCONS_WSKSYMDEF_H_ */

Reply via email to