open-src/app/kbd_mode/sun-src/kbd_mode.c
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--
6736428 Move kbd_mode sources to open-src
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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