Module Name: src
Committed By: tsutsui
Date: Thu Apr 24 12:10:27 UTC 2014
Modified Files:
src/sys/arch/hp300/dev: dnkbd.c
Log Message:
Pull random notes on the Apollo Domain keyboard from ancient PR/3528.
To generate a diff of this commit:
cvs rdiff -u -r1.6 -r1.7 src/sys/arch/hp300/dev/dnkbd.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/hp300/dev/dnkbd.c
diff -u src/sys/arch/hp300/dev/dnkbd.c:1.6 src/sys/arch/hp300/dev/dnkbd.c:1.7
--- src/sys/arch/hp300/dev/dnkbd.c:1.6 Thu Apr 24 11:58:04 2014
+++ src/sys/arch/hp300/dev/dnkbd.c Thu Apr 24 12:10:27 2014
@@ -1,4 +1,4 @@
-/* $NetBSD: dnkbd.c,v 1.6 2014/04/24 11:58:04 tsutsui Exp $ */
+/* $NetBSD: dnkbd.c,v 1.7 2014/04/24 12:10:27 tsutsui Exp $ */
/* $OpenBSD: dnkbd.c,v 1.17 2009/07/23 21:05:56 blambert Exp $ */
/*
@@ -29,6 +29,42 @@
/*
* Driver for the Apollo Domain keyboard and mouse.
+ *
+ * Random notes on the Apollo keyboard :
+ *
+ * - Powers up in 'cooked' mode, where the alpha keys generate ascii rather
+ * than make/break codes. Other keys seem to behave OK though.
+ *
+ * - Alt L/R keys generate two-byte sequence :
+ * make break
+ * L 0xfe,2 0xfe,3
+ * R 0xfe,0 0xfe,1
+ *
+ * - Mouse activity shows up inline in 4-byte packets introduced with 0xdf.
+ * Byte 1 is 1MRL0000 where M, R, L are the mouse buttons, and 0 is
+ * down, 1 is up.
+ * Byte 2 is 2's complement X movement, +ve to the right.
+ * Byte 3 is 2's complement Y movement, +ve is up.
+ *
+ * - Keyboard recognises commands sent to it, all preceded by 0xff. Commands
+ * are echoed once sent completely.
+ *
+ * 0x00 go to cooked mode.
+ * 0x01 go to 'raw' (scancode) mode.
+ * 0x12,0x21 status report as <id1>\r<id2>\r<model>\r followed by 0xff
+ * and then the cooked/raw status.
+ * 0x21,0x81 beep on
+ * 0x21,0x82 beep off
+ *
+ * Some version examples :
+ *
+ * <3-@> <1-0> <SD-03687-MS> Apollo p/n 007121 REV 00 ('old-style' US layout)
+ * <3-@> <2-0> <SD-03683-MS> Apollo p/n 007121 REV 01 ('old-style' US layout)
+ * <3-@> <2-0> <SD-03980-MS> Apollo 3500? keyboard.
+ * <3-@> <X-X> <RX-60857-HW> HP p/n A1630-82001 R2
+ * ('new-style' off 425t, US layout),
+ * also Apollo p/n 014555-002
+ * ('new-style' off DN5500, US layout).
*/
#include "opt_wsdisplay_compat.h"