[comp.unix.sysv386] ESIX problem: ioctl

pirx@wedel.hanse.de (Jan Hinnerk Haul) (11/25/90)

I have a problem with ESIX Rev.D regarding a user-defined keyboard map:
The ioctl most useful for this purpose is

[sys/kd.h]

/*
 * Structure of keyboard translation table
 */
#define NUM_KEYS	256		/* Maximum number of keys */
#define NUM_STATES	8		/* Number of key states */
#pragma pack(2)
typedef struct {
	short  n_keys ;			/* Number of entries in table */
	struct key_t {
		unsigned char map[NUM_STATES];	/* Key code for each state */
		unsigned char spcl;	/* Bits marking states as special */
		unsigned char flgs;	/* Flags */
	} key[NUM_KEYS+1];		/* One entry for each key */
} keymap_t;
#pragma pack()

/* Defines for Xenix keyboard and display ioctl's */

#define GIO_KEYMAP	(MIOC | 6)	/* Get keyboard map table */
#define PIO_KEYMAP	(MIOC | 7)	/* Set keyboard map table */

This doesn't seem to work. Although the ioctl is not documented in the 
manuals, I would like to use it to build better support for non-US key-
boards. The (documented) ioctl KDSKBENT does work but since a) its use
is much more complicated and b) the PIO_KEYMAP works in the also AT&T
SysV/386 R3.2-derived EURIX system (a german implementation), as well
as in SCO UNIX, I would like to know if there is a workaround?

Please post any useful comments here. Please do *not* send me long mails, 
since I have to pay for it.

Best regards
Jan

-->
Jan Hinnerk Haul		Hinter jedem guten Paradoxon steckt ein Kreter -
+49 4103 15427 voice		und wenn er noch so kurze Beine hat. DRH