Newsgroups: fj.sys.news
Path: galaxy.trc.rwcp.or.jp!coconuts.jaist!wnoc-tyo-news!aist-nara!yasufu-i
From: yasufu-i@is.aist-nara.ac.jp (Yasufumi Itou)
Subject: Re: ALT key on console
Message-ID: <CzH6Kx.DxD@newspost.aist-nara.ac.jp>
Sender: news@newspost.aist-nara.ac.jp (USENET News System)
Nntp-Posting-Host: alpha416.aist-nara.ac.jp
Organization: Nara Institute of Science and Technology
X-Newsreader: mnews [version 1.18PL3] 1994-08/01(Mon)
References: <INETNEWS-1-17-8.00120@niftyserve.or.jp>
	<KOMEDA.94Nov18171554@yebisu.ics.es.osaka-u.ac.jp>
Date: Fri, 18 Nov 1994 18:12:33 GMT
Lines: 73
Xref: galaxy.trc.rwcp.or.jp fj.sys.news:2986
X-originally-archived-at: http://galaxy.rwcp.or.jp/text/cgi-bin/newsarticle2?ng=fj.sys.news&nb=2986&hd=a
X-reformat-date: Mon, 18 Oct 2004 15:18:22 +0900
X-reformat-comment: Tabs were expanded into 4 column tabstops by the Galaxy's archiver. See http://katsu.watanabe.name/ancientfj/galaxy-format.html for more info.

  $B0KF#$H?=$7$^$9!#(B

<KOMEDA.94Nov18171554@yebisu.ics.es.osaka-u.ac.jp>$B$N5-;v$K$*$$$F(B
komeda@ics.es.osaka-u.ac.jp$B$5$s$O=q$-$^$7$?!#(B

> >>>>> In article <INETNEWS-1-17-8.00120@niftyserve.or.jp>,
> $B:45W4V(B $BNI(B <KHB10110@niftyserve.or.jp> writes:
> 
> > ALT$B%-!<$r2!$9;v$K$h$j!"2?$i$+$N%3!<%I$,$G$F$/$l$l$P(Bemacs$BB&$GBP=h2DG=$@(B
> > $B$H;W$o$l$^$9$,!$;d$N5!3#$G$O2?$bJV$5$l$^$;$s$N$G(BOS$BB&$GBP=h$9$k$N$+$bCN(B
> > $B$l$^$;$s!%$G$bDL>o$O(BX$B$G$N;HMQ$rA[Dj$7$F$$$k$G$7$g$&$7!$%@%a$J5$$b$7$^(B
> > $B$9(B($B%,%C%+%j(B)$B!%(B
> 
> $B$b$7!$%+!<%M%k$G(B newsbm/keytbl.c $B$r;H$C$F$$$k$J$i!$$3$l$r%4%j%4%j=q$-(B
> $B49$($l$P!$$I$&$K$+$J$k$+$bCN$l$^$;$s!%$&$A$G;H$C$F$$$k(B NWS-3470 $B$G$O!$(B
> $B$3$3$G(B[$B$+$J(B]$B%-!<$r;&$7$F$"$j$^$9(B ^_^

# $B$O!"$=$&$9$l$P(B [$B$+$J(B] $B$,;&$;$?$N$+(B!!

$B;d$O(B NWS-711 (NEWS-OS 4.1C) $B$7$+;H$C$?$3$H$,$J$$$N$G$9$,!"(B
<newsiop/keyboard.h> $B$K$"$k(B ioctl(KBIOCSETTBL) $B$,;H$($^$7$?!#(B
# $B$^$"!"%+!<%M%k$r$$$8$k$N$HF1$8$h$&$J$3$H$G$9$,!#(B

$B;H$$J}$O!"$($($C$H!D(B

$B2<$NNc$O!";d$,<B:]$K(B SHIFT-ESC $B$r%A%k%@$K!"(BCTRL-'-' $B$r(B ^_ $B$K(B
$B$9$k$?$a$K;H$C$F$$$?$b$N$G$9!#(B
key_flags $B$K$R$?$9$i(B A $B$rDI2C$7$F!"(Balt $B$N%U%#!<%k%I$r%4%j%4%j$H(B
$B=q$1$P!"(B ALT $B%-!<$,;H$($k$h$&$J$k$G$7$g$&!#(B
$B%-!<$N%3!<%I$O(B newsbm/keytbl.c $B$r8+$F$/$@$5$$!#(B

# $B$H$3$m$G!"%-!<%F!<%V%k$rFI$`(B ioctl() $B$O$J$$$_$?$$$G!"(B
# $B;d$O(B /dev/kmem $B$r(B open $B$7$FFI$s$G$7$^$C$?!D!D!D!#(B
--
$B0KF#(B $B9/;KB4O@$O(B NWS-711 $B>e$G=q$$$?!#(B

/*
 *customize NEWS keyboard mapping
 */

#include <sys/ioctl.h>
#include <newsiop/keyboard.h>

#define KBD_DEVICE"/dev/keyboard"

Key_tab_info key_table[] = {
/* #key_flagsnormalshiftctrlaltkanakshft */
  11, {N|S|C|K|J|O,0x1b,'~',0x1b,0,0x1b,0x1b},
  22, {N|S|C|K|R|ALT_FUNC,'-','_',0x1f,0,0xce,0},
  -1, { 0, 0, 0, 0, 0, 0, 0}/* end mark*/
};

int
main()
{
int kbd;/* file discriptor for keyboard */
Key_tab_info *keyp;/* key number - mapping pair */
int knum;/* key number */

kbd = open(KBD_DEVICE, 0);
if (kbd == -1) {
perror("open(keyboard)");
return 1;
}
for (keyp = key_table; keyp->key_number >= 0; ++keyp) {
if (ioctl(kbd, KBIOCSETTBL, keyp) == -1) {
perror("ioctl(keyboard, KBIOCSETTBL)");
return 1;
}
}
close(kbd);
return 0;
}
