summaryrefslogtreecommitdiff
path: root/sys/dev/hil/devlist2h.awk
diff options
context:
space:
mode:
authorMiod Vallat <miod@cvs.openbsd.org>2003-02-11 19:39:31 +0000
committerMiod Vallat <miod@cvs.openbsd.org>2003-02-11 19:39:31 +0000
commite08044a54f7d16f1443391c50b59a4c3deae49d6 (patch)
tree994a3e63f6204780298044ae498f2903dd547c19 /sys/dev/hil/devlist2h.awk
parent9f03a5af0492cb853685880bbbd9cbc622fa942f (diff)
Machine independent HP-HIL loop support code.
Derived from the hp300 HIL code, and some information found in XFree86 HP-UX specific parts. However, this code does not provide an HP-UX compatible /dev/hil* interface, but will rather attach real BSD drivers to the hil driver glue. Currently, only a driver for the HP-HIL keyboards is provided. More to come as resources permit. The international layout tables for hilkbd are derived from the ite tables found in the hp300 code, but only the US layout could be tested. Sample dmesg output on a heavily charged hil loop: hil0 at gsc0 offset 21000 irq 1 hilkbd0 at hil0 code 1: 109-key keyboard, layout 1b wskbd0 at hilkbd0: console keyboard hilkbd1 at hil0 code 2: 109-key keyboard, layout 1f wskbd1 at hilkbd1 "ID module" at hil0 id 34 code 3 not configured "ID module" at hil0 id 34 code 4 not configured "Tablet" at hil0 id 94 code 5 not configured "Mouse" at hil0 id 68 code 6 not configured Some feedback from and ok mickey@
Diffstat (limited to 'sys/dev/hil/devlist2h.awk')
-rw-r--r--sys/dev/hil/devlist2h.awk79
1 files changed, 79 insertions, 0 deletions
diff --git a/sys/dev/hil/devlist2h.awk b/sys/dev/hil/devlist2h.awk
new file mode 100644
index 00000000000..374485c92ea
--- /dev/null
+++ b/sys/dev/hil/devlist2h.awk
@@ -0,0 +1,79 @@
+#! /usr/bin/awk -f
+# $OpenBSD: devlist2h.awk,v 1.1 2003/02/11 19:39:30 miod Exp $
+#
+# Copyright (c) 2003, Miodrag Vallat.
+# All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+# 1. Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in the
+# documentation and/or other materials provided with the distribution.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+#
+BEGIN {
+ header = 0
+}
+NR == 1 {
+ VERSION = $0
+ gsub("\\$", "", VERSION)
+
+ printf("/*\t\$OpenBSD\$\t*/\n\n")
+ printf("/*\n")
+ printf(" * THIS FILE AUTOMATICALLY GENERATED. DO NOT EDIT.\n")
+ printf(" *\n")
+ printf(" * generated from:\n")
+ printf(" *\t%s\n", VERSION)
+ printf(" */\n")
+
+ next
+}
+$1 == "keyboard" || $1 == "mouse" || $1 == "idmodule" {
+
+ if (header == 0) {
+ printf("const struct hildevice hildevs[] = {\n")
+ header = 1
+ }
+
+ printf("\t{ 0x%s, 0x%s, HIL_DEVICE_%s, \"",
+ $2, $3, toupper($1))
+
+ # description, with optional ``#''-prefixed comments
+ i = 4
+ f = i
+ while (f <= NF) {
+ if ($f == "#") {
+ break
+ }
+ if (f > i)
+ printf(" ")
+ printf("%s", $f)
+ f++
+ }
+ printf("\" },\n")
+
+ next
+}
+{
+ if ($0 == "")
+ blanklines++
+ if (blanklines < 2)
+ print $0
+}
+END {
+ printf("\t{ -1, -1, -1, NULL }")
+ printf("};\n")
+}