author | Alan Coopersmith <Alan.Coopersmith@Sun.COM> |
Tue, 12 Aug 2008 15:06:00 -0700 | |
changeset 500 | c4e7e0f5976a |
child 907 | 3c35d611cdaa |
permissions | -rw-r--r-- |
500
c4e7e0f5976a
6736428 Move kbd_mode sources to open-src
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1 |
/* $XConsortium: kbd_mode.c,v 4.6 94/04/17 20:29:33 kaleb Exp $ */ |
c4e7e0f5976a
6736428 Move kbd_mode sources to open-src
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
2 |
/* Copyright 2008 Sun Microsystems, Inc. All rights reserved. |
c4e7e0f5976a
6736428 Move kbd_mode sources to open-src
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
3 |
* |
c4e7e0f5976a
6736428 Move kbd_mode sources to open-src
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
4 |
* Permission is hereby granted, free of charge, to any person obtaining a |
c4e7e0f5976a
6736428 Move kbd_mode sources to open-src
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
5 |
* copy of this software and associated documentation files (the |
c4e7e0f5976a
6736428 Move kbd_mode sources to open-src
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
6 |
* "Software"), to deal in the Software without restriction, including |
c4e7e0f5976a
6736428 Move kbd_mode sources to open-src
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
7 |
* without limitation the rights to use, copy, modify, merge, publish, |
c4e7e0f5976a
6736428 Move kbd_mode sources to open-src
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
8 |
* distribute, and/or sell copies of the Software, and to permit persons |
c4e7e0f5976a
6736428 Move kbd_mode sources to open-src
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
9 |
* to whom the Software is furnished to do so, provided that the above |
c4e7e0f5976a
6736428 Move kbd_mode sources to open-src
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
10 |
* copyright notice(s) and this permission notice appear in all copies of |
c4e7e0f5976a
6736428 Move kbd_mode sources to open-src
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
11 |
* the Software and that both the above copyright notice(s) and this |
c4e7e0f5976a
6736428 Move kbd_mode sources to open-src
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
12 |
* permission notice appear in supporting documentation. |
c4e7e0f5976a
6736428 Move kbd_mode sources to open-src
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
13 |
* |
c4e7e0f5976a
6736428 Move kbd_mode sources to open-src
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
14 |
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS |
c4e7e0f5976a
6736428 Move kbd_mode sources to open-src
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
15 |
* OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF |
c4e7e0f5976a
6736428 Move kbd_mode sources to open-src
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
16 |
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT |
c4e7e0f5976a
6736428 Move kbd_mode sources to open-src
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
17 |
* OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR |
c4e7e0f5976a
6736428 Move kbd_mode sources to open-src
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
18 |
* HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL |
c4e7e0f5976a
6736428 Move kbd_mode sources to open-src
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
19 |
* INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING |
c4e7e0f5976a
6736428 Move kbd_mode sources to open-src
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
20 |
* FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, |
c4e7e0f5976a
6736428 Move kbd_mode sources to open-src
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
21 |
* NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION |
c4e7e0f5976a
6736428 Move kbd_mode sources to open-src
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
22 |
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. |
c4e7e0f5976a
6736428 Move kbd_mode sources to open-src
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
23 |
* |
c4e7e0f5976a
6736428 Move kbd_mode sources to open-src
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
24 |
* Except as contained in this notice, the name of a copyright holder |
c4e7e0f5976a
6736428 Move kbd_mode sources to open-src
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
25 |
* shall not be used in advertising or otherwise to promote the sale, use |
c4e7e0f5976a
6736428 Move kbd_mode sources to open-src
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
26 |
* or other dealings in this Software without prior written authorization |
c4e7e0f5976a
6736428 Move kbd_mode sources to open-src
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
27 |
* of the copyright holder. |
c4e7e0f5976a
6736428 Move kbd_mode sources to open-src
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
28 |
*/ |
c4e7e0f5976a
6736428 Move kbd_mode sources to open-src
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
29 |
|
c4e7e0f5976a
6736428 Move kbd_mode sources to open-src
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
30 |
#ifndef lint |
c4e7e0f5976a
6736428 Move kbd_mode sources to open-src
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
31 |
static char sccsid[] = "@(#)kbd_mode.c 1.4 08/08/12 SMI"; |
c4e7e0f5976a
6736428 Move kbd_mode sources to open-src
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
32 |
#endif |
c4e7e0f5976a
6736428 Move kbd_mode sources to open-src
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
33 |
|
c4e7e0f5976a
6736428 Move kbd_mode sources to open-src
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
34 |
/* |
c4e7e0f5976a
6736428 Move kbd_mode sources to open-src
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
35 |
* kbd_mode: set keyboard encoding mode |
c4e7e0f5976a
6736428 Move kbd_mode sources to open-src
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
36 |
*/ |
c4e7e0f5976a
6736428 Move kbd_mode sources to open-src
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
37 |
|
c4e7e0f5976a
6736428 Move kbd_mode sources to open-src
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
38 |
#include <sys/types.h> |
c4e7e0f5976a
6736428 Move kbd_mode sources to open-src
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
39 |
#include <sys/file.h> |
c4e7e0f5976a
6736428 Move kbd_mode sources to open-src
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
40 |
#include <unistd.h> |
c4e7e0f5976a
6736428 Move kbd_mode sources to open-src
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
41 |
#include <fcntl.h> |
c4e7e0f5976a
6736428 Move kbd_mode sources to open-src
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
42 |
#include <sys/kbio.h> |
c4e7e0f5976a
6736428 Move kbd_mode sources to open-src
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
43 |
#include <sys/kbd.h> |
c4e7e0f5976a
6736428 Move kbd_mode sources to open-src
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
44 |
#include <stdio.h> |
c4e7e0f5976a
6736428 Move kbd_mode sources to open-src
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
45 |
#include <stdlib.h> |
c4e7e0f5976a
6736428 Move kbd_mode sources to open-src
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
46 |
|
c4e7e0f5976a
6736428 Move kbd_mode sources to open-src
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
47 |
static void die(const char *); |
c4e7e0f5976a
6736428 Move kbd_mode sources to open-src
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
48 |
static void usage(void); |
c4e7e0f5976a
6736428 Move kbd_mode sources to open-src
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
49 |
static int kbd_fd; |
c4e7e0f5976a
6736428 Move kbd_mode sources to open-src
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
50 |
|
c4e7e0f5976a
6736428 Move kbd_mode sources to open-src
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
51 |
int |
c4e7e0f5976a
6736428 Move kbd_mode sources to open-src
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
52 |
main(int argc, char** argv) |
c4e7e0f5976a
6736428 Move kbd_mode sources to open-src
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
53 |
{ |
c4e7e0f5976a
6736428 Move kbd_mode sources to open-src
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
54 |
int code = 0, translate, direct = -1; |
c4e7e0f5976a
6736428 Move kbd_mode sources to open-src
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
55 |
char led; |
c4e7e0f5976a
6736428 Move kbd_mode sources to open-src
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
56 |
int click; |
c4e7e0f5976a
6736428 Move kbd_mode sources to open-src
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
57 |
|
c4e7e0f5976a
6736428 Move kbd_mode sources to open-src
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
58 |
if ((kbd_fd = open("/dev/kbd", O_RDONLY, 0)) < 0) { |
c4e7e0f5976a
6736428 Move kbd_mode sources to open-src
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
59 |
die("Couldn't open /dev/kbd"); |
c4e7e0f5976a
6736428 Move kbd_mode sources to open-src
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
60 |
} |
c4e7e0f5976a
6736428 Move kbd_mode sources to open-src
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
61 |
argc--; argv++; |
c4e7e0f5976a
6736428 Move kbd_mode sources to open-src
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
62 |
if (argc-- && **argv == '-') { |
c4e7e0f5976a
6736428 Move kbd_mode sources to open-src
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
63 |
code = *(++*argv); |
c4e7e0f5976a
6736428 Move kbd_mode sources to open-src
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
64 |
} else { |
c4e7e0f5976a
6736428 Move kbd_mode sources to open-src
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
65 |
usage(); |
c4e7e0f5976a
6736428 Move kbd_mode sources to open-src
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
66 |
} |
c4e7e0f5976a
6736428 Move kbd_mode sources to open-src
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
67 |
switch (code) { |
c4e7e0f5976a
6736428 Move kbd_mode sources to open-src
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
68 |
case 'a': |
c4e7e0f5976a
6736428 Move kbd_mode sources to open-src
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
69 |
case 'A': |
c4e7e0f5976a
6736428 Move kbd_mode sources to open-src
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
70 |
translate = TR_ASCII; |
c4e7e0f5976a
6736428 Move kbd_mode sources to open-src
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
71 |
direct = 0; |
c4e7e0f5976a
6736428 Move kbd_mode sources to open-src
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
72 |
break; |
c4e7e0f5976a
6736428 Move kbd_mode sources to open-src
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
73 |
case 'e': |
c4e7e0f5976a
6736428 Move kbd_mode sources to open-src
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
74 |
case 'E': |
c4e7e0f5976a
6736428 Move kbd_mode sources to open-src
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
75 |
translate = TR_EVENT; |
c4e7e0f5976a
6736428 Move kbd_mode sources to open-src
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
76 |
break; |
c4e7e0f5976a
6736428 Move kbd_mode sources to open-src
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
77 |
case 'n': |
c4e7e0f5976a
6736428 Move kbd_mode sources to open-src
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
78 |
case 'N': |
c4e7e0f5976a
6736428 Move kbd_mode sources to open-src
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
79 |
translate = TR_NONE; |
c4e7e0f5976a
6736428 Move kbd_mode sources to open-src
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
80 |
break; |
c4e7e0f5976a
6736428 Move kbd_mode sources to open-src
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
81 |
case 'u': |
c4e7e0f5976a
6736428 Move kbd_mode sources to open-src
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
82 |
case 'U': |
c4e7e0f5976a
6736428 Move kbd_mode sources to open-src
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
83 |
translate = TR_UNTRANS_EVENT; |
c4e7e0f5976a
6736428 Move kbd_mode sources to open-src
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
84 |
break; |
c4e7e0f5976a
6736428 Move kbd_mode sources to open-src
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
85 |
default: |
c4e7e0f5976a
6736428 Move kbd_mode sources to open-src
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
86 |
usage(); |
c4e7e0f5976a
6736428 Move kbd_mode sources to open-src
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
87 |
} |
c4e7e0f5976a
6736428 Move kbd_mode sources to open-src
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
88 |
#ifdef KIOCSLED |
c4e7e0f5976a
6736428 Move kbd_mode sources to open-src
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
89 |
led = 0; |
c4e7e0f5976a
6736428 Move kbd_mode sources to open-src
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
90 |
if (ioctl(kbd_fd, KIOCSLED, &led)) |
c4e7e0f5976a
6736428 Move kbd_mode sources to open-src
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
91 |
die("Couldn't set LEDs"); |
c4e7e0f5976a
6736428 Move kbd_mode sources to open-src
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
92 |
#endif |
c4e7e0f5976a
6736428 Move kbd_mode sources to open-src
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
93 |
#ifdef KIOCCMD |
c4e7e0f5976a
6736428 Move kbd_mode sources to open-src
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
94 |
click = KBD_CMD_NOCLICK; |
c4e7e0f5976a
6736428 Move kbd_mode sources to open-src
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
95 |
if (ioctl(kbd_fd, KIOCCMD, &click)) |
c4e7e0f5976a
6736428 Move kbd_mode sources to open-src
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
96 |
die("Couldn't set click"); |
c4e7e0f5976a
6736428 Move kbd_mode sources to open-src
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
97 |
#endif |
c4e7e0f5976a
6736428 Move kbd_mode sources to open-src
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
98 |
if (ioctl(kbd_fd, KIOCTRANS, (caddr_t) &translate)) |
c4e7e0f5976a
6736428 Move kbd_mode sources to open-src
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
99 |
die("Couldn't set translation"); |
c4e7e0f5976a
6736428 Move kbd_mode sources to open-src
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
100 |
if (direct != -1 && ioctl(kbd_fd, KIOCSDIRECT, (caddr_t) &direct)) |
c4e7e0f5976a
6736428 Move kbd_mode sources to open-src
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
101 |
die("Couldn't set redirect"); |
c4e7e0f5976a
6736428 Move kbd_mode sources to open-src
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
102 |
return 0; |
c4e7e0f5976a
6736428 Move kbd_mode sources to open-src
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
103 |
} |
c4e7e0f5976a
6736428 Move kbd_mode sources to open-src
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
104 |
|
c4e7e0f5976a
6736428 Move kbd_mode sources to open-src
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
105 |
static void |
c4e7e0f5976a
6736428 Move kbd_mode sources to open-src
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
106 |
die(const char *msg) |
c4e7e0f5976a
6736428 Move kbd_mode sources to open-src
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
107 |
{ |
c4e7e0f5976a
6736428 Move kbd_mode sources to open-src
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
108 |
fprintf(stderr, "%s\n", msg); |
c4e7e0f5976a
6736428 Move kbd_mode sources to open-src
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
109 |
exit(1); |
c4e7e0f5976a
6736428 Move kbd_mode sources to open-src
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
110 |
} |
c4e7e0f5976a
6736428 Move kbd_mode sources to open-src
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
111 |
|
c4e7e0f5976a
6736428 Move kbd_mode sources to open-src
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
112 |
static void |
c4e7e0f5976a
6736428 Move kbd_mode sources to open-src
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
113 |
usage(void) |
c4e7e0f5976a
6736428 Move kbd_mode sources to open-src
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
114 |
{ |
c4e7e0f5976a
6736428 Move kbd_mode sources to open-src
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
115 |
int translate; |
c4e7e0f5976a
6736428 Move kbd_mode sources to open-src
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
116 |
|
c4e7e0f5976a
6736428 Move kbd_mode sources to open-src
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
117 |
if (ioctl(kbd_fd, KIOCGTRANS, (caddr_t) &translate)) { |
c4e7e0f5976a
6736428 Move kbd_mode sources to open-src
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
118 |
die("Couldn't inquire current translation"); |
c4e7e0f5976a
6736428 Move kbd_mode sources to open-src
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
119 |
} |
c4e7e0f5976a
6736428 Move kbd_mode sources to open-src
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
120 |
fprintf(stderr, "kbd_mode {-a | -e | -n | -u }\n"); |
c4e7e0f5976a
6736428 Move kbd_mode sources to open-src
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
121 |
fprintf(stderr, "\tfor ascii, encoded (normal) SunView events,\n"); |
c4e7e0f5976a
6736428 Move kbd_mode sources to open-src
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
122 |
fprintf(stderr, " \tnon-encoded, or unencoded SunView events, resp.\n"); |
c4e7e0f5976a
6736428 Move kbd_mode sources to open-src
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
123 |
fprintf(stderr, "Current mode is %s.\n", |
c4e7e0f5976a
6736428 Move kbd_mode sources to open-src
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
124 |
( translate == 0 ? "n (non-translated bytes)" : |
c4e7e0f5976a
6736428 Move kbd_mode sources to open-src
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
125 |
( translate == 1 ? "a (ascii bytes)" : |
c4e7e0f5976a
6736428 Move kbd_mode sources to open-src
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
126 |
( translate == 2 ? "e (encoded events)" : |
c4e7e0f5976a
6736428 Move kbd_mode sources to open-src
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
127 |
/* translate == 3 */ "u (unencoded events)")))); |
c4e7e0f5976a
6736428 Move kbd_mode sources to open-src
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
128 |
exit(1); |
c4e7e0f5976a
6736428 Move kbd_mode sources to open-src
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
129 |
} |
c4e7e0f5976a
6736428 Move kbd_mode sources to open-src
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
130 |
|
c4e7e0f5976a
6736428 Move kbd_mode sources to open-src
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
131 |