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_ */