  The Linux Keyboard HOWTO
  Andries Brouwer, aeb@cwi.nl
  v2.1, 8 November 1995

ܸƣμ(GFG02131@niftyserve.or.jp)

ʸˤϡLinuxܡɡü󥢥ʸˡ˴ؤ
򵭺ܤƤޤ

  1.  ˤĥץ

  ʲΥѥåˤϥܡɡüϢΥץबޤޤƤޤ

  kbd-0.90.tar.gz : loadkeys, dumpkeys, showkey, setmetamode,
  setleds, setfont, showfont, mapscrn, kbd_mode, chvt, resizecons,
  disalloc, getkeycodes, setkeycodes.

  util-linux-2.5 : setterm, kbdrate

  shellutils-1.8 (stty.tar.gz : stty

  open-1.1.tgz : open. (dynamic-vc-1.1.tar.gz

  SVGATextMode-0.9.tar.gz : SVGATextMode

  The X distribution : xmodmap, xset, kbd_mode.  (X386keybd(1))

  2.  ܡɤΤޤ

򲡤ȡܡɥȥ顼󥳡ɤ򥫡ͥΥܡ
ɥ饤С դޤܡɤˤϥץǽʪ⤢ޤ
ȥ󥳡ɤбϸȤʤäƤΤ̤ǤͥΥܡ
ɥɥ饤Сϡä򤽤Τޤޥץꥱã̤
ޤʥ󥳡ɥ⡼ɤξ硥X ѻʤɡˡޤܡɥɥ饤С
ϡ줿Ϥʤ줿˱ 󥳡ɤή򥭡
˥ѡ뵡ǽ̤Ƥޤ(ĲˡĤΥ󥳡
ޤˡƤĤ줿ɤϡץꥷ˰Ϥޤ
ʥɥ⡼ɤλ㤨 showkey ѤƤޤ˥ɥ⡼
ɰʳξˤϡɤ򥭡ޥåפǸбʸʸ
ץꥱ˰Ϥꡤޥåפ˵ҤƤ̿¹Ԥ
Ԥޤ㡧륭򲡤ˡܡɤ󥳡 0x1e,
0x9e ͤƤߤޤ礦Υɤϥ 30158Ѵ
ޤĤǤ 0141, ʤ ASCII 뤤latin-1  'a'֤
ޤ򲡤ƤӤϤʤȡܡ ϥ󥳡
 0xe0 0x53 0xe0 0xd3, ϥ 111239Ѵ졤Ĥ
ESC [ 3 ~ Ȥʸʤʸ֤ޤϤ⡤
US ܡɡ֤ΥޥåפȤΤǤ̿
ӥ͡˳꿶äˤϡCtrl-Alt-Del ޤ

setkeycodesȤ桼ƥƥѤС󥳡ɤȥɤ
бѹǤޤȤɬפˤʤ뤳ȤϵǤ礦
ɤʸʸ̿Ȥбʤޥåפѹˤϡ
loadkeys Ȥ桼ƥƥ ѤޤܤȤˤĤƤϡ
getkeycodes(8), setkeycodes(8), dumpkeys(1), loadkeys(1)γƥޥ˥奢ڡ


ǡ֥ץꥱ˰ϤפɽȤΤ˸Сüɥ饤
˰ϤפȤȤˤʤޤĤޤꤳϡꥢ륱֥
פ줿ƥȤξƱ褦˽뤳ȤˤʤΤǤ
ܺ٤˵ꤷƤΤϡsttyȤץǤ

  3.  Console generalities

ո˹ͤƤߤޤ礦ü˽ϤȤǽ˹ԤΤɸ
ttyץǤĤüɥ饤Сfedޤüɥ饤ФVT100
ߥ졼ȤƤꡤVT100ץ󥹤ǧǤ褦Ϥѡ
ޤʥư̾õʤɡˡץ󥹤˴ޤޤʤʸ
ϡޥåԥ󥰥ơ֥˽äѴޤӥǥ˽񤭹ޤ졤ӥ
ɤʸROMʸɽѤΤϤѴΥХȤʤ
ǤsetfontѤȼΥեȤʸɤ߹ꡤmpscrn
ȼΥޥåץơ֥ɤ뤳ȤǽǤܺ٤ˤĤƤϡʲε
򻲾ȤƤ

  4.  üΥꥻå

꡼ɽ㤯ˤʤäƤޤäꡤϤȥ
ʸǥХåƤޤʻˤϤɤФΤǤ礦

^L ǥ꡼褹褦ˤƤץϾʤޤ󡥥
फΥΥ䡤ץå꡼ɽ줿ˤϡεǽ
ΩĤȤǤ礦ꥢޥɤϡ꡼õ륳ޥɤǤ

ꥻåȡޥɤüɥ饤С ꥻåȤޤȤΤϡ
󤬴̯ʥեåʸԤ줿褦ʾǤɽԿʤ
ʤäƤޤäˤ⤳ˡнǤޤ

Υޥɤʤ硤뤤ϼ㴳̤εǽ̤ˤϡʲԤ
ʤ¹Էեäơѥ̤ä֤Ƥ

       #!/bin/sh
       echo -e \\033c

ǤϡESCc ΣʸüդƤޤѤäեȤɤ
ơΥեȤᤷˤϡ

       % setfont

¹ԤƤʽեȤ֤֤ƤȤɬפ
ˡ
췿üξ硤֤ޤϤ٤뤳ȤޤΤ褦ʾˤϡ
ʲΤ褦ˤƲʾܤϡstty(1)Υޥ˥奢ڡ򻲾ȤΤȡ

       % stty tab3

reseizecons  SVGATextModeѤСӥǥ⡼ɤѹ뤳ȤǤޤ
̾¦ѹäΤǤ¦ˤϤ꤬
ȤǤ礦X, DOOM  raw mode ѤƤץबå夷Ƥ
硥Υܡɤ raw modeʤ뤤mediumraw mode)Τޤޤˤʤ
ƤˤϡޥɤѤΤ񤷤Ǥ礦ʲΡraw
mode æˡפι⤪ɤߤ

  4.1.  ܡɤΥϡɥꥻå

LinuxΤʤ٥λϤޤʤ⤷ޤ󡥥٥
⾯ʤȤ⣲ζ̤(ܡɤȥܡɥȥ顼ˡ
ˡ "keyboard disable" ̿򥭡ܡɥϡɥã뤳Ȥ
ǽǤܡɤˤϡΥ󥳡ɥåȤΰĤѤ
˥ץǤΤ⾯ʤޤ󡥻ǰʤ顤Ȥä
ǤȤ¸ޤ

ܡɤˤϥޥåԥ󥰵ǽ¢ƤΤ⤢ޤStormy
Henderson(stormy@Ghost.Net) ᤫϡ֥ץൡǽܡɤ򤿤
ޤξʤ顤control-alt-suspend_macro ǡGateway Anykey Keyboard
ξɸ֤ΥܡɤǤޤפȤĺޤ

  5.  Delete  Backspace

  5.1.  ľ˥פʸõ뤿ˤɤΥѤ뤫ΤˤϤɤ
ФΤǤ礦

ʲΥޥɤ¹ԤƤ

       % stty erase ^?

ʸϾõƤΤΡưȤФˤϡtty˲
ְ㤤ޤechoprt򥻥åȤƤˤϡõ줿ʸ \fR 
/ ˶ޤƤޤechoe 򥻥åȤƤʤˤϡõʸ
åޤ# Τ褦ʰǽʸξˤϤ줬ŬäǤˡ
ʬΥ桼 stty echoe -echport ˤȹͤǤ礦 stty sane
ȤСʾΤȤ¸Ǥޤߤǧˤ stty -a
¹ԤƤ

ȤgettyȤäƤСΤޤޤǤޤϤǤ

ȼΥӥǥ󥰤Ԥץब¿bash, emacs etc.) Ȥդ
Ƥ( ~/.inputrc, ~/.emacs etc 褦ˤʤäƤޤ)
ץϡõʸ˱ƶޤ


  5.1.1. ޤǤ getty  DELBS ȽǤƤΤˡˤʤ
ƥˤʤäƤޤޤ

ĤƤϡDEL(177)򲡤 BS Space BS (10 40 10) üɥ饤СȯԤ
ޤߤǤ DEL ̵뤹褦ˤʤäƤޤʥɥ饤С
vt100򥨥ߥ졼Ȥ褦ˤʤäư褳ʤäƤޤˡDEL Ϥʤ
ͥ줿 gettyꤷƤ

  5.1.2.  ܤܤǡεưۤʤΤǤ

ǽΥˤϡgetty ѤޤФܤΥˤϡ
̤ΥץǤlogin ưޤưۤʤΤϤΤǤ

  5.2.  򲡤ȤLinuxɤΥɤ뤫ΤˤϤɤ
ΤǤ礦

üǤϡΤˤȤС(MEDIUM)RAW mode ѤƤʤüǤϡ

       % loadkeys mykeys.map



X ȤäƤˤ

       % xmodmap mykeys.xmap

¹ԤƤ

XFree86-2.1ʹߤXϡXΥޥåפLinuxΥޥåפɤߤ
褦ˤʤäƤޤʤLinux/XξƥϴߴǤϤޤ
xmodmap ;ʬˤʤäƤޤ礬¿ΤϤΤǤ

㤨СDelete Key ǤϤʤBackspace Key  ^H (Backspace)ȯ
褦ꤷˤϡΤ褦ˤƤ

       % loadkeys
       keycode 14 = BackSpace
       %

  5.2.1.  ʤǤϡBackspace  ^H(backspace)ȯԤ褦ˤʤä
ʤΤǤ

  (i) VT100 üǤϡDelete key  Enter key ξˤ뤫Ǥ

  (ii) Linus ᤬򤷤Ǥ

  5.3.  ؤ Delete and Backspace򴹤ˤϤɤФΤǤ礦

       % xmodmap -e "keysym BackSpace = Delete" -e "keysym Delete =
BackSpace"

Backspace  ^H(backspace)ȯԤ褦ˤʤ

       % xmodmap -e "keycode 22 = BackSpace"

Deletekey  Delete ȯԤ褦ˤʤ

  % xmodmap -e "keycode 107 = Delete"

¹ԤƤ

  (ʤ̤ϡ򴹺Ѥߤξ֤ͤˤʤäƤޡ

  5.4.

.emacs ե˰ʲΤ褦ʹԤդäƤ

         (global-set-key "\?" 'delete-backward-char)
         (global-set-key "\C-h" 'help-command)

Ʊ褦ˤơ̤Υ̤Υޥɤ˷礹뤳ȤǽǤ


 5.5.  emacs  Delete  Backspace򴹤뤿ˤϤɤФΤǤ


.emacs ե˰ʲιԤդäƤ

         (setq keyboard-translate-table (make-string 128 0))
         (let ((i 0))
         (while (< i 128)
             (aset keyboard-translate-table i i)
             (setq i (1+ i))))
         (aset keyboard-translate-table ?\b ?\^?)
         (aset keyboard-translate-table ?\^? ?\b)

5.6.  kermit  Delete  Backspace򴹤뤿ˤϤɤФΤǤ


.kermrc ե˰ʲιԤդäƤ

         set key \127 \8
         set key \8 \127

5.7.  xterm ˾tty modes˥åȤˡ򶵤Ƥ

̾xtermϵưtty mode Ѥޤxdmξ硤Ǥ#, @ 
줾õkill ʸȤʤäƤޤϸŤɤ Unix v.6̾Ĥ
줬˾ʤˤϡʲΤ褦ʹԤդäƤ

 /usr/lib/X11/app-defaults/XTerm 뤤 $HOME/.Xresources 

         XTerm*ttymodes: erase ^? kill ^U intr ^C quit ^\ eof ^D susp ^Z
start ^Q stop ^S eol ^@

$HOME/.xinitrc  xrdb $HOME/.Xresources ȤԤ뤳ȤȤ
ޤ

5.8. Backspace key  DELƤ뤳Ȥ xmosaic ãˡ򶵤


ʲιԤ$HOME/.Xresources դäФǤ礦

         *XmText.translations: #override\n\
                <Key>osfDelete: delete-previous-character()
         *XmTextField.translations: #override\n\
                 <Key>osfDelete: delete-previous-character()


ʤ netscape FAQ ϼΤ褦˽Ҥ٤Ƥޤ

(ѳ)

ƥȥեǥХåڡǽʤΤϤɤƤʤΤǤ礦
Linux,XFree86νϡХåڡäƤޤ
մϢΥץϤ٤(Netscape, NavigatorޤळȤϿ夲
ޤǤ⤢ޤƱ褦˸ưƤޤޤ

դεɽˤϡ֥Хåڡľʸõϼ
ʸõޤפȽ񤤤ƤޤLinux, XFree86ϤȤ⡤Хå
ξDeleteȯԤ褦ꤷƤޤ

н褹ˤϡxmodmap, xkeycaps, loadkeys Τɤ줫Ѥ
DeleteǤϤʤBackspaceȯԤ褦ˤФΤǤ

.motifbind եȤˡ⤢ޤܤϡVirtualBindings(3)
Υޥ˥奢ڡ

*XmText.translations  *XmTextField.translationsȤäơ
н褷ƤϤޤ󡥤ˡȤȡNetscape Navigator ¾Υƥ
եɥ꤬Ǥޤޤ

(ѽ)

  5.9.  termcap  terminfo ˤĤƶƤ

ХåڡǺǤͤ¿ΤǤã termcap
(terminfo)üѥȥ꡼ȤˤäƤΤǤΤˡˤϥХ
ڡˤä륳ɤ򵭽Ҥkb(kbs)ǽޤ
εǽȤʤƤץϾʤΤǤ̤ΥץǤ
꤬ȯȤ櫓ǤϤʤΤʤ顤ְ㤤ϻˤϤӤäƤΤǤ
礦termcap(terminfo)Υȥ꡼ȤΤϤͤ
ǤʲΡTERMѿפι⤪ɤߤ

  6.  üʸå

ͥϡü饹꡼󥷥ܥؤѴơ֥פ򣴼ॵݡȤ
ޤa) Latin1 -> PC,  b) VT100 եå ->  PC, c) PC -> PC, d) 桼
ΣĤޤ

G0, G1 ȤĤʸåȤꡤΤΤɤ餫֥ʸ
ȡפȤʤޤʽǤG0ȤǤˡG1 򥫥Ȥˤˤ ^N
G0 򥫥Ȥˤˤ ^O 򲡤Ƥ

G0, G1 ȤѿѴơ֥ꤹ뤿ΤΤǤꡤ桼٥
ѹ뤳ȤǤޤꤹơ֥ν G0  a) G1  b) 
ʤäƤޤG0ξ硤ESC ( B ESC ( 0 ESC ( U ESC (  K  a,b,c,d
ƥơ֥ǤޤG1ξˤϡESC ) B ESC ) 0 ESC ) U ESC )
K Ȥʤޤ

ESC c 󥹤üꥻåȤ뤿ΤΤǤ꡼ɽ
ˤʤä褦ʾˤѤ^V^O Ȥ褦ˡפȤҥ
Ϥ褯ΤƤޤG0 Ȥξˤǽޤ󡥤ޤ
G0  a)Ѵơ֥ȤäƤȤݾڤɤˤ⤢ޤreset(1)
ץƱƤLinuxۤ⤢ޤΥץ ^[c ȯ
ΤǤtermcapüѥȥ꡼:rs= Ȥȥ꡼
  ( ...?)

桼Ѵơ֥ꤹˤ mapscrn(8)Ѥޤsymbol s= map[c]
Ȥ硤c ӥǥդޤc Ȥܥ뤬
ǽʤΤǤ)s бӥåȥޥåסʸˤˤѹ
뤿ˤsetfont(8)Ѥޤ

  7.  ü

Ǥ, üؤ Alt-Fn or Ctrl-Alt-FnѤƹԤ褦ˤʤäƤޤ
XӺǿǤdosemuǤCtrl-Alt-Fn ǽޤ

XFree86 1.3 XɡڤؤȤAltƤ뤳Ȥǧ
ޤ äơ¨¤̤VT˺ڤؤ뤳ȤϤǤʤΤǤΤ
ˤϤޤAltΥɬפޤˤƱȤѤޤ
ĤޤꥫͥϾ٤ƤΥ˴ؤƤ줬Ƥ뤫ݤ
뤷Ƥޤ(ˤ³ϤޤΥ줿Ȥ˥
󥳡ɤȯԤʤ褦ʥܡɤ뤫ǤFOCUS 9000 ܡ
 PFnϤΰǤޤΥȤΥɤȯԤʤܡ
⤢ޤPause򤽤Τ褦˼갷äƤ륭ܡɤϾʤޤ
󡥡

XFree86 1.3 ϵưʸ˥ɤեȤ¸ؤü
ѤѤޤVTˤsetfontη̤ϡؤäФꤹݤ
ޤXsetfontѤȡ̯ʷ̤ȯƤޤǤ礦

chvtޥɤѤץΥȥ벼Ǥʤ顤ѹϲǽǤ

  7.1.  üֹѹ

μϤޤ֤ԤƤ褦ǤֲϤ⤦ʬ˽ФޤäƤ
ޤפȤΤǤv1.1.54ʹߤΥͥǤϡüֹϣݣ
ȤʤäƤޤü򥪡ץ󤹤ƱˡüĤޤü
뤿ˤ disallocȤ桼ƥƥȤޤʤǤ
Τϡü˴ϢץĤưƤʤǤˡ

Ťͥ򤪻Ȥξˤϡinclude/linux/tty.h ˤ뼡ΰԤѹ
ǡʤ63ۤˤϤʤǤˡͥƹۤƤ


  #define NR_CONSOLES     8

MAKEDEV 뤤 mknod ttyN c 4 N N ttyֹˤѤƥǥХʤ
Фʤʤ⤷ޤ󡥿VC getty 餻ˤϡ
/etc/inittab ˹ԤɲäƤ

üưŪ˥ȤǤˤϡݣĤ getty餻ƤΤ
ǤñʤǤ礦ʾü򥪡ץ󤹤ˤϡopen -l -s
bash ǲǽǤѤƤʤüʥץȷդƤʤüˤϡ
disalloc ǼȤǤޤ

kbd-0.90.tar.gz  spwan_login 򤪻ʤ顤

               loadkeys << EOF
               alt keycode 103 = Spawn_Console
               EOF
               spawn_login &

/etc/rc.local˽񤭹ǲ Alt-UpArrow loginäƤ
뿷VC Ǥؤ褦ˤʤޤ  open-1.3.tgz ⤴


/etc/secretty˵ܤƤü˥󤹤ˤϥ롼ȸ¤ɬפǤ

  8.  Ctrl-Alt-Del ¾ü쥭ӥ͡

  8.1.  Ctrl-Alt-Del (Boot)

Ctrl-Alt-Delʤ뤤loadkeys keysymBoot˥󤷤ˤ򲡤ȡ
¨¤˥֡Ȥ뤫sync ʤǡˡ뤤 init SIGINT 
뤫β줫λ֤ȯޤԤǤν
reboot()ȤƥॳѤѹǤޤˤϥ롼ȸ¤ɬ
Ǥinit SIGINTäȤ뤫ϡinitΥСǤ
¿ξ /etc/inittab ˤpf ȥ꡼ˤäƷޤޤʤʤ
ʥץ餻뤳ȤǤȤȤǤ)ǿͥξ硤
Ctrl-AltGr-Del ϤBootνꥭ˥󤵤Ƥޤ

  8.2.  ¾Ȥ߹碌

  ̾            
  -------------------------------
  Show_Memory     Shift-Scrollock
  Show_Registers  AltGr-ScrollLock
  Show_State      Ctrl-ScrollLock
  Console_n       Alt-Fn and Ctrl-Alt-Fn  (1 <= n <= 12)
  Console_{n+12}  AltGr-Fn                (1 <= n <= 12)
  Incr_Console    Alt-RightArrow
  Decr_Console    Alt-LeftArrow
  Last_Console    Alt[Gr]-PrintScreen
  Scroll_Backward Shift-PageUp
  Scroll_Forward  Shift-PageDown
  Caps_On         ȥ륭
  Compose         Ctrl-.

  8.3.  X Combinations

  Ctrl-Alt-Fn     VT n˥å
  Ctrl-Alt-KP+    Υ⡼
  Ctrl-Alt-KP-    Υ⡼
  Ctrl-Alt-Backspace       X

ޥܡɤˤ, Ctrl-Alt-KP-  Ctrl-Alt-KP+ ܥܥǽ̤
褦ˤʤäƤʪ⤢ޤҤΥӥ͡Ϥ줾쥹

1d 38 4a ca b8 9d 1d 38 4e ce b8 9dȯԤޤޤΥӥ
 Turbo (>= 25MHz) ⡼ɤ non-Turbo (8 or 12 MHz)ؤԤ
ʥޥܡɾΥѡŬڤꤷȤΤߡΥ
ͭ͡ȤʤȾ¿褦Ǥ)

Perry F Nguyen (pfnguyen@netcom22.netcom.com) ᤫϡAMI BIOS ˤϡ
ܡɥåǽLEDեå嵡ǽޤBIOS ѥɵǽˤ
äƤ֤ǡCMOS/BIOSѥɤϤޤ Ctrl- Alt-Backspace 
ȤεǽȤޤפȤĺפޤ

  8.4.  Dosemu Combinations

  Ctrl-Alt-Fn    VT n إå(version 0.50ʹߡΥСǤ
Alt-Fn)
  Ctrl-Alt-PgDn  dosemu (RAW keyboard mode)
  (ʳˤ˭٤ʥӥ͡ѰդƤޤܤdosemu
Ϣʸɤߤ

  8.5.  ܥ 

ʣΥȥʤ륷ܥ뤳ȤǤޤ

LeftAlt-press 򲡤 10ʿ 򥤥ץåȤ LeftAlt-Υ
10ˡɤܥ뤬ޤUnicode ⡼ɤξˤ⡤Ʊ
ᥫ˥बȤޤUnicodeѤƤ룴ΣʿѤɬ
ޤ

ȥʥǥåɥˤ³ʸ򲡤ȡդʸ
ޤȤ߹碌ƤʤˤϡȤʸ
˲ᤵޤɤΥǥåɥˤ뤫ϥ桼Ǥդ˷Ǥޤ
ͤϤޤ󡥥ǥåɥξ¸Ŀdead_grave, dead_acute,
dead_circumflex, dead_tilde, dead_diaeresisΣġˤloadkeys(1)Ѥ
ޤȤˤ̣뤫桼ͳǤޤ
åɥܥܥΤϡcomose+ ȥ + symbol Ǻä
ΤȤƱǤ

 # ӥ͡󥷥ܥϣĤΥܥȤ߹碌Ƿޤ桼
ϤȤ߹碌뤳ȤǤޤߤΤȤǤ68
Ȥ߹碌Ƥޤνͤϡ"dumpkeys | grep compose"
ɽޤ

# 1.3.33 ʹߤΥͥˤ sticky modifer keys Ȥǽޤ㤨С
^C  SControl ˡ CCtrl-Alt-Backspace SContrl, SAlt, Backspace Ȥ
Ѥ뤳ȤǤΤǤ

Ȥ߹碌ϾʤȤ⣳̤ˡǺǤޤ

1. Linuxܡɥɥ饤СΥᥫ˥Ȥloadkeys 

2. XΥᥫ˥Ȥ X386keybd(1) XFree86kbd(1)򻲾ȤΤȡX11R6
ξ /usr/X11R6/lib/X11/locale/iso8859-1/Compose Խ롥

3. emacs Υᥫ˥Ȥ"iso-insert.el"ɤ

Xξ硤ĤΥܥν֤ŪˤʤäƤޤ Compose-, -c ڤӡ
Compose-c ϶ c-cedilla ޤLinuxemamcξˤϡ
ǤϺǽȤ߹碌ˡǽʤ褦ˤʤäƤޤXξ硤
Ȥ߹碌ΥꥹȤϸꤵƤޤ LinuxemacsϤˤʤäƤ
ޤĤνꥹȤϤɤƤޤˤϺۤޤ

  9.  ü͡

ƥȯԤ륳ɵڤӣѻledˤĤƤϡloadkeys(1),
setleds(1), setmetamode(1) Υޥ˥奢ڡޤXѻˤ
Ƥϡxmodcap(1)Υޥ˥奢ڡ򻲾ȤƤ

̿طʿ꡼󥻡֡ʸԡȥ졼ȤˤĤƤϡ
setterm(1),kbdrate(8)򻲾ȤƤشĶˡؤˤĤƤ xset 
ؤǤϥå٥β̤Ǥޤ

ü˥ɥ쥹ĥץ¿ϡ/etc/termcapˤ ץ
ѤƤޤСϡ/usr/lib/terminfo ˤޤ
terminfo(5)򻲾ȤƤterminfo ե terminfo ѥ顼
/usr/lb/terminfo/tic ˤäƥѥ뤵Ƥޤ tic(1)⤴

ʬΥޥǤϡ /dev/device  /dev/tty0ؤΥܥå󥰤Ȥʤä
ޤäƥͥ /dev/tty0  VTƱ̣ǤȤߤʤޤ
XFree86 1.3  /dev/tty0ΥʡѹޤλˤꥻåȤ뤳
Ȥ⤢ޤ/dev/tty0 ΥʡäƤΤdumpkeyϤޤǽ
ʤǤ礦
Τ褦ʾˤϡޤǽX餻Ƥ

  10.  raw mode æˡ

K_RAW keyboard modeѤץˤϥܡɥ⡼ɤ K_XLATE
ᤵʤǽλƤޤΤޤʤȤʤˤΤѤǡ
Ctrl-Alt-DelޤǻȤʤʤäƤޤޤʤ餳ʤäƤ⡤ꥻ
ȥܥ򲡤˺ѤޤˡĤ뤳Ȥ⤢ޤʤϴäƤʤ
ȤǤHackäƤ˥֡Ȥ줿ΤǤïäƬ뤷
ξ奷ƥब»⤢ΤǤ˴ñʲˡϡ¾ü뤤
¾Υޥ󤫤󤷡kbd_mode -a ¹Ԥ뤳ȤǤ Xä
ʤ硤ʤǥץ졼ƥȥ⡼ɤbashΥץץȤȤ
ΤǤʲ˼ˡϡ˻ΥܡɤUSܡɤǡ
ʸ Ctrl-CȤȤˤΤǤ

ʳμXư롥򲡤ΥƤϤޤˡF12򲡤
ʤΥƤϤޤˡˤľ = 򲡤ƤX
ưϤǤʲ⡧륭򲡤ȤȯԤ륭ɤKǤ
ȤȡΥΥȤˤK+128ΥɤȯԤޤ
Υ϶餯ϥ饯갷ʤǤ礦äơ
ΥʳˤϤɤȯʤ褦ˤƤޤ
Ф䤯ʤȡԡȤϤޤäƤޤޤ10ˡ2 ޤǤΤ
ΤƤƤޤǽCtrl-CȯԤޤF12  X = ϥ꥿
ޤˤΥ꡼ϤäȳˤʤäƤ뤳ȤǤ礦
.xinitrc ꤷƤʤǤǤ Ctrl-Alt-FnϵǽΤǡ̤
VTؤ뤳ȤϲǽǤ(Ctrl-Alt-BackspaceȤޤX 鳰ؽФ
ޤޤĤޤȤξ֤äƤޤΤǤϤ˾ߤˤʤʤ
ȤǤ礦

ʳܡɥ⡼ɤѹ롥㤨С"sleep 5; kbd_mode -a"Ǽ¹
Ǥޤ

軰ʳ٣ؤΥ롥XˤAlt-Fx(Alt-F7Ǥ礬¿ˡX
Υˤ Ctrl-Alt-Backspace ѤޤðˡܡɤϺƤӻѲ
ǽʾ֤ˤʤϤǤ

νƤˤϡ215A301 (3ܥˤkbd_mode
-a ΥꥢꤷƤȤ褤Ǥ礦Ƥ F7 (3ܥ
áǡ֤줤ʿΡפޤ

  11.  TERM ѿ

TERMѿڤ /etc/termcap, /usr/lib/terminfo/* Υǡ١Ѥơ
꡼õưդʸꤷꡤ桼Хåڡ
ե󥯥󥭡򲡤ȤդʸꤷƤץ
Ͼʤޤ󡥤ͤǽꤹΤϥͥǤü
ѡˡ̾ѿ gettyǥꥻåȤǤޤκݤˤϡ/etc/inittab 
ꡤ/etc/ttytypeѤޤ /etc/profileTERMѿꤹ
ޤ

Ťƥ TERM=console 뤤 TERM=con80x25 ȤѤƤޤ
Фncurses 1.8.6 ȤäƤ˿ƥϤΤ
TERM=linux 뤤 TERM=linux-80x25 ꤹ褦ˤʤäƤޤ
顤ŤǤsetterm TERM=con* å褦ˤʤäƤΤǡ
TERM=linuxǤϤޤǽޤ

1.3.2ʹߤΥͥǤϡTERM=linux ͥνȤʤäƤޤ

Linux Ф륨ȥ꡼ʤtermcapȤäƤˤϡüѥȥ꡼
linux ȤɲäƤ

               console|con80x25|linux:\

ˡ make /usr/lib/terminfo/l/linux /usr/lib/terminfo/c/console˥ԡ
뤫˥ܥå󥯤ĥäƤ

  11.1.  Terminfo

ncursex 1.8.6 ʹߤlinuxüterminfo ȥ꡼ˤϡkich1=needed Ȥ
ȥ꡼ƤޤΥȥ꡼ɬפʥץ⤢Τǡե
Խtic ǥѥ뤷Ƥ

  12.  ¾ΥץASCIIʸ갷ˤϤɤФΤǤ礦

ĤƤϤɤ褦ʤ褦ʤҤɤ夬äΤǤκϡץ
ĤŤĤ˼äơ󥢥ʸȤ褦ˤʤФʤʤä
Ǥ٤ƤñˤʤäȤϤʤˤƤ⡤Ǥgnu Υ桼ƥƥ
ˤ LC_TYPE=iso_8859_1  LC_TYPE=iso-8859-1ȤȿΤ¿
ʤäƤޤޤᤷƤߤޤ礦Ƥ⤷äȤˤϡʲΥ
ȤɤǤߤƤ

ޤǽˡͥϥץӥåȤ̤褦ˤɬפ
ޤstty cs8 -istrip -parenb åȤ뤳ȤǧƤ

A. emacsξ硧$HOME/.emacs ˰ʲιԤɲäƤ

               (standard-display-european t)
               (set-input-mode nil nil 1)
               (require 'iso-syntax)

  ιԤɬפǤ礦

               (load-file "iso-insert.el")
               (define-key global-map [?\C-.] 8859-1-map)

(ǸιԤ xterm ǤϵǽʤǤ礦emacs -nw ѤƤˤϡ
ʲιԤ򤴼ʬ.XresourcesɲäƤߤƤ

               XTerm*VT100.Translations:       #override\n\
               Ctrl <KeyPress> . : string("\0308")

B. lessξ硧Ķ LESSCHARSET=latin1 äƤ

C. lsξ硧, -NץդƤ (ꥢꤹΤ褤
礦

D. bash (version 1.13.*)ξ硧ʲ$HOME/.inputrc դäƤ

               set meta-flag on
               set convert-meta off

  Danish HOWTOˤ

               set output-meta on

  ɬפȤΤȤǤ

E. tcshξ硧ʲԤäƤ

               setenv LANG     US_en
               setenv LC_CTYPE iso_8859_1

ȤΥƥबnlsƤ褦ʤ顤б롼ƥѤƤ
ޤnls ʤƥξˤϡLANG  LC_CTYPE ɤꤷƤ⡤tcsh
 iso_8559_1 ꤵƤΤȽǤƤޤޤܤϡtcsh(1)
ޥ˥奢ڡ NATIVE LANGUAGE SYSTEM ιɤ߲Danish
HOWTO ˤϡsetenv LC_CTYPE ISO-8559-1; stty pass8 ȤФ褤ȵܤ
ޤ

F. flexξ硧ѡ8ӥåȤǤ뤳Ȥ狼äƤ
ˤϡ -8 ȤץդäƤ

G. elmξ硧displaycharset  ISO-8859-1ꤷƤ (Danish HOWTO
LANG=CLC_CTYPE=ISO-8859-1Ȥ褦˻ؼƤޤ)

 H. lynx Τ褦 curses Ȥץ˴ؤDavid Sibley ϡ̾
cursesѥåϡ⼡ӥåȤӥǥ⡼Ѥͽ󤷤Ƥޤ
/usr/include/curses.hˤflag _STANDOUT Ĵ٤Ƥˤ
ncusres ʤ8ӥåȤ򥯥꡼ˤƤ褦ʤΤǡiso-latin-8859-1
ɽǤޤפ𤷤Ƥޤ

I. man Τ褦 groff Ȥץξˤϡ -Tascii 夨 -Tlatin1
Ȥ褦ˤƤŤǤ man  col ȤäƤޤ col ˤĤ
Ƥ ޤ

J. colξˤϡ1) setlocale(LC_CTYPE,"")Ԥȶˡ2)
LC_CTYPE=ISO-8859-1 Ķѿ˴ޤ褦ˤƤ

K.rlogin ξˤ, -8 Ȥץꤹ뤳ȡ

L. joe ξ硧
sunsite.unc.edu:/pub/Linux/apps/editors/joe-1.0.8-linux.tar.gz ϡե
 ԽлȤ뤽Ǥ/isr/lib/joerc κǽΥ -asis 
򤪤ФȤͤ⤤ޤ

M. LaTeXξ: ocumentstyle[isolatin]{article}.  LaTeX2eξ:
ocumentclass{article}sepackage{isolatin} ȤƤisolatin.sty 
ftp://ftp.vlsivie.tuwien.ac.at/pub/8bit ˤޤ

grasp.insa-lyon.fr:/pub/faq/fr/accents ISO-8859-1 ꡤ8-bitʸμ갷
ˡʸǤ(ե󥹸Ǥ)Ѹǽ񤫤줿ΤȤƤϡ
rtfm.mit.edu:pub/usenet-bygroup/comp.answers/character-sets/iso-8859-1-faq
ޤޤ̤ΡʡʸȤƤϡ
ftp.vlsivie.tuwien.ac.at:/pub/8bit/FAQ-ISO-8859-1ޤ

  13. XFree86-2.1  keymapȤΤˤϤɤʤȤäƤ
ΤǤ

С2.1ʹߡXFree86 ϲǽʸ¤LinuxkeymapѤXѤkeymap
褦ˤʤäƤޤȤϤäƤ⡤Linux ˤϥĤ16Υ
꡼shift, AltGr, Ctrl, Alt Ȥ߹碌ˡ 256Υȥ꡼
뤳ȤˤʤΤФXˤϥĤꣴĤΥȥ꡼Shift, ModȤ
碌ˤޤ󡥽äơƤޤ󤬤Τפޤ

X ϤޤǽˡXconfig Ȥեɤ߹ߤޤǤLeftAlt,
RightAlt, RightCtl, ScrollLock γƥ줾 Meta, ModeShift, Compose,
ModeLock뤤ScrollLock ȤƤ뤫⤷ޤ󡥾ܤϡ
X386keybd(1), XFree86kbd(1)Υޥ˥奢ڡɤ߲

RightCtl ModShift뤤 ModeLockƤʤ¤ꡤLeftAltMod 
ʤäƤޤRightCtl ModShift/Modelock ˤʤäƤˤϡRightCtl
Mod ˤʤޤRightAlt Mod ƤϡRightAltMod ˤʤ
ޤLinuxΥ16ΰ̣XFree86ɤ4򤹤뤫ϡ
ˤäƷޤޤLinux  ĤCtrl/Shiftζ̤򤷤ʤ
褦ʽѤƤޤX Ϥ줾줳Ĥ̤Ƥޤ

Ĥǥͥkeymapɤ߹ߡб꤬ޤϤ
ʤΤǤ"action keys" Show_Memory, Show_State, Show_Registers,
Last_Console, Console_n, Scroll_Backward, Scroll_Forward, Caps_OnBootˤ
Фӥǥ󥰤̵뤵ޤǥåɥƼå (ShiftLock
),  "ASCII-x" keysƱͤ˼갷ޤ

³ơXconfig եѤޤʤĤޤꡤXconfig ι
Linux keymapͤ񤭤뤳ȤˤʤΤǤ

ե󥯥󥭡ȴϢŤ줿ʸϤɤʤΤǤ礦ɤˤʤ
ȤΤǤXˤϤǰʤǤxterm ǵǽ
ʸ뤳ȤϲǽǤǽ˼Τϥɡ
͡㡼ȤȤ˺ʤ褦ˤƤ

Ԥϡɤˡxterm X keymapѤ褦ˤʤΤ¸ޤ

Alt 줿ȤˤXkeymapѤʤФʤʤȤȤxterm
ɤΤ褦ˤΤΤԤϾΤƤޤ
ɤeightBitInputå,ͤ˱ơʸι⼡ӥå
򥻥åȤ뤫(setmetamode(1) üˤƹԤ褦ˡEscapeʸդ
ä뤫Τ줫ԤäƤ褦Ǥ

  14.  ̤Ȥϰۤʤ륭ܡ

PrintScrn/SysRq  Pause/Break ĤΥϡ줾쥭ɤĤ
Ȥ¾ΥȰۤʤäƤޤԤ Alt Ʊ˲Ȥˤϥ
84ʳλˤϥ99ȯԤޤޤԤCtrlƱ˲
Ȥˤϥ101ʳΤȤˤϥ119Ȥʤޤʽäơ
Alt-99Ctrl-119˵ǽ꿶äƤ̵̣Ǥ

Linux ΤȤǤϥɤʤ褦ü쥭ʤ뤤
"unrecognized scancode" Ȥäå֤ˤǤ⡤Υ
뤬1.1.63ʹߤʤ顤setkeycodes(1)Ȥäƥͥˤü쥭ˤĤ
ξϤȤǤޤʤXǤϤμѤޤ
setkeycodesƥɤʤ顤loadkeys ȤäƵǽ
뤳ȤǤޤ

  15.  loadkeys  xmodmap λ

ܡɾCaps Lock  Control 򴹤ˤϰʲΤ褦ˤƤ
ʥޥå0-15λѤȤƤޤdumpkeys | head -1 ǥå
Ǥޤ

         % loadkeys
         keymaps 0-15
         keycode 58 = Control
         keycode 29 = Caps_Lock
         %

  X ξѹʤ顧

         % xmodmap .xmodmaprc

OKǤ  .xmodmaprc ˤϰʲιԤޤޤƤΤȤޤ

         remove Lock = Caps_Lock
         remove Control =  Control_L
         keysym  Control_L  =  Caps_Lock
         keysym  Caps_Lock  = Control_L
         add Lock = Caps_Lock
         add Control = Control_L

ʥС󥰤ϰΤɤʤäƤΤǤ礦ХåڡLinux ˤ
Ƥ14ʤΤXǤ22ʥСϤǤˤĤƤȹͤƤۤ
Ǥ礦LinuxΥֹ showkey(1)ǡ XΥֹ xdv(1)ȤĴ
٤ޤLinuxΥֹ8äΤ XΥֹˤʤäƤ뤳Ȥ¿
褦Ǥ

  15.1.  ܤλؤǤפǤʤΤǤƱʣΥ򲡤ʤ
ΤǤ

Shift, Ctrl, Alt γƥȥ륭ˤǤ뤫ȤȤǤ͡ʲΤ褦
ˤвǽǤ

       % loadkeys
       keycode 29 = Control_Lock
       keycode 42 = Shift_Lock
       keycode 56 = Alt_Lock
       %

  Ctrl, Shift, Altȥ륭ˤʤޤֹshowkey Ȥ
Ǥޤ̾ϡȥ29,97եȡ42,54
ȡ54,56ȤʤäƤޤ˵ǽ̾Ϥ줾Control_Lock, Shift_Lock, Alt_Lock,
ALtGr_Lock.Ǥ

'sticky' modifer keys ȤΤϲǤ礦1.3.33ʹߤΥͥ˼
줿ǽǤkbd ѥåϤޤȯɽƤޤ󡥽äơ
stick modifier keys ѤˤϡʲΤ褦16ˡɤƤ
뤷ޤ

       % loadkeys
       keymaps 0-15
       keycode 54 = 0x0c00
       keycode 97 = 0x0c02
       keycode 100 = 0x0c03
       %

ǱshiftCtrlAltбsticky version ˤʤޤ

  16.  ӥǥ⡼ɤѹ

ԤΤ¤ꣶˡޤ

1.  ѥ :  /usr/src/linux/Makefile.ΰʲιԤѹ롥

               SVGA_MODE=      -DSVGA_MODE=NORMAL_VGA

1A. ѥ: rdev -v - a ¹Ԥ롥ҤɤϥåŪˡǤȤ

2. ֡Ȼ: liloե vga=ask դäƤ lilo
video mode 䤤碌Ƥ褦ˤʤޤŬڤʥ⡼ɤ狼С
vga=mypreference 򤷤Ƥ

󥿥ࡧA.resizecons ޥɤȤˡʤ϶ˤƸŪ
VT_RESIZE ioctl ΥåѡǤB.SVGATextMode ޥɤȤˡʤ
VT_RESIZE ioctal ΤʥåѼǤ

ü׾ˤʤȤdosemu svgalib ѤƤˤϡü
饤С뤳Ȥʤϡɥӥǥ⡼ɤѹ뤳ȤǤޤ
ˡϡresizecon  SVGATextMode Τͭʾ礬
dosemu  DOS ץȤäƴ˾ӥǥ⡼ɤѹ
ǥϡɥ쥸Ƥ¾VT˥פ resizecons 
SVGATextMode ɬפȤƤȤѤƤdosemuư
ˤϡBIOSΥӥǥ⡼ɤȤΤǡȤʤ褦ʥӥǥ⡼ɤˤʤ
⤢ޤξˤϡkill -9 Ȥädosemu λΤǤñ
ʲˡǤ


  16.1. resizecons λȤ

svgalib ꤷrestoretextmode Ȥץ򥳥ѥ뤷Ƥ
Υޥǽʤ٤ƤΥӥǥ⡼ɤǥ֡ȥåפliloե
vga= ȤԤ vga=ask ꤷƤˡӥǥΥϡɥ쥮
ƤCxR եC=, R=Կ㤨80x25, 132x44 )˽񤭹
ĤǡΥե /usr/lib/kbd/videomodes ˥ԡƤ
 resizecons 132x44 ¹ԤХӤǥ⡼ɤѹǤ褦
ʤޤSIGWINCH ɬפץդƤ̤ΥեȤɬ
ʾˤϤɤƤ

ΤȤresizecons ǽΤϿξ󥽡ѤΥƱ˳
Ǥ˸¤Ƥޤ

  17.  ܡ ԡȥ졼Ȥѹˡ

֡ȥå׻Linux ͥϡԡȥ졼Ȥꤷޤͤϡ
ۤȤɤΥܡɤˤȤäŬڤͤǤǤƱʸ򲿲ⷫ
֤ƤޤȤͤ⤤뤫⤷ޤ󡥤ˤ kbdrate(8)Ȥ
ץѤơԡȥ졼ȤѹƤˡޤ
ʤˤϡ/usr/src/linux/[arch/i386/]boot/setup.S.ΰʲʬԽ
ФǤ礦

  ______________________________________________________________________
       ! set the keyboard repeat rate to the max

           mov     ax,#0x0305
           xor     bx,bx           ! clear bx
           int     0x16
  ______________________________________________________________________


  18.  ꡼󥻡

setterm -blank nn ¹ԤСnn ʬԳ֤³˥꡼ä
褦üɥ饤СǤޤnn 0ˤȡ꡼󥻡ֵǽϥ
դˤʤޤŤͥˤϡΥܡɳߤä˽
ơ꡼󥻡ֵǽƯ褦ˤʤäƤΤ⤢ޤ

X Υ꡼󥻡֤ꤹ뤿ˤ xset(1) s ץѤޤ

ӥǥϡɥΥѥӥ󥰵ǽ򥪥󡦥դ뤿ˤϡ
setvesablankȤץѤޤ
/usr/src/linux/drivers/char/vesa_blank.cƬΥʬɤߤ

  19.  VT100ν° - application key mode

  : ޥ륭̯ʥɤȯԤΤǤ

ü application key mode ˤʤäƤ硤륭 ESC 0 x ȯ
ޤ application key mode ˤϡESC [ x Ǥξˤ x
ˤ A,B,C,D ΰʸޤˡü Ūapplication key mode
ˤץ⤢ޤץ kill -9 ߤ硤
뤤ϤΥץबå夷ˤ⡤key mode ꥻåȤ


          % echo -e '\033c'

¹ԤϡVC°ꥻåȤǤޤץꥱ⡼ɤ
ѹǤΤʤ顤


          % echo -e '\033[?1h'  (Ʊ⡼ɤ򥻥å)

          % echo -e '\033[?1l'  (Ʊ⡼ɤ򥯥ꥢr)

ȤƤ

  20.  ϡɥߴ

֥ͤեåԡǥưƤȤˡפʸ
ޤפȤĺƤޤϡUni-486MB ޥܡȤΤ褦
ǤƱƤȤؤꡤΥޥܡɤǤپϤʤ
̤ΥޥǤƱ꤬ȤŦԤƤޤ


ܡɤåȤ𤬿󤻤Ƥޤϡɥǥ˴ط
Ƥ硤¾I/OȤ꤬ޤ

ulf@rio70.bln.sni.de (Ulf Tietz) ᤫϡ֥ޥܡɤΥ塼ʥåפ
ꤹȡƱ꤬ͤȯ롥CLK, wait statements ʤɤΥߥ
򤹤٤Ƥ겺ʤΤ᤹ȡϤʤʤäפȤ𤬤ޤ

bhogan@crl.com (Bill Hogan)ᤫϡAMI BIOS ȤäƤˤϡchipset
ˤGate A20ߥ졼󤬥ˤʤäƤ뤫⤷ޤʤΥ
󶡤ƤˡΥޥξ硤Υץɤꤷ
Ƥfast, both, disabled)ܡɤåȤ꤬Фȯ
ޤפȤ𤬤ޤ

  --------------------------------------------------------------------

  ɲþ򴿷ޤޤ Andries Brouwer - aeb@cwi.nl

