diff options
author | Miod Vallat <miod@cvs.openbsd.org> | 2003-02-11 19:39:31 +0000 |
---|---|---|
committer | Miod Vallat <miod@cvs.openbsd.org> | 2003-02-11 19:39:31 +0000 |
commit | e08044a54f7d16f1443391c50b59a4c3deae49d6 (patch) | |
tree | 994a3e63f6204780298044ae498f2903dd547c19 /sys/dev/hil/devlist2h.awk | |
parent | 9f03a5af0492cb853685880bbbd9cbc622fa942f (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.awk | 79 |
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") +} |