summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorToomas Soome <tsoome@me.com>2017-01-19 00:54:55 +0200
committerHans Rosenfeld <hans.rosenfeld@joyent.com>2019-01-07 10:11:17 +0100
commitadc2b73db62a4506a57dfd1ce89bcadc4a60a29d (patch)
treef659fc1972895271b7cd74327dec7476685992e8
parent1f5207b7604fb44407eb4342aff613f7c4508508 (diff)
downloadillumos-gate-adc2b73db62a4506a57dfd1ce89bcadc4a60a29d.tar.gz
7784 uts: console input should support Unicode
Reviewed by: Yuri Pankov <yuripv@yuripv.net> Reviewed by: Igor Kozhukhov <igor@dilos.org> Reviewed by: Garrett D'Amore <garrett@damore.org> Approved by: Hans Rosenfeld <rosenfeld@grumpf.hope-2000.org>
-rw-r--r--usr/src/cmd/loadkeys/dumpkeys.c58
-rw-r--r--usr/src/cmd/loadkeys/loadkeys.y75
-rw-r--r--usr/src/cmd/loadkeys/type_6/albania2
-rw-r--r--usr/src/cmd/loadkeys/type_6/belarus2
-rw-r--r--usr/src/cmd/loadkeys/type_6/belgium18
-rw-r--r--usr/src/cmd/loadkeys/type_6/brazil36
-rw-r--r--usr/src/cmd/loadkeys/type_6/bulgaria2
-rw-r--r--usr/src/cmd/loadkeys/type_6/canadian_bilingual34
-rw-r--r--usr/src/cmd/loadkeys/type_6/canadian_french22
-rw-r--r--usr/src/cmd/loadkeys/type_6/croatia2
-rw-r--r--usr/src/cmd/loadkeys/type_6/czech2
-rw-r--r--usr/src/cmd/loadkeys/type_6/denmark14
-rw-r--r--usr/src/cmd/loadkeys/type_6/estonia30
-rw-r--r--usr/src/cmd/loadkeys/type_6/finnish12
-rw-r--r--usr/src/cmd/loadkeys/type_6/france22
-rw-r--r--usr/src/cmd/loadkeys/type_6/germany18
-rw-r--r--usr/src/cmd/loadkeys/type_6/greece2
-rw-r--r--usr/src/cmd/loadkeys/type_6/hungary2
-rw-r--r--usr/src/cmd/loadkeys/type_6/iceland2
-rw-r--r--usr/src/cmd/loadkeys/type_6/italy14
-rw-r--r--usr/src/cmd/loadkeys/type_6/japan2
-rw-r--r--usr/src/cmd/loadkeys/type_6/korea2
-rw-r--r--usr/src/cmd/loadkeys/type_6/latinamerica8
-rw-r--r--usr/src/cmd/loadkeys/type_6/latvia2
-rw-r--r--usr/src/cmd/loadkeys/type_6/lithuania2
-rw-r--r--usr/src/cmd/loadkeys/type_6/macedonia2
-rw-r--r--usr/src/cmd/loadkeys/type_6/maltauk2
-rw-r--r--usr/src/cmd/loadkeys/type_6/maltaus2
-rw-r--r--usr/src/cmd/loadkeys/type_6/netherlands36
-rw-r--r--usr/src/cmd/loadkeys/type_6/norway14
-rw-r--r--usr/src/cmd/loadkeys/type_6/poland2
-rw-r--r--usr/src/cmd/loadkeys/type_6/portugal12
-rw-r--r--usr/src/cmd/loadkeys/type_6/russia2
-rw-r--r--usr/src/cmd/loadkeys/type_6/serbiaandmontenegro2
-rw-r--r--usr/src/cmd/loadkeys/type_6/slovakia2
-rw-r--r--usr/src/cmd/loadkeys/type_6/spain14
-rw-r--r--usr/src/cmd/loadkeys/type_6/sweden14
-rw-r--r--usr/src/cmd/loadkeys/type_6/swiss_french14
-rw-r--r--usr/src/cmd/loadkeys/type_6/swiss_german14
-rw-r--r--usr/src/cmd/loadkeys/type_6/turkeyf2
-rw-r--r--usr/src/cmd/loadkeys/type_6/turkeyq2
-rw-r--r--usr/src/cmd/loadkeys/type_6/uk6
-rw-r--r--usr/src/cmd/loadkeys/type_6/us2
-rw-r--r--usr/src/uts/common/io/kb8042/kb8042.c108
-rw-r--r--usr/src/uts/common/io/kbtrans/kbtrans.c110
-rw-r--r--usr/src/uts/common/io/kbtrans/kbtrans_keytables.c35
-rw-r--r--usr/src/uts/common/io/kbtrans/kbtrans_lower.h23
-rw-r--r--usr/src/uts/common/io/kbtrans/kbtrans_streams.c48
-rw-r--r--usr/src/uts/common/sys/kbd.h122
-rw-r--r--usr/src/uts/common/sys/kbio.h4
-rw-r--r--usr/src/uts/intel/kbtrans/Makefile3
51 files changed, 470 insertions, 512 deletions
diff --git a/usr/src/cmd/loadkeys/dumpkeys.c b/usr/src/cmd/loadkeys/dumpkeys.c
index b200d5c73a..e16f319a2b 100644
--- a/usr/src/cmd/loadkeys/dumpkeys.c
+++ b/usr/src/cmd/loadkeys/dumpkeys.c
@@ -19,9 +19,6 @@
*
* CDDL HEADER END
*/
-#ifndef lint
-#ident "%Z%%M% %I% %E% SMI"
-#endif
/*
* Copyright (c) 1988 by Sun Microsystems, Inc.
@@ -66,9 +63,7 @@ static void printchar(int character, int delim);
/*ARGSUSED*/
int
-main(argc, argv)
- int argc;
- char **argv;
+main(int argc, char **argv)
{
register int kbdfd;
register int keystation;
@@ -242,6 +237,9 @@ static char *funnies[] = {
"nop",
"oops",
"hole",
+ "", /* not used */
+ "", /* not used */
+ "", /* not used */
"reset",
"error",
"idle",
@@ -258,6 +256,15 @@ static char *fa_class[] = {
"fa_cedilla",
"fa_acute",
"fa_grave",
+ "fa_macron",
+ "fa_breve",
+ "fa_dot",
+ "fa_slash",
+ "fa_ring",
+ "fa_apostrophe",
+ "fa_dacute",
+ "fa_ogonek",
+ "fa_caron"
};
#define NFA_CLASS (sizeof (fa_class) / sizeof (fa_class[0]))
@@ -311,15 +318,14 @@ static char *padkeys[] = {
#define NPADKEYS (sizeof (padkeys) / sizeof (padkeys[0]))
static void
-printentry(kio)
- register struct kiockeymap *kio;
+printentry(struct kiockeymap *kio)
{
- register int entry = (kio->kio_entry & 0x1F);
- register int fkeyset;
- register int i;
- register int c;
+ int entry = (kio->kio_entry & 0x1F);
+ int fkeyset;
+ int i;
+ int c;
- switch (kio->kio_entry >> 8) {
+ switch (KEYFLAGS(kio->kio_entry)) {
case 0x0:
if (kio->kio_entry == '"')
@@ -330,37 +336,37 @@ printentry(kio)
printchar((int)kio->kio_entry, '\'');
break;
- case SHIFTKEYS >> 8:
+ case SHIFTKEYS:
if (entry < NSHIFTKEYS)
(void) printf("shiftkeys+%s", shiftkeys[entry]);
else
(void) printf("%#4x", kio->kio_entry);
break;
- case BUCKYBITS >> 8:
+ case BUCKYBITS:
if (entry < NBUCKYBITS)
(void) printf("buckybits+%s", buckybits[entry]);
else
(void) printf("%#4x", kio->kio_entry);
break;
- case FUNNY >> 8:
+ case FUNNY:
if (entry < NFUNNIES)
(void) printf("%s", funnies[entry]);
else
(void) printf("%#4x", kio->kio_entry);
break;
- case FA_CLASS >> 8:
+ case FA_CLASS:
if (entry < NFA_CLASS)
(void) printf("%s", fa_class[entry]);
else
(void) printf("%#4x", kio->kio_entry);
break;
- case STRING >> 8:
+ case STRING:
if (entry < NBUILTIN_STRINGS && strncmp(kio->kio_string,
- builtin_strings[entry].string, KTAB_STRLEN) == 0)
+ builtin_strings[entry].string, KTAB_STRLEN) == 0)
(void) printf("string+%s", builtin_strings[entry].name);
else {
(void) printf("\"");
@@ -372,16 +378,16 @@ printentry(kio)
}
break;
- case FUNCKEYS >> 8:
+ case FUNCKEYS:
fkeyset = (int)(kio->kio_entry & 0xF0) >> 4;
if (fkeyset < NFKEYSETS)
(void) printf("%s(%d)", fkeysets[fkeyset],
- (entry&0x0F) + 1);
+ (entry & 0x0F) + 1);
else
(void) printf("%#4x", kio->kio_entry);
break;
- case PADKEYS >> 8:
+ case PADKEYS:
if (entry < NPADKEYS)
(void) printf("%s", padkeys[entry]);
else
@@ -395,9 +401,7 @@ printentry(kio)
}
static void
-printchar(character, delim)
- int character;
- int delim;
+printchar(int character, int delim)
{
switch (character) {
@@ -433,8 +437,10 @@ printchar(character, delim)
} else {
if (character < 040)
(void) printf("^%c", character + 0100);
- else
+ else if (character <= 0xff)
(void) printf("'\\%.3o'", character);
+ else
+ (void) printf("%#4x", character);
}
break;
}
diff --git a/usr/src/cmd/loadkeys/loadkeys.y b/usr/src/cmd/loadkeys/loadkeys.y
index 2795f1f7bf..eb146480e6 100644
--- a/usr/src/cmd/loadkeys/loadkeys.y
+++ b/usr/src/cmd/loadkeys/loadkeys.y
@@ -21,10 +21,6 @@
* CDDL HEADER END
*/
-#ifndef lint
-#pragma ident "%Z%%M% %I% %E% SMI"
-#endif
-
/*
* Copyright (c) 1999 by Sun Microsystems, Inc.
* All rights reserved.
@@ -45,21 +41,7 @@
#define ALL -1 /* special symbol for all tables */
-/*
- * SunOS 4.x and Solaris 2.[1234] put Type 4 key tables into
- * the keytables directory with no type qualification.
- * If we're a SPARC, we might be using an NFS server that
- * doesn't have the new type-qualified directories.
- * (loadkeys wasn't used on non-SPARCs in 2.[1234].)
- */
-#ifdef sparc
-#define COMPATIBILITY_DIR
-#endif
-
static char keytable_dir[] = "/usr/share/lib/keytables/type_%d/";
-#ifdef COMPATIBILITY_DIR
-static char keytable_dir2[] = "/usr/share/lib/keytables/";
-#endif
static char layout_prefix[] = "layout_";
struct keyentry {
@@ -132,6 +114,7 @@ static int loadkey(int kbdfd, keyentry *kep);
static int dupkey(int kbdfd, dupentry *dep, int shiftmask);
static int swapkey(int kbdfd, dupentry *dep, int shiftmask);
static int yylex();
+extern int yyparse(void);
static int readesc(FILE *stream, int delim, int single_char);
static int wordcmp(const void *w1, const void *w2);
static int yyerror(char *msg);
@@ -141,20 +124,18 @@ static FILE *open_mapping_file(char *pathbuf, char *name,
boolean_t explicit_name, int type);
int
-main(argc, argv)
- int argc;
- char **argv;
+main(int argc, char **argv)
{
- register int kbdfd;
+ int kbdfd;
int type;
int layout;
/* maxint is 8 hex digits. */
char layout_filename[sizeof(layout_prefix)+8];
char pathbuf[MAXPATHLEN];
- register int shift;
+ int shift;
struct kiockeymap mapentry;
- register keyentry *kep;
- register dupentry *dep;
+ keyentry *kep;
+ dupentry *dep;
boolean_t explicit_name;
while(++argv, --argc) {
@@ -333,12 +314,8 @@ set_layout(char *arg)
* else print a message on stderr and return NULL.
*/
FILE *
-open_mapping_file(
- char *pathbuf,
- char *name,
- boolean_t explicit_name,
- int type
-) {
+open_mapping_file(char *pathbuf, char *name, boolean_t explicit_name, int type)
+{
/* If the user specified the name, try it "raw". */
if (explicit_name) {
strcpy(pathbuf, name);
@@ -358,23 +335,8 @@ open_mapping_file(
return (NULL);
}
(void) strcat(pathbuf, name);
- infile = fopen(pathbuf, "r");
- if (infile) return (infile);
- if (errno != ENOENT) goto fopen_fail;
-
-#ifdef COMPATIBILITY_DIR
- /* If not, and either the name was specified explicitly */
- /* or this is a type 4... */
- if (explicit_name || type == KB_SUN4) {
- /* Try the compatibility name. */
- /* No need to check len here, it's shorter. */
- (void) strcpy(pathbuf, keytable_dir2);
- (void) strcat(pathbuf, infilename);
- infile = fopen(pathbuf, "r");
- if (infile) return (infile);
- if (errno != ENOENT) goto fopen_fail;
- }
-#endif
+ if ((infile = fopen(pathbuf, "r")) != NULL)
+ return (infile);
fopen_fail:
(void) fprintf(stderr, "loadkeys: ");
@@ -425,7 +387,7 @@ makeentry(tablemask, entry)
kep->ke_next = NULL;
kep->ke_entry.kio_tablemask = tablemask;
kep->ke_entry.kio_station = 0;
- kep->ke_entry.kio_entry = (u_short)entry;
+ kep->ke_entry.kio_entry = entry;
index = entry - STRING;
if (index >= 0 && index <= 15)
(void) strncpy(kep->ke_entry.kio_string, strings[index],
@@ -624,6 +586,10 @@ code:
{
$$ = $1;
}
+| INT
+ {
+ $$ = $1;
+ }
| '('
{
$$ = '(';
@@ -707,9 +673,18 @@ word_t wordtab[] = {
{ "downarrow", CONSTANT, DOWNARROW },
{ "error", CONSTANT, ERROR },
{ "fa_acute", CONSTANT, FA_ACUTE },
+ { "fa_apostrophe", CONSTANT, FA_APOSTROPHE },
+ { "fa_breve", CONSTANT, FA_BREVE },
+ { "fa_caron", CONSTANT, FA_CARON },
{ "fa_cedilla", CONSTANT, FA_CEDILLA },
{ "fa_cflex", CONSTANT, FA_CFLEX },
+ { "fa_dacute", CONSTANT, FA_DACUTE },
+ { "fa_dot", CONSTANT, FA_DOT },
{ "fa_grave", CONSTANT, FA_GRAVE },
+ { "fa_macron", CONSTANT, FA_MACRON },
+ { "fa_ogonek", CONSTANT, FA_OGONEK },
+ { "fa_ring", CONSTANT, FA_RING },
+ { "fa_slash", CONSTANT, FA_SLASH },
{ "fa_tilde", CONSTANT, FA_TILDE },
{ "fa_umlaut", CONSTANT, FA_UMLAUT },
{ "hole", CONSTANT, HOLE },
@@ -910,7 +885,7 @@ yylex()
yylval.number = wptr->w_lval;
tokentype = wptr->w_type;
} else {
- yylval.number = strtol(tokbuf, &ptr, 10);
+ yylval.number = strtol(tokbuf, &ptr, 0);
if (ptr == tokbuf)
yyerror("syntax error");
else
diff --git a/usr/src/cmd/loadkeys/type_6/albania b/usr/src/cmd/loadkeys/type_6/albania
index d58ab75d5d..0ef261a8be 100644
--- a/usr/src/cmd/loadkeys/type_6/albania
+++ b/usr/src/cmd/loadkeys/type_6/albania
@@ -22,8 +22,6 @@
# Copyright 2005 Sun Microsystems, Inc. All rights reserved.
# Use is subject to license terms.
#
-#pragma ident "%Z%%M% %I% %E% SMI"
-#
# Albania Type 6 (USB) key layout
#
# Note, on the console, this keyboard layout is exactly
diff --git a/usr/src/cmd/loadkeys/type_6/belarus b/usr/src/cmd/loadkeys/type_6/belarus
index 432affeae3..b89fc72366 100644
--- a/usr/src/cmd/loadkeys/type_6/belarus
+++ b/usr/src/cmd/loadkeys/type_6/belarus
@@ -22,8 +22,6 @@
# Copyright 2005 Sun Microsystems, Inc. All rights reserved.
# Use is subject to license terms.
#
-#pragma ident "%Z%%M% %I% %E% SMI"
-#
# Belarus Type 6 (USB) key layout
#
# Note, on the console, this keyboard layout is exactly
diff --git a/usr/src/cmd/loadkeys/type_6/belgium b/usr/src/cmd/loadkeys/type_6/belgium
index 42c1edcacf..bd29bf992c 100644
--- a/usr/src/cmd/loadkeys/type_6/belgium
+++ b/usr/src/cmd/loadkeys/type_6/belgium
@@ -26,18 +26,18 @@
# Belgian Type 6 (USB) key layout
#
#
-key 53 base ² shift ³ caps ² ctrl ² altg nop
+key 53 base 0x00B2 shift 0x00B3 caps 0x00B2 ctrl 0x00B2 altg nop
key 30 base & shift 1 caps & ctrl & altg |
-key 31 base é shift 2 caps é ctrl é altg @
+key 31 base 0x00E9 shift 2 caps 0x00E9 ctrl 0x00E9 altg @
key 32 base '"' shift 3 caps '"' ctrl '"' altg #
key 33 base '\'' shift 4 caps '\'' ctrl '\'' altg nop
key 34 base ( shift 5 caps ( ctrl ^[ altg nop
-key 35 base § shift 6 caps § ctrl ^_ altg ^
-key 36 base è shift 7 caps è ctrl è altg nop
+key 35 base 0x00A7 shift 6 caps 0x00A7 ctrl ^_ altg ^
+key 36 base 0x00E8 shift 7 caps 0x00E8 ctrl 0x00E8 altg nop
key 37 base ! shift 8 caps ! ctrl ^\ altg nop
-key 38 base ç shift 9 caps ç ctrl ^^ altg {
-key 39 base à shift 0 caps à ctrl ^@ altg }
-key 45 base ) shift ° caps ) ctrl ^] altg nop
+key 38 base 0x00E7 shift 9 caps 0x00E7 ctrl ^^ altg {
+key 39 base 0x00E0 shift 0 caps 0x00E0 ctrl ^@ altg }
+key 45 base ) shift 0x00B0 caps ) ctrl ^] altg nop
key 46 base - shift _ caps - ctrl ^_ altg nop
key 20 base a shift A caps A ctrl ^A altg nop
key 26 base z shift Z caps Z ctrl ^Z altg nop
@@ -45,8 +45,8 @@ key 47 base fa_cflex shift fa_umlaut caps fa_cflex ctrl fa_cflex altg [
key 48 base $ shift * caps $ ctrl $ altg ]
key 4 base q shift Q caps Q ctrl ^Q altg nop
key 51 base m shift M caps M ctrl ^M altg nop
-key 52 base ù shift % caps ù ctrl ù altg fa_grave
-key 50 base µ shift £ caps µ ctrl µ altg fa_acute numl nonl up nop
+key 52 base 0x00F9 shift % caps 0x00F9 ctrl 0x00F9 altg fa_grave
+key 50 base 0x00B5 shift 0x00A3 caps 0x00B5 ctrl 0x00B5 altg fa_acute numl nonl up nop
key 49 all hole
key 100 base < shift > caps < ctrl < altg '\\' numl nonl up nop
key 29 base w shift W caps W ctrl ^W altg nop
diff --git a/usr/src/cmd/loadkeys/type_6/brazil b/usr/src/cmd/loadkeys/type_6/brazil
index d20cdfe74e..b1c905f5e4 100644
--- a/usr/src/cmd/loadkeys/type_6/brazil
+++ b/usr/src/cmd/loadkeys/type_6/brazil
@@ -29,44 +29,44 @@
# "caps lock" acts as "shift lock" on this keyboard
#
#
-key 53 base '\'' shift '"' caps '\'' ctrl '\'' altg ¬
-key 30 base 1 shift ! caps 1 ctrl 1 altg ¹
-key 31 base 2 shift @ caps 2 ctrl ^@ altg ²
-key 32 base 3 shift # caps 3 ctrl 3 altg ³
-key 33 base 4 shift $ caps 4 ctrl 4 altg £
-key 34 base 5 shift % caps 5 ctrl 5 altg ¢
-key 35 base 6 shift fa_umlaut caps 6 ctrl ^^ altg ¬
+key 53 base '\'' shift '"' caps '\'' ctrl '\'' altg 0x00AC
+key 30 base 1 shift ! caps 1 ctrl 1 altg 0x00B9
+key 31 base 2 shift @ caps 2 ctrl ^@ altg 0x00B2
+key 32 base 3 shift # caps 3 ctrl 3 altg 0x00B3
+key 33 base 4 shift $ caps 4 ctrl 4 altg 0x00A3
+key 34 base 5 shift % caps 5 ctrl 5 altg 0x00A2
+key 35 base 6 shift fa_umlaut caps 6 ctrl ^^ altg 0x00AC
key 36 base 7 shift & caps 7 ctrl 7 altg {
key 37 base 8 shift * caps 8 ctrl ^[ altg [
key 38 base 9 shift ( caps 9 ctrl ^] altg ]
key 39 base 0 shift ) caps 0 ctrl 0 altg }
key 45 base - shift _ caps - ctrl ^_ altg '\\'
-key 46 base = shift + caps = ctrl = altg §
+key 46 base = shift + caps = ctrl = altg 0x00A7
key 20 base q shift Q caps Q ctrl ^Q altg nop
key 26 base w shift W caps W ctrl ^W altg nop
key 8 base e shift E caps E ctrl ^E altg nop
key 28 base y shift Y caps Y ctrl ^Y altg nop
-key 18 base o shift O caps O ctrl ^O altg §
-key 19 base p shift P caps P ctrl ^P altg ¶
+key 18 base o shift O caps O ctrl ^O altg 0x00A7
+key 19 base p shift P caps P ctrl ^P altg 0x00B6
key 47 base fa_acute shift fa_grave caps fa_acute ctrl fa_acute altg '`'
-key 48 base [ shift { caps [ ctrl ^[ altg ª
+key 48 base [ shift { caps [ ctrl ^[ altg 0x00AA
key 4 base a shift A caps A ctrl ^A altg nop
key 22 base s shift S caps S ctrl ^S altg nop
-key 51 base ç shift Ç caps Ç ctrl ç altg ¡
+key 51 base 0x00E7 shift 0x00C7 caps 0x00C7 ctrl 0x00E7 altg ¡
key 52 base fa_tilde shift fa_cflex caps fa_tilde ctrl ^^ altg ~
-key 50 base ] shift } caps ] ctrl ^] altg º numl nonl up nop
-key 29 base z shift Z caps Z ctrl ^Z altg «
-key 27 base x shift X caps X ctrl ^X altg »
+key 50 base ] shift } caps ] ctrl ^] altg 0x00BA numl nonl up nop
+key 29 base z shift Z caps Z ctrl ^Z altg 0x00AB
+key 27 base x shift X caps X ctrl ^X altg 0x00BB
key 6 base c shift C caps C ctrl ^C altg nop
key 25 base v shift V caps V ctrl ^V altg nop
key 5 base b shift B caps B ctrl ^B altg nop
key 17 base n shift N caps N ctrl ^N altg nop
-key 16 base m shift M caps M ctrl ^M altg µ
+key 16 base m shift M caps M ctrl ^M altg 0x00B5
key 49 all hole
-key 100 base / shift | caps / ctrl ^\ altg ° numl nonl up nop
+key 100 base / shift | caps / ctrl ^\ altg 0x00B0 numl nonl up nop
key 54 base , shift < caps , ctrl , altg ?
key 55 base . shift > caps . ctrl . altg nop
-key 56 base ; shift : caps ; ctrl ; altg ¿
+key 56 base ; shift : caps ; ctrl ; altg 0x00BF
#
#
#
diff --git a/usr/src/cmd/loadkeys/type_6/bulgaria b/usr/src/cmd/loadkeys/type_6/bulgaria
index 1846c455c5..feafdf59b3 100644
--- a/usr/src/cmd/loadkeys/type_6/bulgaria
+++ b/usr/src/cmd/loadkeys/type_6/bulgaria
@@ -22,8 +22,6 @@
# Copyright 2005 Sun Microsystems, Inc. All rights reserved.
# Use is subject to license terms.
#
-#pragma ident "%Z%%M% %I% %E% SMI"
-#
# Bulgaria Type 6 (USB) key layout
#
# Note, on the console, this keyboard layout is exactly
diff --git a/usr/src/cmd/loadkeys/type_6/canadian_bilingual b/usr/src/cmd/loadkeys/type_6/canadian_bilingual
index d27e0abe84..e727c55cbf 100644
--- a/usr/src/cmd/loadkeys/type_6/canadian_bilingual
+++ b/usr/src/cmd/loadkeys/type_6/canadian_bilingual
@@ -28,42 +28,42 @@
# "caps lock" acts as "shift lock" on this keyboard
#
key 53 base / shift | caps / ctrl ^\ altg '\\'
-key 30 base 1 shift ! caps 1 ctrl 1 altg ±
+key 30 base 1 shift ! caps 1 ctrl 1 altg 0x00B1
key 31 base 2 shift @ caps 2 ctrl 2 altg nop
-key 32 base 3 shift # caps 3 ctrl 3 altg £
-key 33 base 4 shift $ caps 4 ctrl 4 altg ¢
-key 34 base 5 shift % caps 5 ctrl 5 altg ¤
-key 35 base 6 shift ? caps 6 ctrl 6 altg ¬
+key 32 base 3 shift # caps 3 ctrl 3 altg 0x00A3
+key 33 base 4 shift $ caps 4 ctrl 4 altg 0x00A2
+key 34 base 5 shift % caps 5 ctrl 5 altg 0x00A4
+key 35 base 6 shift ? caps 6 ctrl 6 altg 0x00AC
key 36 base 7 shift & caps 7 ctrl 7 altg {
key 37 base 8 shift * caps 8 ctrl 8 altg }
key 38 base 9 shift ( caps 9 ctrl 9 altg [
key 39 base 0 shift ) caps 0 ctrl 0 altg ]
-key 45 base - shift _ caps - ctrl ^_ altg ½
-key 46 base = shift + caps = ctrl = altg ¬
+key 45 base - shift _ caps - ctrl ^_ altg 0x00B0
+key 46 base = shift + caps = ctrl = altg 0x00AC
key 20 base q shift Q caps Q ctrl ^Q altg nop
key 26 base w shift W caps W ctrl ^W altg nop
key 8 base e shift E caps E ctrl ^E altg nop
key 28 base y shift Y caps Y ctrl ^Y altg nop
-key 18 base o shift O caps O ctrl ^O altg §
-key 19 base p shift P caps P ctrl ^P altg ¶
+key 18 base o shift O caps O ctrl ^O altg 0x00A7
+key 19 base p shift P caps P ctrl ^P altg 0x00B6
key 47 base fa_cflex shift fa_umlaut caps fa_cflex ctrl fa_cflex altg fa_grave
-key 48 base ç shift Ç caps Ç ctrl ç altg ~
+key 48 base 0x00E7 shift 0x00C7 caps 0x00C7 ctrl 0x00E7 altg ~
key 4 base a shift A caps A ctrl ^A altg nop
key 22 base s shift S caps S ctrl ^S altg nop
key 51 base ; shift : caps ; ctrl ; altg °
-key 52 base è shift È caps È ctrl ¨ altg {
-key 50 base à shift À caps À ctrl à altg } numl nonl up nop
-key 29 base z shift Z caps Z ctrl ^Z altg «
-key 27 base x shift X caps X ctrl ^X altg »
+key 52 base 0x00E8 shift 0x00C8 caps 0x00C8 ctrl 0x00A8 altg {
+key 50 base 0x00E0 shift 0x00C0 caps 0x00C0 ctrl 0x00E0 altg } numl nonl up nop
+key 29 base z shift Z caps Z ctrl ^Z altg 0x00AB
+key 27 base x shift X caps X ctrl ^X altg 0x00BB
key 6 base c shift C caps C ctrl ^C altg nop
key 25 base v shift V caps V ctrl ^V altg nop
key 5 base b shift B caps B ctrl ^B altg nop
key 17 base n shift N caps N ctrl ^N altg nop
-key 16 base m shift M caps M ctrl ^M altg µ
+key 16 base m shift M caps M ctrl ^M altg 0x00B5
key 54 base , shift '\'' caps , ctrl , altg <
key 55 base . shift '"' caps . ctrl . altg >
-key 56 base é shift É caps É ctrl é altg fa_acute
-key 100 base ù shift Ù caps Ù ctrl ù altg nop numl nonl up nop
+key 56 base 0x00E9 shift 0x00C9 caps 0x00C9 ctrl 0x00E9 altg fa_acute
+key 100 base 0x00F9 shift 0x00D9 caps 0x00D9 ctrl 0x00F9 altg nop numl nonl up nop
#
#
# New function keys assigned old codes
diff --git a/usr/src/cmd/loadkeys/type_6/canadian_french b/usr/src/cmd/loadkeys/type_6/canadian_french
index fab1b9a32c..8ebf7eecb8 100644
--- a/usr/src/cmd/loadkeys/type_6/canadian_french
+++ b/usr/src/cmd/loadkeys/type_6/canadian_french
@@ -22,40 +22,38 @@
# Copyright 2007 Sun Microsystems, Inc. All rights reserved.
# Use is subject to license terms.
#
-# ident "%Z%%M% %I% %E% SMI"
-#
# Canadian French Type 6 (USB) key layout
#
# "caps lock" acts as "shift lock" on this keyboard
#
-key 53 base ² shift nop caps ² ctrl ² altg nop
+key 53 base 0x00B2 shift nop caps 0x00B2 ctrl 0x00B2 altg nop
key 30 base & shift 1 caps & ctrl & altg nop
-key 31 base é shift 2 caps é ctrl é altg ~
+key 31 base 0x00E9 shift 2 caps 0x00E9 ctrl 0x00E9 altg ~
key 32 base '"' shift 3 caps '"' ctrl '"' altg #
key 33 base '\'' shift 4 caps '\'' ctrl '\'' altg {
key 34 base ( shift 5 caps ( ctrl ^[ altg [
key 35 base - shift 6 caps - ctrl ^_ altg |
-key 36 base è shift 7 caps è ctrl è altg `
+key 36 base 0x00E8 shift 7 caps 0x00E8 ctrl 0x00E8 altg `
key 37 base _ shift 8 caps _ ctrl ^\ altg \
-key 38 base ç shift 9 caps ç ctrl ^^ altg ^
-key 39 base à shift 0 caps à ctrl ^@ altg @
-key 45 base ) shift ° caps ) ctrl ^] altg ]
+key 38 base 0x00E7 shift 9 caps 0x00E7 ctrl ^^ altg ^
+key 39 base 0x00E0 shift 0 caps 0x00E0 ctrl ^@ altg @
+key 45 base ) shift 0x00B0 caps ) ctrl ^] altg ]
key 46 base = shift + caps = ctrl = altg }
key 20 base a shift A caps A ctrl ^A altg nop
key 26 base z shift Z caps Z ctrl ^Z altg nop
key 47 base fa_cflex shift fa_umlaut caps fa_cflex ctrl fa_cflex altg nop
-key 48 base $ shift £ caps $ ctrl $ altg ¤
+key 48 base $ shift 0x00A3 caps $ ctrl $ altg 0x00A4
key 4 base q shift Q caps Q ctrl ^Q altg nop
key 51 base m shift M caps M ctrl ^M altg nop
-key 52 base ù shift % caps ù ctrl ù altg nop
-key 50 base * shift µ caps * ctrl * altg nop numl nonl up nop
+key 52 base 0x00F9 shift % caps 0x00F9 ctrl 0x00F9 altg nop
+key 50 base * shift 0x00B5 caps * ctrl * altg nop numl nonl up nop
key 49 all hole
key 100 base < shift > caps < ctrl < altg nop numl nonl up nop
key 29 base w shift W caps W ctrl ^W altg nop
key 16 base , shift ? caps , ctrl , altg nop
key 54 base ; shift . caps ; ctrl ; altg nop
key 55 base : shift / caps : ctrl : altg nop
-key 56 base ! shift § caps ! ctrl ! altg nop
+key 56 base ! shift 0x00A7 caps ! ctrl ! altg nop
#
#
#
diff --git a/usr/src/cmd/loadkeys/type_6/croatia b/usr/src/cmd/loadkeys/type_6/croatia
index bcedf7b51c..16530a2648 100644
--- a/usr/src/cmd/loadkeys/type_6/croatia
+++ b/usr/src/cmd/loadkeys/type_6/croatia
@@ -22,8 +22,6 @@
# Copyright 2005 Sun Microsystems, Inc. All rights reserved.
# Use is subject to license terms.
#
-#pragma ident "%Z%%M% %I% %E% SMI"
-#
# Croatia Type 6 (USB) key layout
#
# Note, on the console, this keyboard layout is exactly
diff --git a/usr/src/cmd/loadkeys/type_6/czech b/usr/src/cmd/loadkeys/type_6/czech
index c68d403b4f..e762e3d7af 100644
--- a/usr/src/cmd/loadkeys/type_6/czech
+++ b/usr/src/cmd/loadkeys/type_6/czech
@@ -21,8 +21,6 @@
#
# CDDL HEADER END
#
-#pragma ident "%Z%%M% %I% %E% SMI"
-#
# Czech Type 6 (USB) key layout
#
key 49 base '\\' shift | caps '\\' ctrl ^\ altg nop
diff --git a/usr/src/cmd/loadkeys/type_6/denmark b/usr/src/cmd/loadkeys/type_6/denmark
index fbebfb1d56..4f493d11f6 100644
--- a/usr/src/cmd/loadkeys/type_6/denmark
+++ b/usr/src/cmd/loadkeys/type_6/denmark
@@ -22,14 +22,12 @@
# Copyright 2007 Sun Microsystems, Inc. All rights reserved.
# Use is subject to license terms.
#
-# ident "%Z%%M% %I% %E% SMI"
-#
# Danish Type 6 (USB) key layout
#
-key 53 base ½ shift § caps ½ ctrl ½ altg nop
+key 53 base 0x00BD shift 0x00A7 caps 0x00BD ctrl 0x00BD altg nop
key 31 base 2 shift '"' caps 2 ctrl ^@ altg @
-key 32 base 3 shift # caps 3 ctrl 3 altg £
-key 33 base 4 shift ¤ caps 4 ctrl 4 altg $
+key 32 base 3 shift # caps 3 ctrl 3 altg 0x00A3
+key 33 base 4 shift 0x00A4 caps 4 ctrl 4 altg $
key 34 base 5 shift % caps 5 ctrl 5 altg ~
key 35 base 6 shift & caps 6 ctrl ^^ altg ^
key 36 base 7 shift / caps 7 ctrl 7 altg {
@@ -38,10 +36,10 @@ key 38 base 9 shift ) caps 9 ctrl ^] altg ]
key 39 base 0 shift = caps 0 ctrl 0 altg }
key 45 base + shift ? caps + ctrl ^_ altg nop
key 46 base fa_acute shift fa_grave caps fa_acute ctrl fa_acute altg |
-key 47 base å shift Å caps Å ctrl å altg nop
+key 47 base 0x00E5 shift 0x00C5 caps 0x00C5 ctrl 0x00E5 altg nop
key 48 base fa_umlaut shift fa_cflex caps fa_umlaut ctrl fa_umlaut altg fa_tilde
-key 51 base æ shift Æ caps Æ ctrl æ altg nop
-key 52 base ø shift Ø caps Ø ctrl ø altg nop
+key 51 base 0x00E6 shift 0x00C6 caps 0x00C6 ctrl 0x00E6 altg nop
+key 52 base 0x00F8 shift 0x00D8 caps 0x00D8 ctrl 0x00F8 altg nop
key 50 base '\'' shift * caps '\'' ctrl '\'' altg '`' numl nonl up nop
key 49 all hole
key 100 base < shift > caps < ctrl ^\ altg '\\' numl nonl up nop
diff --git a/usr/src/cmd/loadkeys/type_6/estonia b/usr/src/cmd/loadkeys/type_6/estonia
index eadf99a94a..8b9f62b3f1 100644
--- a/usr/src/cmd/loadkeys/type_6/estonia
+++ b/usr/src/cmd/loadkeys/type_6/estonia
@@ -30,13 +30,13 @@
# However, all necessary ASCII characters are placed onto the right keys.
#
#
-key 53 base ` shift fa_tilde caps ` ctrl ^^ altg '¬'
-key 30 base 1 shift ! caps 1 ctrl 1 altg ¹
+key 53 base fa_caron shift fa_tilde caps ` ctrl ^^ altg '~'
+key 30 base 1 shift ! caps 1 ctrl 1 altg 0x00B9
key 31 base 2 shift '"' caps 2 ctrl ^@ altg @
-key 32 base 3 shift # caps 3 ctrl 3 altg £
-key 33 base 4 shift ¤ caps 4 ctrl 4 altg $
-key 34 base 5 shift % caps 5 ctrl 5 altg ½
-key 35 base 6 shift & caps 6 ctrl 6 altg '¬'
+key 32 base 3 shift # caps 3 ctrl 3 altg 0x00A2
+key 33 base 4 shift 0x00A4 caps 4 ctrl 4 altg $
+key 34 base 5 shift % caps 5 ctrl 5 altg 0x00BD
+key 35 base 6 shift & caps 6 ctrl 6 altg 0x00AC
key 36 base 7 shift / caps 7 ctrl 7 altg {
key 37 base 8 shift ( caps 8 ctrl ^[ altg [
key 38 base 9 shift ) caps 9 ctrl ^] altg ]
@@ -44,17 +44,19 @@ key 39 base 0 shift = caps 0 ctrl 0 altg }
key 45 base + shift ? caps + ctrl ^_ altg '\\'
key 46 base fa_acute shift fa_grave caps fa_acute ctrl fa_acute altg `
key 20 base q shift Q caps Q ctrl ^Q altg @
-key 47 base ü shift Ü caps Ü ctrl ü altg fa_umlaut
-key 48 base fa_umlaut shift ^ caps fa_umlaut ctrl fa_tilde altg ~
-key 51 base ö shift Ö caps Ö ctrl ö altg nop
-key 52 base ä shift Ä caps Ä ctrl ä altg ^
+key 47 base 0x00FC shift 0x00DC caps 0x00DC ctrl nop altg fa_umlaut
+key 48 base 0x00F5 shift 0x00D5 caps 0x00D5 ctrl nop altg ~
+key 51 base 0x00F6 shift 0x00D6 caps 0x00D6 ctrl nop altg nop
+key 52 base 0x00E4 shift 0x00C4 caps 0x00C4 ctrl nop altg ^
key 50 base '\'' shift * caps '\'' ctrl '\'' altg '`' numl nonl up nop
key 49 all hole
key 100 base < shift > caps < ctrl ^| altg | numl nonl up nop
-key 29 base z shift Z caps Z ctrl ^Z altg «
-key 27 base x shift X caps X ctrl ^X altg »
-key 6 base c shift C caps C ctrl ^C altg ¢
-key 16 base m shift M caps M ctrl '\r' altg µ
+key 22 base s shift S caps S ctrl ^S altg 0x0161
+key 29 base z shift Z caps Z ctrl ^Z altg 0x017E
+key 27 base x shift X caps X ctrl ^X altg nop
+key 6 base c shift C caps C ctrl ^C altg 0x00A2
+key 8 base e shift E caps E ctrl ^E altg 0x20AC
+key 16 base m shift M caps M ctrl '\r' altg 0x00B5
key 54 base , shift ; caps , ctrl , altg <
key 55 base . shift : caps . ctrl . altg >
key 56 base - shift _ caps - ctrl ^_ altg nop
diff --git a/usr/src/cmd/loadkeys/type_6/finnish b/usr/src/cmd/loadkeys/type_6/finnish
index 6a7f113331..bc3926aa17 100644
--- a/usr/src/cmd/loadkeys/type_6/finnish
+++ b/usr/src/cmd/loadkeys/type_6/finnish
@@ -22,13 +22,11 @@
# Copyright 2007 Sun Microsystems, Inc. All rights reserved.
# Use is subject to license terms.
#
-# ident "%Z%%M% %I% %E% SMI"
-#
# Finnish Type 6 (USB) key layout
#
-key 53 base § shift ½ caps § ctrl § altg nop
+key 53 base 0x00A7 shift 0x00B0 caps 0x00A7 ctrl 0x00A7 altg nop
key 31 base 2 shift '"' caps 2 ctrl ^@ altg @
-key 32 base 3 shift # caps 3 ctrl 3 altg £
+key 32 base 3 shift # caps 3 ctrl 3 altg 0x00A3
key 33 base 4 shift ¤ caps 4 ctrl 4 altg $
key 34 base 5 shift % caps 5 ctrl 5 altg nop
key 35 base 6 shift & caps 6 ctrl 6 altg nop
@@ -38,10 +36,10 @@ key 38 base 9 shift ) caps 9 ctrl ^] altg ]
key 39 base 0 shift = caps 0 ctrl 0 altg }
key 45 base + shift ? caps + ctrl ^_ altg '\\'
key 46 base fa_acute shift fa_grave caps fa_acute ctrl fa_acute altg nop
-key 47 base å shift Å caps Å ctrl å altg nop
+key 47 base 0x00E5 shift 0x00C5 caps 0x00C5 ctrl 0x00E5 altg nop
key 48 base fa_umlaut shift ^ caps fa_umlaut ctrl fa_umlaut altg ~
-key 51 base ö shift Ö caps Ö ctrl ö altg nop
-key 52 base ä shift Ä caps Ä ctrl ä altg nop
+key 51 base 0x00F6 shift 0x00D6 caps 0x00D6 ctrl 0x00F6 altg nop
+key 52 base 0x00E4 shift 0x00C4 caps 0x00C4 ctrl 0x00E4 altg nop
key 50 base '\'' shift * caps '\'' ctrl '\'' altg '`' numl nonl up nop
key 49 all hole
key 100 base < shift > caps < ctrl ^| altg | numl nonl up nop
diff --git a/usr/src/cmd/loadkeys/type_6/france b/usr/src/cmd/loadkeys/type_6/france
index 0e1c39c3cb..edcad8053c 100644
--- a/usr/src/cmd/loadkeys/type_6/france
+++ b/usr/src/cmd/loadkeys/type_6/france
@@ -22,40 +22,38 @@
# Copyright 2007 Sun Microsystems, Inc. All rights reserved.
# Use is subject to license terms.
#
-# ident "%Z%%M% %I% %E% SMI"
-#
# French Type 6 (USB) key layout
#
# "caps lock" acts as "shift lock" on this keyboard
#
-key 53 base ² shift nop caps ² ctrl ² altg nop
+key 53 base 0x00B2 shift nop caps 0x00B2 ctrl 0x00B2 altg nop
key 30 base & shift 1 caps & ctrl & altg nop
-key 31 base é shift 2 caps é ctrl é altg ~
+key 31 base 0x00E9 shift 2 caps 0x00E9 ctrl 0x00E9 altg ~
key 32 base '"' shift 3 caps '"' ctrl '"' altg #
key 33 base '\'' shift 4 caps '\'' ctrl '\'' altg {
key 34 base ( shift 5 caps ( ctrl ^[ altg [
key 35 base - shift 6 caps - ctrl ^_ altg |
-key 36 base è shift 7 caps è ctrl è altg `
+key 36 base 0x00E8 shift 7 caps 0x00E8 ctrl 0x00E8 altg `
key 37 base _ shift 8 caps _ ctrl ^\ altg \
-key 38 base ç shift 9 caps ç ctrl ^^ altg ^
-key 39 base à shift 0 caps à ctrl ^@ altg @
-key 45 base ) shift ° caps ) ctrl ^] altg ]
+key 38 base 0x00E7 shift 9 caps 0x00E7 ctrl ^^ altg ^
+key 39 base 0x00E0 shift 0 caps 0x00E0 ctrl ^@ altg @
+key 45 base ) shift 0x00B0 caps ) ctrl ^] altg ]
key 46 base = shift + caps = ctrl = altg }
key 20 base a shift A caps A ctrl ^A altg nop
key 26 base z shift Z caps Z ctrl ^Z altg nop
key 47 base fa_cflex shift fa_umlaut caps fa_cflex ctrl fa_cflex altg nop
-key 48 base $ shift £ caps $ ctrl $ altg ¤
+key 48 base $ shift 0x00A3 caps $ ctrl $ altg 0x00A4
key 4 base q shift Q caps Q ctrl ^Q altg nop
key 51 base m shift M caps M ctrl ^M altg nop
-key 52 base ù shift % caps ù ctrl ù altg nop
-key 50 base * shift µ caps * ctrl * altg nop numl nonl up nop
+key 52 base 0x00F9 shift % caps 0x00F9 ctrl 0x00F9 altg nop
+key 50 base * shift 0x00B5 caps * ctrl * altg nop numl nonl up nop
key 49 all hole
key 100 base < shift > caps < ctrl < altg nop numl nonl up nop
key 29 base w shift W caps W ctrl ^W altg nop
key 16 base , shift ? caps , ctrl , altg nop
key 54 base ; shift . caps ; ctrl ; altg nop
key 55 base : shift / caps : ctrl : altg nop
-key 56 base ! shift § caps ! ctrl ! altg nop
+key 56 base ! shift 0x00A7 caps ! ctrl ! altg nop
#
#
#
diff --git a/usr/src/cmd/loadkeys/type_6/germany b/usr/src/cmd/loadkeys/type_6/germany
index c26ba4eee1..1377c4c4b4 100644
--- a/usr/src/cmd/loadkeys/type_6/germany
+++ b/usr/src/cmd/loadkeys/type_6/germany
@@ -22,16 +22,14 @@
# Copyright 2007 Sun Microsystems, Inc. All rights reserved.
# Use is subject to license terms.
#
-# ident "%Z%%M% %I% %E% SMI"
-#
# German Type 6 (USB) key layout
#
# "caps lock" acts as "shift lock" on this keyboard
#
-key 53 base ^ shift ° caps ^ ctrl ^^ altg nop
+key 53 base ^ shift 0x00B0 caps ^ ctrl ^^ altg nop
key 30 base 1 shift ! caps 1 ctrl 1 altg nop
-key 31 base 2 shift '"' caps 2 ctrl ^@ altg ²
-key 32 base 3 shift § caps 3 ctrl 3 altg ³
+key 31 base 2 shift '"' caps 2 ctrl ^@ altg 0x00B2
+key 32 base 3 shift 0x00A7 caps 3 ctrl 3 altg 0x00B3
key 33 base 4 shift $ caps 4 ctrl 4 altg nop
key 34 base 5 shift % caps 5 ctrl 5 altg nop
key 35 base 6 shift & caps 6 ctrl 6 altg nop
@@ -39,19 +37,19 @@ key 36 base 7 shift / caps 7 ctrl 7 altg {
key 37 base 8 shift ( caps 8 ctrl ^[ altg [
key 38 base 9 shift ) caps 9 ctrl ^] altg ]
key 39 base 0 shift = caps 0 ctrl 0 altg }
-key 45 base ß shift ? caps ß ctrl ^\ altg '\\'
+key 45 base 0x00DF shift ? caps 0x00DF ctrl ^\ altg '\\'
key 46 base fa_acute shift fa_grave caps fa_acute ctrl fa_acute altg nop
key 20 base q shift Q caps Q ctrl ^Q altg @
key 28 base z shift Z caps Z ctrl ^Z altg nop
-key 47 base ü shift Ü caps Ü ctrl ü altg nop
+key 47 base 0x00FC shift 0x00DC caps 0x00DC ctrl 0x00FC altg nop
key 48 base + shift * caps + ctrl + altg ~
-key 51 base ö shift Ö caps Ö ctrl ö altg nop
-key 52 base ä shift Ä caps Ä ctrl ä altg nop
+key 51 base 0x00F6 shift 0x00D6 caps 0x00D6 ctrl 0x00F6 altg nop
+key 52 base 0x00E4 shift 0x00C4 caps 0x00C4 ctrl 0x00E4 altg nop
key 50 base # shift '\'' caps # ctrl # altg '`' numl nonl up nop
key 49 all hole
key 100 base < shift > caps < ctrl < altg | numl nonl up nop
key 29 base y shift Y caps Y ctrl ^Y altg nop
-key 16 base m shift M caps M ctrl '\r' altg µ
+key 16 base m shift M caps M ctrl '\r' altg 0x00B5
key 54 base , shift ; caps , ctrl , altg nop
key 55 base . shift : caps . ctrl . altg nop
key 56 base - shift _ caps - ctrl ^_ altg nop
diff --git a/usr/src/cmd/loadkeys/type_6/greece b/usr/src/cmd/loadkeys/type_6/greece
index c20507e228..aa9f6ca157 100644
--- a/usr/src/cmd/loadkeys/type_6/greece
+++ b/usr/src/cmd/loadkeys/type_6/greece
@@ -22,8 +22,6 @@
# Copyright 2007 Sun Microsystems, Inc. All rights reserved.
# Use is subject to license terms.
#
-# ident "%Z%%M% %I% %E% SMI"
-#
# Greek Type 6 (USB) key layout
#
key 49 base '\\' shift | caps '\\' ctrl ^\ altg nop
diff --git a/usr/src/cmd/loadkeys/type_6/hungary b/usr/src/cmd/loadkeys/type_6/hungary
index 668765061f..0227c744b2 100644
--- a/usr/src/cmd/loadkeys/type_6/hungary
+++ b/usr/src/cmd/loadkeys/type_6/hungary
@@ -22,8 +22,6 @@
# Copyright 2007 Sun Microsystems, Inc. All rights reserved.
# Use is subject to license terms.
#
-# ident "%Z%%M% %I% %E% SMI"
-#
# Hungary Type 6 (USB) key layout
#
key 49 base '\\' shift | caps '\\' ctrl ^\ altg nop
diff --git a/usr/src/cmd/loadkeys/type_6/iceland b/usr/src/cmd/loadkeys/type_6/iceland
index e18c8206e2..4ff9b4ab8a 100644
--- a/usr/src/cmd/loadkeys/type_6/iceland
+++ b/usr/src/cmd/loadkeys/type_6/iceland
@@ -22,8 +22,6 @@
# Copyright 2005 Sun Microsystems, Inc. All rights reserved.
# Use is subject to license terms.
#
-#pragma ident "%Z%%M% %I% %E% SMI"
-#
# Iceland Type 6 (USB) key layout
#
# Note, on the console, this keyboard layout is exactly
diff --git a/usr/src/cmd/loadkeys/type_6/italy b/usr/src/cmd/loadkeys/type_6/italy
index c2b70a221b..6c9e1effc0 100644
--- a/usr/src/cmd/loadkeys/type_6/italy
+++ b/usr/src/cmd/loadkeys/type_6/italy
@@ -22,25 +22,23 @@
# Copyright 2007 Sun Microsystems, Inc. All rights reserved.
# Use is subject to license terms.
#
-# ident "%Z%%M% %I% %E% SMI"
-#
# Italian Type 6 (USB) key layout
#
key 53 base '\\' shift | caps '\\' ctrl ^\ altg nop
key 31 base 2 shift '"' caps 2 ctrl 2 altg nop
-key 32 base 3 shift £ caps 3 ctrl 3 altg nop
+key 32 base 3 shift 0x00A3 caps 3 ctrl 3 altg nop
key 35 base 6 shift & caps 6 ctrl 6 altg nop
key 36 base 7 shift / caps 7 ctrl 7 altg nop
key 37 base 8 shift ( caps 8 ctrl 8 altg {
key 38 base 9 shift ) caps 9 ctrl 9 altg }
key 39 base 0 shift = caps 0 ctrl 0 altg nop
key 45 base '\'' shift ? caps '\'' ctrl '\'' altg '`'
-key 46 base ì shift ^ caps Ì ctrl ^^ altg nop
-key 47 base è shift é caps È ctrl ^[ altg [
+key 46 base 0x00EC shift ^ caps 0x00CC ctrl ^^ altg nop
+key 47 base 0x00E8 shift 0x00E9 caps 0x00C8 ctrl ^[ altg [
key 48 base + shift * caps + ctrl ^] altg ]
-key 51 base ò shift ç caps Ò ctrl ^@ altg @
-key 52 base à shift ° caps À ctrl à altg #
-key 50 base ù shift § caps Ù ctrl ù altg ~ numl nonl up nop
+key 51 base 0x00F2 shift 0x00E7 caps 0x00D2 ctrl ^@ altg @
+key 52 base 0x00E0 shift 0x00B0 caps 0x00C0 ctrl 0x00E0 altg #
+key 50 base 0x00F9 shift 0x00A7 caps 0x00D9 ctrl 0x00F9 altg ~ numl nonl up nop
key 49 all hole
key 100 base < shift > caps < ctrl < altg nop numl nonl up nop
key 54 base , shift ; caps , ctrl , altg nop
diff --git a/usr/src/cmd/loadkeys/type_6/japan b/usr/src/cmd/loadkeys/type_6/japan
index c4b2ea1eeb..37f87cf47b 100644
--- a/usr/src/cmd/loadkeys/type_6/japan
+++ b/usr/src/cmd/loadkeys/type_6/japan
@@ -22,8 +22,6 @@
# Copyright 2007 Sun Microsystems, Inc. All rights reserved.
# Use is subject to license terms.
#
-# ident "%Z%%M% %I% %E% SMI"
-#
# Japanese Type 6 (USB) key layout
#
# key 13: ROMAN/KANA
diff --git a/usr/src/cmd/loadkeys/type_6/korea b/usr/src/cmd/loadkeys/type_6/korea
index 2f8df8125f..473a996db6 100644
--- a/usr/src/cmd/loadkeys/type_6/korea
+++ b/usr/src/cmd/loadkeys/type_6/korea
@@ -22,8 +22,6 @@
#
# CDDL HEADER END
#
-# ident "%Z%%M% %I% %E% SMI"
-#
# Korean Type 6 (USB) key layout
#
#
diff --git a/usr/src/cmd/loadkeys/type_6/latinamerica b/usr/src/cmd/loadkeys/type_6/latinamerica
index 26182531ce..a383f26390 100644
--- a/usr/src/cmd/loadkeys/type_6/latinamerica
+++ b/usr/src/cmd/loadkeys/type_6/latinamerica
@@ -22,11 +22,9 @@
#
# CDDL HEADER END
#
-# ident "%Z%%M% %I% %E% SMI"
-#
# Latin American Type 6 (USB) key layout
#
-key 53 base | shift ° caps | ctrl hole altg ¬
+key 53 base | shift 0x00B0 caps | ctrl hole altg 0x00AC
key 30 base 1 shift ! caps 1 ctrl 1 altg nop
key 31 base 2 shift '"' caps 2 ctrl 2 altg nop
key 32 base 3 shift # caps 3 ctrl 3 altg nop
@@ -38,11 +36,11 @@ key 37 base 8 shift ( caps 8 ctrl 8 altg nop
key 38 base 9 shift ) caps 9 ctrl 9 altg nop
key 39 base 0 shift = caps 0 ctrl 0 altg nop
key 45 base '\'' shift ? caps '\'' ctrl '\'' altg '\\'
-key 46 base ¿ shift ¡ caps ¿ ctrl ¿ altg nop
+key 46 base 0x00BF shift 0x00A1 caps 0x00BF ctrl 0x00BF altg nop
key 20 base q shift Q caps Q ctrl ^@ altg @
key 47 base fa_acute shift fa_umlaut caps fa_acute ctrl fa_acute altg nop
key 48 base + shift * caps + ctrl + altg ~
-key 51 base ñ shift Ñ caps Ñ ctrl ñ altg nop
+key 51 base 0x00F1 shift 0x00D1 caps 0x00D1 ctrl 0x00F1 altg nop
key 52 base { shift [ caps { ctrl ^[ altg ^
key 50 base } shift ] caps } ctrl ^] altg ` numl nonl up nop
key 49 all hole
diff --git a/usr/src/cmd/loadkeys/type_6/latvia b/usr/src/cmd/loadkeys/type_6/latvia
index 99d9514c0d..b2794e5186 100644
--- a/usr/src/cmd/loadkeys/type_6/latvia
+++ b/usr/src/cmd/loadkeys/type_6/latvia
@@ -22,8 +22,6 @@
# Copyright 2007 Sun Microsystems, Inc. All rights reserved.
# Use is subject to license terms.
#
-# ident "%Z%%M% %I% %E% SMI"
-#
# Latvian Type 6 (USB) key layout
#
key 49 base '\\' shift | caps '\\' ctrl ^\ altg nop
diff --git a/usr/src/cmd/loadkeys/type_6/lithuania b/usr/src/cmd/loadkeys/type_6/lithuania
index 9b5fa55d8a..a594d3f440 100644
--- a/usr/src/cmd/loadkeys/type_6/lithuania
+++ b/usr/src/cmd/loadkeys/type_6/lithuania
@@ -22,8 +22,6 @@
# Copyright 2007 Sun Microsystems, Inc. All rights reserved.
# Use is subject to license terms.
#
-# ident "%Z%%M% %I% %E% SMI"
-#
# Lithuanian Type 6 (USB) key layout
#
key 49 base '\\' shift | caps '\\' ctrl ^\ altg nop
diff --git a/usr/src/cmd/loadkeys/type_6/macedonia b/usr/src/cmd/loadkeys/type_6/macedonia
index f287e76aa9..a48c051c54 100644
--- a/usr/src/cmd/loadkeys/type_6/macedonia
+++ b/usr/src/cmd/loadkeys/type_6/macedonia
@@ -22,8 +22,6 @@
# Copyright 2007 Sun Microsystems, Inc. All rights reserved.
# Use is subject to license terms.
#
-# ident "%Z%%M% %I% %E% SMI"
-#
# Macedonian Type 6 (USB) key layout
#
key 49 base '\\' shift | caps '\\' ctrl ^\ altg nop
diff --git a/usr/src/cmd/loadkeys/type_6/maltauk b/usr/src/cmd/loadkeys/type_6/maltauk
index 6e2862208d..71b10d6f09 100644
--- a/usr/src/cmd/loadkeys/type_6/maltauk
+++ b/usr/src/cmd/loadkeys/type_6/maltauk
@@ -22,8 +22,6 @@
# Copyright 2005 Sun Microsystems, Inc. All rights reserved.
# Use is subject to license terms.
#
-#pragma ident "%Z%%M% %I% %E% SMI"
-#
# Malta UK Type 6 (USB) key layout
#
# Note, on the console, this keyboard layout is exactly
diff --git a/usr/src/cmd/loadkeys/type_6/maltaus b/usr/src/cmd/loadkeys/type_6/maltaus
index 4e95c9aa28..bc93655470 100644
--- a/usr/src/cmd/loadkeys/type_6/maltaus
+++ b/usr/src/cmd/loadkeys/type_6/maltaus
@@ -22,8 +22,6 @@
# Copyright 2005 Sun Microsystems, Inc. All rights reserved.
# Use is subject to license terms.
#
-#pragma ident "%Z%%M% %I% %E% SMI"
-#
# Malta US Type 6 (USB) key layout
#
# Note, on the console, this keyboard layout is exactly
diff --git a/usr/src/cmd/loadkeys/type_6/netherlands b/usr/src/cmd/loadkeys/type_6/netherlands
index a412f185ff..7524bacf09 100644
--- a/usr/src/cmd/loadkeys/type_6/netherlands
+++ b/usr/src/cmd/loadkeys/type_6/netherlands
@@ -22,37 +22,35 @@
# Copyright 2007 Sun Microsystems, Inc. All rights reserved.
# Use is subject to license terms.
#
-# ident "%Z%%M% %I% %E% SMI"
-#
# Dutch Type 6 (USB) key layout
#
-key 53 base @ shift § caps @ ctrl ^@ altg '¬'
-key 30 base 1 shift ! caps 1 ctrl 1 altg ¹
-key 31 base 2 shift '"' caps 2 ctrl 2 altg ²
-key 32 base 3 shift # caps 3 ctrl 3 altg ³
-key 33 base 4 shift $ caps 4 ctrl 4 altg ¼
-key 34 base 5 shift % caps 5 ctrl 5 altg ½
-key 35 base 6 shift & caps 6 ctrl 6 altg ¾
-key 36 base 7 shift _ caps 7 ctrl ^_ altg £
+key 53 base @ shift 0x00A7 caps @ ctrl ^@ altg 0x00AC
+key 30 base 1 shift ! caps 1 ctrl 1 altg 0x00B9
+key 31 base 2 shift '"' caps 2 ctrl 2 altg 0x00B2
+key 32 base 3 shift # caps 3 ctrl 3 altg 0x00B3
+key 33 base 4 shift $ caps 4 ctrl 4 altg 0x00BC
+key 34 base 5 shift % caps 5 ctrl 5 altg 0x00BD
+key 35 base 6 shift & caps 6 ctrl 6 altg 0x00BE
+key 36 base 7 shift _ caps 7 ctrl ^_ altg 0x00A3
key 37 base 8 shift ( caps 8 ctrl 8 altg {
key 38 base 9 shift ) caps 9 ctrl ^] altg }
key 39 base 0 shift '\'' caps 0 ctrl 0 altg '`'
key 45 base / shift ? caps / ctrl ^\ altg '\\'
-key 46 base ° shift fa_tilde caps ° ctrl ° altg fa_cedilla
+key 46 base 0x00B0 shift fa_tilde caps 0x00B0 ctrl 0x00B0 altg fa_cedilla
key 47 base fa_umlaut shift fa_cflex caps fa_umlaut ctrl fa_umlaut altg nop
key 48 base * shift | caps * ctrl * altg ~
-key 22 base s shift S caps S ctrl ^S altg ß
-key 51 base + shift ± caps + ctrl + altg nop
+key 22 base s shift S caps S ctrl ^S altg 0x00DF
+key 51 base + shift 0x00B1 caps + ctrl + altg nop
key 52 base fa_acute shift fa_grave caps fa_acute ctrl fa_acute altg nop
key 50 base < shift > caps < ctrl ^^ altg ^ numl nonl up nop
key 49 all hole
-key 100 base ] shift [ caps [ ctrl ^[ altg ¦ numl nonl up nop
-key 29 base z shift Z caps Z ctrl ^Z altg «
-key 27 base x shift X caps X ctrl ^X altg »
-key 6 base c shift C caps C ctrl ^C altg ¢
-key 16 base m shift M caps M ctrl '\r' altg µ
+key 100 base ] shift [ caps [ ctrl ^[ altg 0x00A6 numl nonl up nop
+key 29 base z shift Z caps Z ctrl ^Z altg 0x00AB
+key 27 base x shift X caps X ctrl ^X altg 0x00BB
+key 6 base c shift C caps C ctrl ^C altg 0x00A2
+key 16 base m shift M caps M ctrl '\r' altg 0x00B5
key 54 base , shift ; caps , ctrl , altg nop
-key 55 base . shift : caps . ctrl . altg ·
+key 55 base . shift : caps . ctrl . altg 0x00B7
key 56 base - shift = caps - ctrl ^_ altg nop
#
#
diff --git a/usr/src/cmd/loadkeys/type_6/norway b/usr/src/cmd/loadkeys/type_6/norway
index 182f912305..21f93521a3 100644
--- a/usr/src/cmd/loadkeys/type_6/norway
+++ b/usr/src/cmd/loadkeys/type_6/norway
@@ -22,14 +22,12 @@
# Copyright 2007 Sun Microsystems, Inc. All rights reserved.
# Use is subject to license terms.
#
-# ident "%Z%%M% %I% %E% SMI"
-#
# Norwegian Type 6 (USB) key layout
#
-key 53 base | shift § caps | ctrl | altg nop
+key 53 base | shift 0x00A7 caps | ctrl | altg nop
key 31 base 2 shift '"' caps 2 ctrl ^@ altg @
-key 32 base 3 shift # caps 3 ctrl 3 altg £
-key 33 base 4 shift ¤ caps 4 ctrl 4 altg $
+key 32 base 3 shift # caps 3 ctrl 3 altg 0x00A3
+key 33 base 4 shift 0x00A4 caps 4 ctrl 4 altg $
key 34 base 5 shift % caps 5 ctrl 5 altg ~
key 35 base 6 shift & caps 6 ctrl ^^ altg ^
key 36 base 7 shift / caps 7 ctrl 7 altg {
@@ -38,10 +36,10 @@ key 38 base 9 shift ) caps 9 ctrl ^] altg ]
key 39 base 0 shift = caps 0 ctrl 0 altg }
key 45 base + shift ? caps + ctrl + altg nop
key 46 base '\\' shift fa_grave caps '\\' ctrl ^\ altg fa_acute
-key 47 base å shift Å caps Å ctrl å altg nop
+key 47 base 0x00E5 shift 0x00C5 caps 0x00C5 ctrl 0x00E5 altg nop
key 48 base fa_umlaut shift fa_cflex caps fa_umlaut ctrl ^^ altg fa_tilde
-key 51 base ø shift Ø caps Ø ctrl ø altg nop
-key 52 base æ shift Æ caps Æ ctrl æ altg nop
+key 51 base 0x00F8 shift 0x00D8 caps 0x00D8 ctrl 0x00F8 altg nop
+key 52 base 0x00E6 shift 0x00C6 caps 0x00C6 ctrl 0x00E6 altg nop
key 50 base '\'' shift * caps '\'' ctrl '\'' altg '`' numl nonl up nop
key 49 all hole
key 100 base < shift > caps < ctrl < altg nop numl nonl up nop
diff --git a/usr/src/cmd/loadkeys/type_6/poland b/usr/src/cmd/loadkeys/type_6/poland
index 4c7c605aef..b5da164e8a 100644
--- a/usr/src/cmd/loadkeys/type_6/poland
+++ b/usr/src/cmd/loadkeys/type_6/poland
@@ -21,8 +21,6 @@
#
# CDDL HEADER END
#
-#pragma ident "%Z%%M% %I% %E% SMI"
-#
# Polish Type 6 (USB) key layout
#
key 49 base '\\' shift | caps '\\' ctrl ^\ altg nop
diff --git a/usr/src/cmd/loadkeys/type_6/portugal b/usr/src/cmd/loadkeys/type_6/portugal
index 335ea464e5..817b821ab7 100644
--- a/usr/src/cmd/loadkeys/type_6/portugal
+++ b/usr/src/cmd/loadkeys/type_6/portugal
@@ -22,14 +22,12 @@
# Copyright 2007 Sun Microsystems, Inc. All rights reserved.
# Use is subject to license terms.
#
-# ident "%Z%%M% %I% %E% SMI"
-#
# Portuguese Type 6 (USB) key layout
#
key 53 base '\\' shift | caps '\\' ctrl ^\ altg nop
key 31 base 2 shift '"' caps 2 ctrl ^@ altg @
-key 32 base 3 shift # caps 3 ctrl 3 altg £
-key 33 base 4 shift $ caps 4 ctrl 4 altg §
+key 32 base 3 shift # caps 3 ctrl 3 altg 0x00A3
+key 33 base 4 shift $ caps 4 ctrl 4 altg 0x00A7
key 34 base 5 shift % caps 5 ctrl 5 altg ~
key 35 base 6 shift & caps 6 ctrl ^^ altg ^
key 36 base 7 shift / caps 7 ctrl 7 altg {
@@ -37,11 +35,11 @@ key 37 base 8 shift ( caps 8 ctrl ^[ altg [
key 38 base 9 shift ) caps 9 ctrl ^] altg ]
key 39 base 0 shift = caps 0 ctrl 0 altg }
key 45 base '\'' shift ? caps '\'' ctrl '\'' altg '`'
-key 46 base « shift » caps « ctrl « altg nop
+key 46 base 0x00AB shift 0x00BB caps 0x00AB ctrl 0x00AB altg nop
key 47 base + shift * caps + ctrl + altg fa_umlaut
key 48 base fa_acute shift fa_grave caps fa_acute ctrl fa_acute altg nop
-key 51 base ç shift Ç caps Ç ctrl ç altg nop
-key 52 base º shift ª caps º ctrl º altg nop
+key 51 base 0x00E7 shift 0x00C7 caps 0x00C7 ctrl 0x00E7 altg nop
+key 52 base 0x00BA shift 0x00AA caps 0x00BA ctrl 0x00BA altg nop
key 50 base fa_tilde shift fa_cflex caps fa_tilde ctrl ^^ altg nop numl nonl up nop
key 49 all hole
key 100 base < shift > caps < ctrl < altg nop numl nonl up nop
diff --git a/usr/src/cmd/loadkeys/type_6/russia b/usr/src/cmd/loadkeys/type_6/russia
index 15a7272e43..22803f8357 100644
--- a/usr/src/cmd/loadkeys/type_6/russia
+++ b/usr/src/cmd/loadkeys/type_6/russia
@@ -22,8 +22,6 @@
# Copyright 2007 Sun Microsystems, Inc. All rights reserved.
# Use is subject to license terms.
#
-# ident "%Z%%M% %I% %E% SMI"
-#
# Russian Type 6 (USB) key layout
#
key 49 base '\\' shift | caps '\\' ctrl ^\ altg nop
diff --git a/usr/src/cmd/loadkeys/type_6/serbiaandmontenegro b/usr/src/cmd/loadkeys/type_6/serbiaandmontenegro
index 9b91b1fef0..68712e9ee5 100644
--- a/usr/src/cmd/loadkeys/type_6/serbiaandmontenegro
+++ b/usr/src/cmd/loadkeys/type_6/serbiaandmontenegro
@@ -21,8 +21,6 @@
# Copyright 2005 Sun Microsystems, Inc. All rights reserved.
# Use is subject to license terms.
#
-#pragma ident "%Z%%M% %I% %E% SMI"
-#
# Serbia-And-Montenegro Type 6 (USB) key layout
#
# Note, on the console, this keyboard layout is exactly
diff --git a/usr/src/cmd/loadkeys/type_6/slovakia b/usr/src/cmd/loadkeys/type_6/slovakia
index 038490b74a..429d36edff 100644
--- a/usr/src/cmd/loadkeys/type_6/slovakia
+++ b/usr/src/cmd/loadkeys/type_6/slovakia
@@ -20,8 +20,6 @@
# Copyright 2005 Sun Microsystems, Inc. All rights reserved.
# Use is subject to license terms.
#
-#pragma ident "%Z%%M% %I% %E% SMI"
-#
# Slovakia Type 6 (USB) key layout
#
# Note, on the console, this keyboard layout is exactly
diff --git a/usr/src/cmd/loadkeys/type_6/spain b/usr/src/cmd/loadkeys/type_6/spain
index 41acd98d81..b9d60e76f7 100644
--- a/usr/src/cmd/loadkeys/type_6/spain
+++ b/usr/src/cmd/loadkeys/type_6/spain
@@ -23,28 +23,26 @@
# Copyright 2007 Sun Microsystems, Inc. All rights reserved.
# Use is subject to license terms.
#
-# ident "%Z%%M% %I% %E% SMI"
-#
# Spanish Type 6 (USB) key layout
#
-key 53 base º shift ª caps º ctrl ^\ altg '\\'
+key 53 base 0x00BA shift 0x00AA caps 0x00BA ctrl ^\ altg '\\'
key 30 base 1 shift ! caps 1 ctrl 1 altg |
key 31 base 2 shift '"' caps 2 ctrl ^@ altg @
-key 32 base 3 shift · caps 3 ctrl 3 altg #
+key 32 base 3 shift 0x00B7 caps 3 ctrl 3 altg #
key 33 base 4 shift $ caps 4 ctrl ^^ altg ^
key 34 base 5 shift % caps 5 ctrl 5 altg ~
-key 35 base 6 shift & caps 6 ctrl 6 altg ¬
+key 35 base 6 shift & caps 6 ctrl 6 altg 0x00AC
key 36 base 7 shift / caps 7 ctrl 7 altg nop
key 37 base 8 shift ( caps 8 ctrl 8 altg nop
key 38 base 9 shift ) caps 9 ctrl 9 altg nop
key 39 base 0 shift = caps 0 ctrl 0 altg nop
key 45 base '\'' shift ? caps '\'' ctrl '\'' altg '`'
-key 46 base ¡ shift ¿ caps ¡ ctrl ¡ altg nop
+key 46 base 0x00A1 shift 0x00BF caps 0x00A1 ctrl 0x00A1 altg nop
key 47 base fa_grave shift fa_cflex caps fa_grave ctrl ^[ altg [
key 48 base + shift * caps + ctrl ^] altg ]
-key 51 base ñ shift Ñ caps Ñ ctrl ñ altg nop
+key 51 base 0x00F1 shift 0x00D1 caps 0x00D1 ctrl 0x00F1 altg nop
key 52 base fa_acute shift fa_umlaut caps fa_acute ctrl fa_acute altg {
-key 50 base ç shift Ç caps Ç ctrl ç altg } numl nonl up nop
+key 50 base 0x00E7 shift 0x00C7 caps 0x00C7 ctrl 0x00E7 altg } numl nonl up nop
key 49 all hole
key 100 base < shift > caps < ctrl ^^ altg nop numl nonl up nop
key 54 base , shift ; caps , ctrl , altg nop
diff --git a/usr/src/cmd/loadkeys/type_6/sweden b/usr/src/cmd/loadkeys/type_6/sweden
index 2561cc7c2f..9b04ff05af 100644
--- a/usr/src/cmd/loadkeys/type_6/sweden
+++ b/usr/src/cmd/loadkeys/type_6/sweden
@@ -22,14 +22,12 @@
# Copyright 2007 Sun Microsystems, Inc. All rights reserved.
# Use is subject to license terms.
#
-# ident "%Z%%M% %I% %E% SMI"
-#
# Swedish Type 6 (USB) key layout
#
-key 53 base § shift ½ caps § ctrl § altg nop
+key 53 base 0x00A7 shift 0x00BD caps 0x00A7 ctrl 0x00A7 altg nop
key 31 base 2 shift '"' caps 2 ctrl ^@ altg @
-key 32 base 3 shift # caps 3 ctrl 3 altg £
-key 33 base 4 shift ¤ caps 4 ctrl 4 altg $
+key 32 base 3 shift # caps 3 ctrl 3 altg 0x00A3
+key 33 base 4 shift 0x00A4 caps 4 ctrl 4 altg $
key 34 base 5 shift % caps 5 ctrl 5 altg nop
key 35 base 6 shift & caps 6 ctrl 6 altg nop
key 36 base 7 shift / caps 7 ctrl 7 altg {
@@ -38,10 +36,10 @@ key 38 base 9 shift ) caps 9 ctrl ^] altg ]
key 39 base 0 shift = caps 0 ctrl 0 altg }
key 45 base + shift ? caps + ctrl ^_ altg '\\'
key 46 base fa_acute shift fa_grave caps fa_acute ctrl fa_acute altg nop
-key 47 base å shift Å caps Å ctrl å altg nop
+key 47 base 0x00E5 shift 0x00C5 caps 0x00C5 ctrl 0x00E5 altg nop
key 48 base fa_umlaut shift ^ caps fa_umlaut ctrl fa_umlaut altg ~
-key 51 base ö shift Ö caps Ö ctrl ö altg nop
-key 52 base ä shift Ä caps Ä ctrl ä altg nop
+key 51 base 0x00F6 shift 0x00D6 caps 0x00D6 ctrl 0x00F6 altg nop
+key 52 base 0x00E4 shift 0x00C4 caps 0x00C4 ctrl 0x00E4 altg nop
key 50 base '\'' shift * caps '\'' ctrl '\'' altg '`' numl nonl up nop
key 49 all hole
key 100 base < shift > caps < ctrl ^| altg | numl nonl up nop
diff --git a/usr/src/cmd/loadkeys/type_6/swiss_french b/usr/src/cmd/loadkeys/type_6/swiss_french
index 0b4efa5ca6..5a5e9af0fe 100644
--- a/usr/src/cmd/loadkeys/type_6/swiss_french
+++ b/usr/src/cmd/loadkeys/type_6/swiss_french
@@ -22,15 +22,13 @@
# Copyright 2007 Sun Microsystems, Inc. All rights reserved.
# Use is subject to license terms.
#
-# ident "%Z%%M% %I% %E% SMI"
-#
# Swiss French Type 6 (USB) key layout
#
-key 53 base § shift ° caps § ctrl § altg nop
+key 53 base 0x00A7 shift 0x00B0 caps 0x00A7 ctrl 0x00A7 altg nop
key 30 base 1 shift + caps 1 ctrl 1 altg |
key 31 base 2 shift '"' caps 2 ctrl ^@ altg @
key 32 base 3 shift * caps 3 ctrl 3 altg #
-key 33 base 4 shift ç caps 4 ctrl ^^ altg ^
+key 33 base 4 shift 0x00E7 caps 4 ctrl ^^ altg ^
key 34 base 5 shift % caps 5 ctrl 5 altg ~
key 35 base 6 shift & caps 6 ctrl 6 altg nop
key 36 base 7 shift / caps 7 ctrl 7 altg nop
@@ -40,11 +38,11 @@ key 39 base 0 shift = caps 0 ctrl 0 altg '`'
key 45 base '\'' shift ? caps '\'' ctrl '\'' altg fa_acute
key 46 base fa_cflex shift fa_grave caps fa_cflex ctrl ^^ altg fa_tilde
key 28 base z shift Z caps Z ctrl ^Z altg nop
-key 47 base è shift ü caps È ctrl ^[ altg [
+key 47 base 0x00E8 shift 0x00FC caps 0x00C8 ctrl ^[ altg [
key 48 base fa_umlaut shift ! caps fa_umlaut ctrl ^] altg ]
-key 51 base é shift ö caps É ctrl é altg nop
-key 52 base à shift ä caps À ctrl à altg {
-key 50 base $ shift £ caps $ ctrl $ altg } numl nonl up nop
+key 51 base 0x00E9 shift 0x00F6 caps 0x00C9 ctrl 0x00E9 altg nop
+key 52 base 0x00E0 shift 0x00E4 caps 0x00C0 ctrl 0x00E0 altg {
+key 50 base $ shift 0x00A3 caps $ ctrl $ altg } numl nonl up nop
key 49 all hole
key 100 base < shift > caps < ctrl ^\ altg '\\' numl nonl up nop
key 29 base y shift Y caps Y ctrl ^Y altg nop
diff --git a/usr/src/cmd/loadkeys/type_6/swiss_german b/usr/src/cmd/loadkeys/type_6/swiss_german
index 0131514521..bae367d68d 100644
--- a/usr/src/cmd/loadkeys/type_6/swiss_german
+++ b/usr/src/cmd/loadkeys/type_6/swiss_german
@@ -22,15 +22,13 @@
# Copyright 2007 Sun Microsystems, Inc. All rights reserved.
# Use is subject to license terms.
#
-# ident "%Z%%M% %I% %E% SMI"
-#
# Swiss German Type 6 (USB) key layout
#
-key 53 base § shift ° caps § ctrl § altg nop
+key 53 base 0x00A7 shift 0x00B0 caps 0x00A7 ctrl 0x00A7 altg nop
key 30 base 1 shift + caps 1 ctrl 1 altg |
key 31 base 2 shift '"' caps 2 ctrl ^@ altg @
key 32 base 3 shift * caps 3 ctrl 3 altg #
-key 33 base 4 shift ç caps 4 ctrl ^^ altg ^
+key 33 base 4 shift 0x00E7 caps 4 ctrl ^^ altg ^
key 34 base 5 shift % caps 5 ctrl 5 altg ~
key 35 base 6 shift & caps 6 ctrl 6 altg nop
key 36 base 7 shift / caps 7 ctrl 7 altg nop
@@ -40,11 +38,11 @@ key 39 base 0 shift = caps 0 ctrl 0 altg '`'
key 45 base '\'' shift ? caps '\'' ctrl '\'' altg fa_acute
key 46 base fa_cflex shift fa_grave caps fa_cflex ctrl ^^ altg fa_tilde
key 28 base z shift Z caps Z ctrl ^Z altg nop
-key 47 base ü shift è caps Ü ctrl ^[ altg [
+key 47 base 0x00FC shift 0x00E8 caps 0x00DC ctrl ^[ altg [
key 48 base fa_umlaut shift ! caps fa_umlaut ctrl ^] altg ]
-key 51 base ö shift é caps Ö ctrl ö altg nop
-key 52 base ä shift à caps Ä ctrl ä altg {
-key 50 base $ shift £ caps $ ctrl $ altg } numl nonl up nop
+key 51 base 0x00F6 shift 0x00E9 caps 0x00D6 ctrl 0x00F6 altg nop
+key 52 base 0x00E4 shift 0x00E0 caps 0x00C4 ctrl 0x00E4 altg {
+key 50 base $ shift 0x00A3 caps $ ctrl $ altg } numl nonl up nop
key 49 all hole
key 100 base < shift > caps < ctrl ^\ altg '\\' numl nonl up nop
key 29 base y shift Y caps Y ctrl ^Y altg nop
diff --git a/usr/src/cmd/loadkeys/type_6/turkeyf b/usr/src/cmd/loadkeys/type_6/turkeyf
index 56d77fffc2..d74476ea09 100644
--- a/usr/src/cmd/loadkeys/type_6/turkeyf
+++ b/usr/src/cmd/loadkeys/type_6/turkeyf
@@ -21,8 +21,6 @@
# Copyright 2005 Sun Microsystems, Inc. All rights reserved.
# Use is subject to license terms.
#
-#pragma ident "%Z%%M% %I% %E% SMI"
-#
# Turkey F Type 6 (USB) key layout
#
key 49 base '\\' shift | caps '\\' ctrl ^\ altg nop
diff --git a/usr/src/cmd/loadkeys/type_6/turkeyq b/usr/src/cmd/loadkeys/type_6/turkeyq
index e794343a27..a8e337c3dd 100644
--- a/usr/src/cmd/loadkeys/type_6/turkeyq
+++ b/usr/src/cmd/loadkeys/type_6/turkeyq
@@ -21,8 +21,6 @@
# Copyright 2005 Sun Microsystems, Inc. All rights reserved.
# Use is subject to license terms.
#
-#pragma ident "%Z%%M% %I% %E% SMI"
-#
# Turkey F Type 6 (USB) key layout
#
key 49 base '\\' shift | caps '\\' ctrl ^\ altg nop
diff --git a/usr/src/cmd/loadkeys/type_6/uk b/usr/src/cmd/loadkeys/type_6/uk
index 5f1ab05034..1a07302667 100644
--- a/usr/src/cmd/loadkeys/type_6/uk
+++ b/usr/src/cmd/loadkeys/type_6/uk
@@ -22,13 +22,11 @@
# Copyright 2007 Sun Microsystems, Inc. All rights reserved.
# Use is subject to license terms.
#
-# ident "%Z%%M% %I% %E% SMI"
-#
# UK Type 6 (USB) key layout
#
-key 53 base ` shift ¬ caps ` ctrl ` altg ¦
+key 53 base ` shift 0x00AC caps ` ctrl ` altg 0x00A6
key 31 base 2 shift '"' caps 2 ctrl 2 altg nop
-key 32 base 3 shift £ caps 3 ctrl 3 altg nop
+key 32 base 3 shift 0x00A3 caps 3 ctrl 3 altg nop
key 52 base '\'' shift @ caps '\'' ctrl ^@ altg nop
key 50 base # shift ~ caps # ctrl # altg nop numl nonl up nop
key 49 all hole
diff --git a/usr/src/cmd/loadkeys/type_6/us b/usr/src/cmd/loadkeys/type_6/us
index 8d66fdadd0..4375f25e12 100644
--- a/usr/src/cmd/loadkeys/type_6/us
+++ b/usr/src/cmd/loadkeys/type_6/us
@@ -22,8 +22,6 @@
#
# CDDL HEADER END
#
-# ident "%Z%%M% %I% %E% SMI"
-#
# US Type 6 (USB) key layout
#
key 49 base '\\' shift | caps '\\' ctrl ^\ altg nop
diff --git a/usr/src/uts/common/io/kb8042/kb8042.c b/usr/src/uts/common/io/kb8042/kb8042.c
index ba7746eae4..0b1480bf1f 100644
--- a/usr/src/uts/common/io/kb8042/kb8042.c
+++ b/usr/src/uts/common/io/kb8042/kb8042.c
@@ -159,22 +159,46 @@ static int kb8042_close(queue_t *qp, int flag, cred_t *credp);
static int kb8042_wsrv();
struct module_info kb8042_sinfo = {
- 42, /* Module ID */
- module_name,
- 0, 32, /* Minimum and maximum packet sizes */
- 256, 128 /* High and low water marks */
+ .mi_idnum = 42, /* Module ID */
+ .mi_idname = module_name, /* Module name */
+ .mi_minpsz = 0, /* Minimum packet size */
+ .mi_maxpsz = 32, /* Maximum packet size */
+ .mi_hiwat = 256, /* High water mark */
+ .mi_lowat = 128 /* Low water mark */
};
static struct qinit kb8042_rinit = {
- NULL, NULL, kb8042_open, kb8042_close, NULL, &kb8042_sinfo, NULL
+ .qi_putp = NULL,
+ .qi_srvp = NULL,
+ .qi_qopen = kb8042_open,
+ .qi_qclose = kb8042_close,
+ .qi_qadmin = NULL,
+ .qi_minfo = &kb8042_sinfo,
+ .qi_mstat = NULL,
+ .qi_rwp = NULL,
+ .qi_infop = NULL,
+ .qi_struiot = 0
};
static struct qinit kb8042_winit = {
- putq, kb8042_wsrv, kb8042_open, kb8042_close, NULL, &kb8042_sinfo, NULL
+ .qi_putp = putq,
+ .qi_srvp = kb8042_wsrv,
+ .qi_qopen = kb8042_open,
+ .qi_qclose = kb8042_close,
+ .qi_qadmin = NULL,
+ .qi_minfo = &kb8042_sinfo,
+ .qi_mstat = NULL,
+ .qi_rwp = NULL,
+ .qi_infop = NULL,
+ .qi_struiot = 0
};
-struct streamtab
- kb8042_str_info = { &kb8042_rinit, &kb8042_winit, NULL, NULL };
+struct streamtab kb8042_str_info = {
+ .st_rdinit = &kb8042_rinit,
+ .st_wrinit = &kb8042_winit,
+ .st_muxrinit = NULL,
+ .st_muxwinit = NULL
+};
struct kb8042 Kdws = {0};
static dev_info_t *kb8042_dip = NULL;
@@ -185,36 +209,39 @@ static int kb8042_attach(dev_info_t *, ddi_attach_cmd_t);
static int kb8042_detach(dev_info_t *, ddi_detach_cmd_t);
static struct cb_ops cb_kb8042_ops = {
- nulldev, /* cb_open */
- nulldev, /* cb_close */
- nodev, /* cb_strategy */
- nodev, /* cb_print */
- nodev, /* cb_dump */
- nodev, /* cb_read */
- nodev, /* cb_write */
- nodev, /* cb_ioctl */
- nodev, /* cb_devmap */
- nodev, /* cb_mmap */
- nodev, /* cb_segmap */
- nochpoll, /* cb_chpoll */
- ddi_prop_op, /* cb_prop_op */
- &kb8042_str_info, /* cb_stream */
- D_MP
+ .cb_open = nulldev,
+ .cb_close = nulldev,
+ .cb_strategy = nodev,
+ .cb_print = nodev,
+ .cb_dump = nodev,
+ .cb_read = nodev,
+ .cb_write = nodev,
+ .cb_ioctl = nodev,
+ .cb_devmap = nodev,
+ .cb_mmap = nodev,
+ .cb_segmap = nodev,
+ .cb_chpoll = nochpoll,
+ .cb_prop_op = ddi_prop_op,
+ .cb_str = &kb8042_str_info,
+ .cb_flag = D_MP,
+ .cb_rev = CB_REV,
+ .cb_aread = nodev,
+ .cb_awrite = nodev
};
struct dev_ops kb8042_ops = {
- DEVO_REV, /* devo_rev */
- 0, /* devo_refcnt */
- kb8042_getinfo, /* devo_getinfo */
- nulldev, /* devo_identify */
- nulldev, /* devo_probe */
- kb8042_attach, /* devo_attach */
- kb8042_detach, /* devo_detach */
- nodev, /* devo_reset */
- &cb_kb8042_ops, /* devo_cb_ops */
- (struct bus_ops *)NULL, /* devo_bus_ops */
- NULL, /* devo_power */
- ddi_quiesce_not_needed, /* devo_quiesce */
+ .devo_rev = DEVO_REV,
+ .devo_refcnt = 0,
+ .devo_getinfo = kb8042_getinfo,
+ .devo_identify = nulldev,
+ .devo_probe = nulldev,
+ .devo_attach = kb8042_attach,
+ .devo_detach = kb8042_detach,
+ .devo_reset = nodev,
+ .devo_cb_ops = &cb_kb8042_ops,
+ .devo_bus_ops = NULL,
+ .devo_power = NULL,
+ .devo_quiesce = ddi_quiesce_not_needed
};
@@ -227,15 +254,14 @@ struct dev_ops kb8042_ops = {
* Module linkage information for the kernel.
*/
static struct modldrv modldrv = {
- &mod_driverops, /* Type of module. This one is a driver */
- "PS/2 keyboard driver",
- &kb8042_ops, /* driver ops */
+ .drv_modops = &mod_driverops, /* Type of module. */
+ .drv_linkinfo = "PS/2 keyboard driver",
+ .drv_dev_ops = &kb8042_ops, /* driver ops */
};
static struct modlinkage modlinkage = {
- MODREV_1,
- (void *) &modldrv,
- NULL
+ .ml_rev = MODREV_1,
+ .ml_linkage = { &modldrv, NULL }
};
int
diff --git a/usr/src/uts/common/io/kbtrans/kbtrans.c b/usr/src/uts/common/io/kbtrans/kbtrans.c
index f01d4b8f06..2091a18162 100644
--- a/usr/src/uts/common/io/kbtrans/kbtrans.c
+++ b/usr/src/uts/common/io/kbtrans/kbtrans.c
@@ -24,8 +24,6 @@
* Use is subject to license terms.
*/
-#pragma ident "%Z%%M% %I% %E% SMI"
-
/*
* Generic keyboard support: translation
*
@@ -63,11 +61,11 @@
/*
* Internal Function Prototypes
*/
-static boolean_t kbtrans_do_compose(struct kbtrans_lower *, ushort_t,
- ushort_t, ushort_t *);
-static void kbtrans_translate(struct kbtrans_lower *,
- struct keyboard_callback *, kbtrans_key_t,
- enum keystate);
+static boolean_t kbtrans_do_compose(struct kbtrans_lower *, keymap_entry_t,
+ keymap_entry_t, keymap_entry_t *);
+static void kbtrans_translate(struct kbtrans_lower *,
+ struct keyboard_callback *, kbtrans_key_t, enum keystate);
+
/*
* kbtrans_processkey:
*
@@ -83,12 +81,10 @@ static void kbtrans_translate(struct kbtrans_lower *,
*/
void
kbtrans_processkey(struct kbtrans_lower *lower,
- struct keyboard_callback *cb,
- kbtrans_key_t key,
- enum keystate state)
+ struct keyboard_callback *cb, kbtrans_key_t key, enum keystate state)
{
DPRINTF(PRINT_L0, PRINT_MASK_ALL, (lower, "kbtrans_processkey: "
- "newstate=%d key=%d", state, key));
+ "newstate=%d key=%d", state, key));
/*
* If there is a raw routine, then call it and return.
@@ -126,21 +122,19 @@ kbtrans_processkey(struct kbtrans_lower *lower,
* for the character when it is done translating it.
*/
static void
-kbtrans_translate(struct kbtrans_lower *lower,
- struct keyboard_callback *cb,
- kbtrans_key_t key,
- enum keystate newstate)
+kbtrans_translate(struct kbtrans_lower *lower, struct keyboard_callback *cb,
+ kbtrans_key_t key, enum keystate newstate)
{
unsigned shiftmask;
- register ushort_t entry;
- register ushort_t entrytype;
- ushort_t result_iso;
- unsigned short *ke;
+ register keymap_entry_t entry;
+ register unsigned entrytype;
+ keymap_entry_t result;
+ keymap_entry_t *ke;
int i;
boolean_t good_compose;
DPRINTF(PRINT_L0, PRINT_MASK_ALL, (lower, "KEY TRANSLATE "
- "newstate=0x%x key=0x%x\n", newstate, key));
+ "newstate=0x%x key=0x%x\n", newstate, key));
if (lower->kbtrans_keyboard == NULL) {
/*
@@ -188,8 +182,7 @@ kbtrans_translate(struct kbtrans_lower *lower,
* ask for the table we would have gotten had Num Lock not been
* down, and translate using that table.
*/
- ke = kbtrans_find_entry(lower, shiftmask & ~NUMLOCKMASK,
- key);
+ ke = kbtrans_find_entry(lower, shiftmask & ~NUMLOCKMASK, key);
if (ke == NULL) {
/*
@@ -212,7 +205,7 @@ kbtrans_translate(struct kbtrans_lower *lower,
* Categories include shift keys, function keys, and numeric keypad
* keys.
*/
- entrytype = (ushort_t)(entry & 0xFF00);
+ entrytype = KEYFLAGS(entry);
if (entrytype == SHIFTKEYS) {
/*
@@ -222,8 +215,7 @@ kbtrans_translate(struct kbtrans_lower *lower,
*/
if ((1 << (entry & 0x0F)) &
lower->kbtrans_keyboard->k_toggleshifts) {
- if ((1 << (entry & 0x0F)) &
- lower->kbtrans_togglemask) {
+ if ((1 << (entry & 0x0F)) & lower->kbtrans_togglemask) {
newstate = KEY_RELEASED; /* toggling off */
} else {
newstate = KEY_PRESSED; /* toggling on */
@@ -236,7 +228,6 @@ kbtrans_translate(struct kbtrans_lower *lower,
switch (lower->kbtrans_state) {
case COMPOSE1:
if (newstate == KEY_RELEASED)
-
return;
if (entry < ASCII_SET_SIZE) {
@@ -265,28 +256,22 @@ kbtrans_translate(struct kbtrans_lower *lower,
cb->kc_setled(lower->kbtrans_upper);
good_compose = kbtrans_do_compose(lower,
- lower->kbtrans_compose_key, entry,
- &result_iso);
+ lower->kbtrans_compose_key, entry, &result);
if (good_compose) {
- if (lower->kbtrans_compat)
- result_iso += ISO_FIRST;
- else
- result_iso += EUC_FIRST;
cb->kc_keypressed(lower->kbtrans_upper,
- entrytype, key, result_iso);
+ entrytype, key, result);
}
return;
case FLTACCENT:
if (newstate == KEY_RELEASED)
-
return;
/* next state is "normal" */
lower->kbtrans_state = NORMAL;
for (i = 0;
- (lower->kbtrans_fltaccent_table[i].fa_entry
- != lower->kbtrans_fltaccent_entry) ||
+ (lower->kbtrans_fltaccent_table[i].fa_entry !=
+ lower->kbtrans_fltaccent_entry) ||
(lower->kbtrans_fltaccent_table[i].ascii != entry);
i++) {
if (lower->kbtrans_fltaccent_table[i].fa_entry
@@ -297,10 +282,8 @@ kbtrans_translate(struct kbtrans_lower *lower,
}
}
- cb->kc_keypressed(lower->kbtrans_upper, entrytype,
- key, (lower->kbtrans_compat ?
- ISO_FIRST : EUC_FIRST) +
- lower->kbtrans_fltaccent_table[i].iso);
+ cb->kc_keypressed(lower->kbtrans_upper, entrytype, key,
+ lower->kbtrans_fltaccent_table[i].utf8);
return;
}
@@ -321,7 +304,7 @@ kbtrans_translate(struct kbtrans_lower *lower,
if (lower->kbtrans_repeatkey != key) {
cb->kc_cancel_repeat(lower->kbtrans_upper);
cb->kc_setup_repeat(lower->kbtrans_upper, entrytype,
- key);
+ key);
}
/* key going up */
} else if (key == lower->kbtrans_repeatkey) {
@@ -342,7 +325,7 @@ kbtrans_translate(struct kbtrans_lower *lower,
case 0x0: /* regular key */
cb->kc_keypressed(lower->kbtrans_upper, entrytype, key,
- entry | lower->kbtrans_buckybits);
+ SPECIAL(lower->kbtrans_buckybits, entry));
break;
case SHIFTKEYS: {
@@ -353,13 +336,13 @@ kbtrans_translate(struct kbtrans_lower *lower,
if (newstate == KEY_RELEASED) {
if (shiftbit == CAPSMASK) {
lower->kbtrans_led_state &=
- ~LED_CAPS_LOCK;
+ ~LED_CAPS_LOCK;
cb->kc_setled(lower->kbtrans_upper);
} else if (shiftbit == NUMLOCKMASK) {
lower->kbtrans_led_state &=
- ~LED_NUM_LOCK;
+ ~LED_NUM_LOCK;
cb->kc_setled(lower->kbtrans_upper);
}
@@ -367,12 +350,12 @@ kbtrans_translate(struct kbtrans_lower *lower,
} else {
if (shiftbit == CAPSMASK) {
lower->kbtrans_led_state |=
- LED_CAPS_LOCK;
+ LED_CAPS_LOCK;
cb->kc_setled(lower->kbtrans_upper);
} else if (shiftbit == NUMLOCKMASK) {
lower->kbtrans_led_state |=
- LED_NUM_LOCK;
+ LED_NUM_LOCK;
cb->kc_setled(lower->kbtrans_upper);
}
@@ -387,18 +370,18 @@ kbtrans_translate(struct kbtrans_lower *lower,
if (newstate == KEY_PRESSED) {
cb->kc_keypressed(lower->kbtrans_upper, entrytype, key,
- entry);
+ entry);
}
break;
}
case BUCKYBITS:
- lower->kbtrans_buckybits ^= 1 << (7 + (entry & 0x0F));
+ lower->kbtrans_buckybits ^= 1 << (entry & 0x0F);
if (newstate == KEY_PRESSED) {
cb->kc_keypressed(lower->kbtrans_upper, entrytype, key,
- entry);
+ entry);
}
break;
@@ -414,18 +397,18 @@ kbtrans_translate(struct kbtrans_lower *lower,
case RESET:
case ERROR:
lower->kbtrans_shiftmask &=
- lower->kbtrans_keyboard->k_idleshifts;
+ lower->kbtrans_keyboard->k_idleshifts;
lower->kbtrans_shiftmask |=
- lower->kbtrans_togglemask;
+ lower->kbtrans_togglemask;
lower->kbtrans_buckybits &=
- lower->kbtrans_keyboard->k_idlebuckys;
+ lower->kbtrans_keyboard->k_idlebuckys;
cb->kc_cancel_repeat(lower->kbtrans_upper);
cb->kc_keypressed(lower->kbtrans_upper, entrytype, key,
- entry);
+ entry);
break;
@@ -480,16 +463,14 @@ kbtrans_translate(struct kbtrans_lower *lower,
/*
* kbtrans_do_compose:
* Given a two key compose sequence, lookup the iso equivalent and put
- * the result in the result_iso_ptr.
+ * the result in the result_ptr.
*/
static boolean_t
-kbtrans_do_compose(struct kbtrans_lower *lower,
- ushort_t first_entry,
- ushort_t second_entry,
- ushort_t *result_iso_ptr)
+kbtrans_do_compose(struct kbtrans_lower *lower, keymap_entry_t first_entry,
+ keymap_entry_t second_entry, keymap_entry_t *result_ptr)
{
struct compose_sequence_t *ptr;
- ushort_t tmp;
+ keymap_entry_t tmp;
/*
* Validate the second keystroke.
@@ -510,11 +491,11 @@ kbtrans_do_compose(struct kbtrans_lower *lower,
}
ptr = lower->kbtrans_compose_table +
- lower->kbtrans_compose_map[first_entry];
+ lower->kbtrans_compose_map[first_entry];
while (ptr->first == first_entry) {
if (ptr->second == second_entry) {
- *result_iso_ptr = ptr->iso;
+ *result_ptr = ptr->utf8;
return (B_TRUE);
}
@@ -529,10 +510,9 @@ kbtrans_do_compose(struct kbtrans_lower *lower,
* This routine finds the entry corresponding to the current shift
* state and keycode.
*/
-unsigned short *
-kbtrans_find_entry(struct kbtrans_lower *lower,
- register uint_t mask,
- kbtrans_key_t key_station)
+keymap_entry_t *
+kbtrans_find_entry(struct kbtrans_lower *lower, uint_t mask,
+ kbtrans_key_t key_station)
{
register struct keyboard *kp;
keymap_entry_t *km;
diff --git a/usr/src/uts/common/io/kbtrans/kbtrans_keytables.c b/usr/src/uts/common/io/kbtrans/kbtrans_keytables.c
index 197a412e6e..7755c14aad 100644
--- a/usr/src/uts/common/io/kbtrans/kbtrans_keytables.c
+++ b/usr/src/uts/common/io/kbtrans/kbtrans_keytables.c
@@ -24,8 +24,6 @@
* All rights reserved.
*/
-#pragma ident "%Z%%M% %I% %E% SMI"
-
/*
* This file contains generic keytable information across all
* keyboard hardware.
@@ -217,7 +215,7 @@ signed char kb_compose_map[ASCII_SET_SIZE] = {
* (top to bottom).
*/
-/* COMPOSE + first character + second character => ISO character */
+/* COMPOSE + first character + second character => UTF-8 character */
struct compose_sequence_t kb_compose_table[] = {
@@ -341,9 +339,10 @@ struct compose_sequence_t kb_compose_table[] = {
* Floating Accent Sequence Table
*/
-/* FA + ASCII character => ISO character */
+/* FA + ASCII character => UTF-8 character */
struct fltaccent_sequence_t kb_fltaccent_table[] = {
+ {FA_UMLAUT, ' ', 0xA8}, /* umlaut/diaresis */
{FA_UMLAUT, 'A', 0xC4}, /* A with umlaut */
{FA_UMLAUT, 'E', 0xCB}, /* E with umlaut */
{FA_UMLAUT, 'I', 0xCF}, /* I with umlaut */
@@ -367,6 +366,7 @@ struct fltaccent_sequence_t kb_fltaccent_table[] = {
{FA_CFLEX, 'o', 0xF4}, /* o with circumflex */
{FA_CFLEX, 'u', 0xFB}, /* u with circumflex */
+ {FA_TILDE, ' ', '~'}, /* tilde */
{FA_TILDE, 'A', 0xC3}, /* A with tilde */
{FA_TILDE, 'N', 0xD1}, /* N with tilde */
{FA_TILDE, 'O', 0xD5}, /* O with tilde */
@@ -374,9 +374,11 @@ struct fltaccent_sequence_t kb_fltaccent_table[] = {
{FA_TILDE, 'n', 0xF1}, /* n with tilde */
{FA_TILDE, 'o', 0xF5}, /* o with tilde */
+ {FA_CEDILLA, ' ', 0xB8}, /* cedilla */
{FA_CEDILLA, 'C', 0xC7}, /* C with cedilla */
{FA_CEDILLA, 'c', 0xE7}, /* c with cedilla */
+ {FA_ACUTE, ' ', '\''}, /* apostrophe */
{FA_ACUTE, 'A', 0xC1}, /* A with acute accent */
{FA_ACUTE, 'E', 0xC9}, /* E with acute accent */
{FA_ACUTE, 'I', 0xCD}, /* I with acute accent */
@@ -389,6 +391,7 @@ struct fltaccent_sequence_t kb_fltaccent_table[] = {
{FA_ACUTE, 'u', 0xFA}, /* u with acute accent */
{FA_ACUTE, 'y', 0xFD}, /* y with acute accent */
+ {FA_GRAVE, ' ', '`'}, /* grave accent */
{FA_GRAVE, 'A', 0xC0}, /* A with grave accent */
{FA_GRAVE, 'E', 0xC8}, /* E with grave accent */
{FA_GRAVE, 'I', 0xCC}, /* I with grave accent */
@@ -400,6 +403,30 @@ struct fltaccent_sequence_t kb_fltaccent_table[] = {
{FA_GRAVE, 'o', 0xF2}, /* o with grave accent */
{FA_GRAVE, 'u', 0xF9}, /* u with grave accent */
+ {FA_MACRON, ' ', 0xAF}, /* macron */
+
+ {FA_BREVE, ' ', 0x306}, /* combining breve */
+
+ {FA_DOT, ' ', 0x307}, /* combining dot above */
+
+ {FA_SLASH, 0, 0}, /* slash, invalid entry */
+
+ {FA_RING, ' ', 0x30A}, /* combining ring above */
+
+ {FA_APOSTROPHE, ' ', '\''}, /* apostrophe */
+
+ {FA_DACUTE, ' ', 0x30B}, /* combining double acute */
+
+ {FA_OGONEK, ' ', 0x328}, /* combining ogonek */
+
+ {FA_CARON, ' ', 0x2C7}, /* caron */
+ {FA_CARON, 'C', 0x10C}, /* C with caron */
+ {FA_CARON, 'S', 0x160}, /* S with caron */
+ {FA_CARON, 'Z', 0x17D}, /* Z with caron */
+ {FA_CARON, 'c', 0x10D}, /* c with caron */
+ {FA_CARON, 's', 0x161}, /* s with caron */
+ {FA_CARON, 'z', 0x17E}, /* z with caron */
+
{0, 0, 0}, /* end of table */
};
diff --git a/usr/src/uts/common/io/kbtrans/kbtrans_lower.h b/usr/src/uts/common/io/kbtrans/kbtrans_lower.h
index 14157a7816..7836292f0c 100644
--- a/usr/src/uts/common/io/kbtrans/kbtrans_lower.h
+++ b/usr/src/uts/common/io/kbtrans/kbtrans_lower.h
@@ -27,8 +27,6 @@
#ifndef _KBTRANS_LOWER_H
#define _KBTRANS_LOWER_H
-#pragma ident "%Z%%M% %I% %E% SMI"
-
#ifdef __cplusplus
extern "C" {
#endif
@@ -56,8 +54,8 @@ struct kbtrans_lower {
uchar_t kbtrans_state; /* compose state */
uint_t kbtrans_buckybits; /* current buckybits */
uint_t kbtrans_togglemask; /* Toggle shifts state */
- ushort_t kbtrans_compose_key; /* first compose key */
- ushort_t kbtrans_fltaccent_entry; /* floating accent keymap entry */
+ kbtrans_key_t kbtrans_compose_key; /* first compose key */
+ kbtrans_key_t kbtrans_fltaccent_entry; /* floating accent entry */
/*
* Various mapping tables.
@@ -127,24 +125,15 @@ struct keyboard_callback {
* Process a scancode. This routine will call the functions in
* keyboard_callback to handle the translated key.
*/
-void
-kbtrans_processkey(
- struct kbtrans_lower *lower,
- struct keyboard_callback *cb,
- kbtrans_key_t key,
- enum keystate state
-);
+void kbtrans_processkey(struct kbtrans_lower *, struct keyboard_callback *,
+ kbtrans_key_t, enum keystate);
/*
* This routine finds the entry for the specified keycode based on the
* specified shift mask.
*/
-unsigned short *
-kbtrans_find_entry(
- struct kbtrans_lower *lower,
- uint_t mask,
- kbtrans_key_t
-);
+keymap_entry_t *kbtrans_find_entry(struct kbtrans_lower *, uint_t,
+ kbtrans_key_t);
/*
* Debug printing
diff --git a/usr/src/uts/common/io/kbtrans/kbtrans_streams.c b/usr/src/uts/common/io/kbtrans/kbtrans_streams.c
index d285b5c23b..a468cb7d01 100644
--- a/usr/src/uts/common/io/kbtrans/kbtrans_streams.c
+++ b/usr/src/uts/common/io/kbtrans/kbtrans_streams.c
@@ -1265,7 +1265,7 @@ kbtrans_strsetwithdecimal(char *buf, uint_t val, uint_t maxdigs)
*/
static void
kbtrans_keypressed(struct kbtrans *upper, uchar_t key_station,
- Firm_event *fe, ushort_t base)
+ Firm_event *fe, ushort_t base)
{
register short id_addr;
@@ -1278,7 +1278,7 @@ kbtrans_keypressed(struct kbtrans *upper, uchar_t key_station,
* not been CTRLed.
*/
if (lower->kbtrans_shiftmask & (CTRLMASK | CTLSMASK)) {
- unsigned short *ke;
+ keymap_entry_t *ke;
unsigned int mask;
mask = lower->kbtrans_shiftmask &
@@ -1327,7 +1327,7 @@ send:
*/
static void
kbtrans_queuepress(struct kbtrans *upper,
- uchar_t key_station, Firm_event *fe)
+ uchar_t key_station, Firm_event *fe)
{
register struct key_event *ke, *ke_free;
register int i;
@@ -1439,9 +1439,24 @@ kbtrans_putcode(register struct kbtrans *upper, uint_t code)
/*
* We will strip out any high order information here.
+ * Convert to UTF-8.
*/
- /* NOTE the implicit cast here */
- *bp->b_wptr++ = (uchar_t)code;
+ code = KEYCHAR(code);
+ if (code < 0x80) {
+ *bp->b_wptr++ = (char)code;
+ } else if (code < 0x800) {
+ *bp->b_wptr++ = 0xc0 | (code >> 6);
+ *bp->b_wptr++ = 0x80 | (code & 0x3f);
+ } else if (code < 0x10000) {
+ *bp->b_wptr++ = 0xe0 | (code >> 12);
+ *bp->b_wptr++ = 0x80 | ((code >> 6) & 0x3f);
+ *bp->b_wptr++ = 0x80 | (code & 0x3f);
+ } else {
+ *bp->b_wptr++ = 0xf0 | (code >> 18);
+ *bp->b_wptr++ = 0x80 | ((code >> 12) & 0x3f);
+ *bp->b_wptr++ = 0x80 | ((code >> 6) & 0x3f);
+ *bp->b_wptr++ = 0x80 | (code & 0x3f);
+ }
/*
* Send the message up.
@@ -1788,7 +1803,7 @@ kbtrans_ascii_keypressed(
}
/*
- * Send the byte upstream.
+ * Send the char upstream.
*/
kbtrans_putcode(upper, entry);
@@ -2089,7 +2104,7 @@ kbtrans_trans_event_setup_repeat(
* Map old special codes to new ones.
* Indexed by ((old special code) >> 4) & 0x07; add (old special code) & 0x0F.
*/
-static ushort_t special_old_to_new[] = {
+static keymap_entry_t special_old_to_new[] = {
SHIFTKEYS,
BUCKYBITS,
FUNNY,
@@ -2109,15 +2124,14 @@ static int
kbtrans_setkey(struct kbtrans_lower *lower, struct kiockey *key, cred_t *cr)
{
int strtabindex, i;
- unsigned short *ke;
+ keymap_entry_t *ke;
register int tablemask;
- register ushort_t entry;
+ register keymap_entry_t entry;
register struct keyboard *kp;
kp = lower->kbtrans_keyboard;
if (key->kio_station >= kp->k_keymap_size)
-
return (EINVAL);
if (lower->kbtrans_keyboard == NULL)
@@ -2208,8 +2222,8 @@ static int
kbtrans_getkey(struct kbtrans_lower *lower, struct kiockey *key)
{
int strtabindex;
- unsigned short *ke;
- register ushort_t entry;
+ keymap_entry_t *ke;
+ register keymap_entry_t entry;
struct keyboard *kp;
kp = lower->kbtrans_keyboard;
@@ -2267,7 +2281,7 @@ static int
kbtrans_skey(struct kbtrans_lower *lower, struct kiockeymap *key, cred_t *cr)
{
int strtabindex, i;
- unsigned short *ke;
+ keymap_entry_t *ke;
struct keyboard *kp;
kp = lower->kbtrans_keyboard;
@@ -2308,7 +2322,7 @@ kbtrans_skey(struct kbtrans_lower *lower, struct kiockeymap *key, cred_t *cr)
return (EINVAL);
if (key->kio_entry >= STRING &&
- key->kio_entry <= (ushort_t)(STRING + 15)) {
+ key->kio_entry <= (STRING + 15)) {
strtabindex = key->kio_entry-STRING;
bcopy(key->kio_string,
lower->kbtrans_keystringtab[strtabindex], KTAB_STRLEN);
@@ -2326,10 +2340,10 @@ kbtrans_skey(struct kbtrans_lower *lower, struct kiockeymap *key, cred_t *cr)
* Get individual keystation translation as new-style entry.
*/
static int
-kbtrans_gkey(struct kbtrans_lower *lower, struct kiockeymap *key)
+kbtrans_gkey(struct kbtrans_lower *lower, struct kiockeymap *key)
{
int strtabindex;
- unsigned short *ke;
+ keymap_entry_t *ke;
struct keyboard *kp;
kp = lower->kbtrans_keyboard;
@@ -2360,7 +2374,7 @@ kbtrans_gkey(struct kbtrans_lower *lower, struct kiockeymap *key)
key->kio_entry = *ke;
if (key->kio_entry >= STRING &&
- key->kio_entry <= (ushort_t)(STRING + 15)) {
+ key->kio_entry <= (STRING + 15)) {
strtabindex = key->kio_entry-STRING;
bcopy(lower->kbtrans_keystringtab[strtabindex],
key->kio_string, KTAB_STRLEN);
diff --git a/usr/src/uts/common/sys/kbd.h b/usr/src/uts/common/sys/kbd.h
index a45c600750..c098d7a89d 100644
--- a/usr/src/uts/common/sys/kbd.h
+++ b/usr/src/uts/common/sys/kbd.h
@@ -26,8 +26,6 @@
#ifndef _SYS_KBD_H
#define _SYS_KBD_H
-#pragma ident "%Z%%M% %I% %E% SMI" /* SunOS4.0 1.18 */
-
#ifdef __cplusplus
extern "C" {
#endif
@@ -225,15 +223,15 @@ struct keyboards {
* keyboard struct appropriately.
*/
+typedef unsigned int keymap_entry_t;
#ifdef KEYMAP_SIZE_VARIABLE
-typedef unsigned short keymap_entry_t;
#else
#define KEYMAP_SIZE 128
struct keymap {
- unsigned short keymap[KEYMAP_SIZE]; /* maps keycodes to actions */
+ keymap_entry_t keymap[KEYMAP_SIZE]; /* maps keycodes to actions */
};
#endif
@@ -262,7 +260,7 @@ struct exception_map {
/*
* This is our translated version of the matching sequence.
*/
- unsigned short exc_entry;
+ keymap_entry_t exc_entry;
};
/*
@@ -319,26 +317,35 @@ struct keyboard {
struct compose_sequence_t {
unsigned char first; /* first ASCII char after COMPOSE key */
unsigned char second; /* second ASCII char after COMPOSE key */
- unsigned char iso; /* equivalent ISO code */
+ keymap_entry_t utf8; /* equivalent UTF-8 code */
};
/*
* Define the floating accent sequence structure.
*/
struct fltaccent_sequence_t {
- unsigned short fa_entry; /* floating accent keymap entry */
+ keymap_entry_t fa_entry; /* floating accent keymap entry */
unsigned char ascii; /* ASCII char after FA-type key */
- unsigned char iso; /* equivalent ISO code */
+ keymap_entry_t utf8; /* equivalent UTF-8 code */
};
/*
+ * The top byte is used to store the flags, leaving 24 bits for char.
+ */
+#define KEYCHAR(c) ((c) & 0x00ffffff)
+#define KEYFLAGS(c) ((c) & ~0x00ffffff)
+
+/*
* The "special" entries' top 4 bits are defined below. Generally they are
* used with a 4-bit parameter (such as a bit number) in the low 4 bits.
* The bytes whose top 4 bits are 0x0 thru 0x7 happen to be ascii
* characters. They are not special cased, but just normal cased.
*/
-#define SHIFTKEYS 0x100 /* thru 0x10F. This key helps to determine */
+#define SPECIAL(h, l) (((h) << 24) | (l))
+
+#define SHIFTKEYS SPECIAL(0x1, 0)
+ /* thru 0x10F. This key helps to determine */
/* the translation table used. The bit */
/* position of its bit in "shiftmask" */
/* is added to the entry, eg */
@@ -347,7 +354,8 @@ struct fltaccent_sequence_t {
/* toggled. Depending which tables you put */
/* it in, this works well for hold-down */
/* keys or press-on, press-off keys. */
-#define BUCKYBITS 0x200 /* thru 0x20F. This key determines the state */
+#define BUCKYBITS SPECIAL(0x2, 0)
+ /* thru 0x20F. This key determines the state */
/* of one of the "bucky" bits above the */
/* returned ASCII character. This is */
/* basically a way to pass mode-key-up/down */
@@ -366,33 +374,43 @@ struct fltaccent_sequence_t {
/* toggled. Depending which tables you put */
/* it in, this works well for hold-down */
/* keys or press-on, press-off keys. */
-#define FUNNY 0x300 /* thru 0x30F. This key does one of 16 funny */
+#define FUNNY SPECIAL(0x3, 0) /* thru 0x30F. This key does one of 16 funny */
/* things based on the low 4 bits: */
-#define NOP 0x300 /* This key does nothing. */
-#define OOPS 0x301 /* This key exists but is undefined. */
-#define HOLE 0x302 /* This key does not exist on the keyboard. */
+#define NOP SPECIAL(0x3, 0x0) /* This key does nothing. */
+#define OOPS SPECIAL(0x3, 0x1) /* This key exists but is undefined. */
+#define HOLE SPECIAL(0x3, 0x2) /* This key does not exist on the keyboard. */
/* Its position code should never be */
/* generated. This indicates a software/ */
/* hardware mismatch, or bugs. */
-#define RESET 0x306 /* Kbd was just reset */
-#define ERROR 0x307 /* Kbd just detected an internal error */
-#define IDLE 0x308 /* Kbd is idle (no keys down) */
-#define COMPOSE 0x309 /* This key is the Compose key. */
-#define NONL 0x30A /* This key not affected by Num Lock */
+#define RESET SPECIAL(0x3, 0x6) /* Kbd was just reset */
+#define ERROR SPECIAL(0x3, 0x7) /* Kbd just detected an internal error */
+#define IDLE SPECIAL(0x3, 0x8) /* Kbd is idle (no keys down) */
+#define COMPOSE SPECIAL(0x3, 0x9) /* This key is the Compose key. */
+#define NONL SPECIAL(0x3, 0xA) /* This key not affected by Num Lock */
/* Combinations 0x30B to 0x30F are reserved for non-parameterized functions */
-#define FA_CLASS 0x400 /* thru 0x40F. These are for "floating */
+#define FA_CLASS SPECIAL(0x4, 0)
+ /* thru 0x40F. These are for "floating */
/* accent" characters. The low-order 4 bits */
/* select one of those characters. */
/* Definitions for the individual floating accents: */
-#define FA_UMLAUT 0x400 /* umlaut accent */
-#define FA_CFLEX 0x401 /* circumflex accent */
-#define FA_TILDE 0x402 /* tilde accent */
-#define FA_CEDILLA 0x403 /* cedilla accent */
-#define FA_ACUTE 0x404 /* acute accent */
-#define FA_GRAVE 0x405 /* grave accent */
-
-#define STRING 0x500 /* thru 0x50F. The low-order 4 bits index */
+#define FA_UMLAUT SPECIAL(0x4, 0x0) /* umlaut accent */
+#define FA_CFLEX SPECIAL(0x4, 0x1) /* circumflex accent */
+#define FA_TILDE SPECIAL(0x4, 0x2) /* tilde accent */
+#define FA_CEDILLA SPECIAL(0x4, 0x3) /* cedilla accent */
+#define FA_ACUTE SPECIAL(0x4, 0x4) /* acute accent */
+#define FA_GRAVE SPECIAL(0x4, 0x5) /* grave accent */
+#define FA_MACRON SPECIAL(0x4, 0x6) /* macron accent */
+#define FA_BREVE SPECIAL(0x4, 0x7) /* breve accent */
+#define FA_DOT SPECIAL(0x4, 0x8) /* dot accent */
+#define FA_SLASH SPECIAL(0x4, 0x9) /* slash accent */
+#define FA_RING SPECIAL(0x4, 0xa) /* ring accent */
+#define FA_APOSTROPHE SPECIAL(0x4, 0xb) /* apostrophe accent */
+#define FA_DACUTE SPECIAL(0x4, 0xc) /* double acute accent */
+#define FA_OGONEK SPECIAL(0x4, 0xd) /* ogonek accent */
+#define FA_CARON SPECIAL(0x4, 0xe) /* caron accent */
+
+#define STRING SPECIAL(0x5, 0) /* thru 0x50F. The low-order 4 bits index */
/* a table select a string to be returned, */
/* char by char. Each entry the table is */
/* null terminated. */
@@ -410,11 +428,11 @@ struct fltaccent_sequence_t {
* the function key number within the group, and the next 4 bits indicate
* the group.
*/
-#define FUNCKEYS 0x600
-#define LEFTFUNC 0x600 /* thru 0x60F. The "left" group. */
-#define RIGHTFUNC 0x610 /* thru 0x61F. The "right" group. */
-#define TOPFUNC 0x620 /* thru 0x62F. The "top" group. */
-#define BOTTOMFUNC 0x630 /* thru 0x63F. The "bottom" group. */
+#define FUNCKEYS SPECIAL(0x6, 0)
+#define LEFTFUNC SPECIAL(0x6, 0x0) /* thru 0x60F. The "left" group. */
+#define RIGHTFUNC SPECIAL(0x6, 0x10) /* thru 0x61F. The "right" group. */
+#define TOPFUNC SPECIAL(0x6, 0x20) /* thru 0x62F. The "top" group. */
+#define BOTTOMFUNC SPECIAL(0x6, 0x30) /* thru 0x63F. The "bottom" group. */
#define LF(n) (LEFTFUNC+(n)-1)
#define RF(n) (RIGHTFUNC+(n)-1)
#define TF(n) (TOPFUNC+(n)-1)
@@ -431,25 +449,25 @@ struct fltaccent_sequence_t {
* where ESC is a single escape character and 0..9 indicate some number of
* digits needed to encode the function key as a decimal number.
*/
-#define PADKEYS 0x700
-#define PADEQUAL 0x700 /* keypad = */
-#define PADSLASH 0x701 /* keypad / */
-#define PADSTAR 0x702 /* keypad * */
-#define PADMINUS 0x703 /* keypad - */
-#define PADSEP 0x704 /* keypad, */
-#define PAD7 0x705 /* keypad 7 */
-#define PAD8 0x706 /* keypad 8 */
-#define PAD9 0x707 /* keypad 9 */
-#define PADPLUS 0x708 /* keypad + */
-#define PAD4 0x709 /* keypad 4 */
-#define PAD5 0x70A /* keypad 5 */
-#define PAD6 0x70B /* keypad 6 */
-#define PAD1 0x70C /* keypad 1 */
-#define PAD2 0x70D /* keypad 2 */
-#define PAD3 0x70E /* keypad 3 */
-#define PAD0 0x70F /* keypad 0 */
-#define PADDOT 0x710 /* keypad . */
-#define PADENTER 0x711 /* keypad Enter */
+#define PADKEYS SPECIAL(0x7, 0)
+#define PADEQUAL SPECIAL(0x7, 0x00) /* keypad = */
+#define PADSLASH SPECIAL(0x7, 0x01) /* keypad / */
+#define PADSTAR SPECIAL(0x7, 0x02) /* keypad * */
+#define PADMINUS SPECIAL(0x7, 0x03) /* keypad - */
+#define PADSEP SPECIAL(0x7, 0x04) /* keypad, */
+#define PAD7 SPECIAL(0x7, 0x05) /* keypad 7 */
+#define PAD8 SPECIAL(0x7, 0x06) /* keypad 8 */
+#define PAD9 SPECIAL(0x7, 0x07) /* keypad 9 */
+#define PADPLUS SPECIAL(0x7, 0x08) /* keypad + */
+#define PAD4 SPECIAL(0x7, 0x09) /* keypad 4 */
+#define PAD5 SPECIAL(0x7, 0x0A) /* keypad 5 */
+#define PAD6 SPECIAL(0x7, 0x0B) /* keypad 6 */
+#define PAD1 SPECIAL(0x7, 0x0C) /* keypad 1 */
+#define PAD2 SPECIAL(0x7, 0x0D) /* keypad 2 */
+#define PAD3 SPECIAL(0x7, 0x0E) /* keypad 3 */
+#define PAD0 SPECIAL(0x7, 0x0F) /* keypad 0 */
+#define PADDOT SPECIAL(0x7, 0x10) /* keypad . */
+#define PADENTER SPECIAL(0x7, 0x11) /* keypad Enter */
#ifdef __cplusplus
}
diff --git a/usr/src/uts/common/sys/kbio.h b/usr/src/uts/common/sys/kbio.h
index e306902855..294710c002 100644
--- a/usr/src/uts/common/sys/kbio.h
+++ b/usr/src/uts/common/sys/kbio.h
@@ -26,8 +26,6 @@
#ifndef _SYS_KBIO_H
#define _SYS_KBIO_H
-#pragma ident "%Z%%M% %I% %E% SMI" /* SunOS4.0 1.23 */
-
#ifdef __cplusplus
extern "C" {
#endif
@@ -146,7 +144,7 @@ struct kiockeymap {
/* SHIFTMASK, CTRLMASK, UPMASK, */
/* ALTGRAPHMASK) */
uchar_t kio_station; /* Physical keyboard key station (0-127) */
- ushort_t kio_entry; /* Translation table station's entry */
+ unsigned kio_entry; /* Translation table station's entry */
char kio_string[10]; /* Value for STRING entries (null terminated) */
};
diff --git a/usr/src/uts/intel/kbtrans/Makefile b/usr/src/uts/intel/kbtrans/Makefile
index f5d8214e6c..29e6fda4e6 100644
--- a/usr/src/uts/intel/kbtrans/Makefile
+++ b/usr/src/uts/intel/kbtrans/Makefile
@@ -63,9 +63,6 @@ INSTALL_TARGET = $(BINARY) $(ROOTMODULE)
LINTTAGS += -erroff=E_BAD_PTR_CAST_ALIGN
LINTTAGS += -erroff=E_ASSIGN_NARROW_CONV
-CERRWARN += -_gcc=-Wno-empty-body
-CERRWARN += -_gcc=-Wno-unused-braces
-
.KEEP_STATE:
def: $(DEF_DEPS)