  The Linux Keyboard and console HOWTO
  Andries Brouwer, aeb@cwi.nl
  v2.1, 8 November 1995
  , GFG02131@niftyserve.or.jp
  v2.1j, 8 November 1995

  {ɂ́CLinuxL[{[hE[CєAXL[̗p@Ɋւ
  LڂĂ܂D

  : ͂̕ȂȑOɏꂽ̂Ȃ̂ŁA܂ǂ Linux 
  ɂ͂Ă͂܂Ȃӏ܂B (JF Project)

  1.  ɂvO

  ȉ̃pbP[Wނɂ̓L[{[hE[֘ÃvO܂܂Ă
  D

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

  o  util-linux-2.5 eF setterm, kbdrate

  o   shellutils-1.8 (stty.tar.gzj eF stty

  o  open-1.1.tgz eF open. (dynamic-vc-1.1.tar.gzj

  o  SVGATextMode-0.9.tar.gz eF SVGATextMode

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

  2.  L[{[ĥ܂

  L[ƁCL[{[hRg[[XLR[hJ[l̃L[
  {[hhCo[ ɑt܂DL[{[h̒ɂ̓vO\ȕ
  ܂CL[ƃXLR[h̑Ή͌ŒƂȂĂ̂ʂłD
  J[l̃L[{[hhCo[́C󂯎̂܂܃AvP[
  Vɓ`Bʂ܂iXLR[h[h̏ꍇDX gp
  ȂǁjD܂L[{[hhCo[́CL[ꂽE͂Ȃꂽɉ
  C XLR[h̗L[R[hɃp[X@\ʂĂ
  (L[ɁCU̃XLR[h𐶐܂jD

  ĂꂽL[R[h́CAvVɈn܂iL[R[
  h[h̎DႦ showkey pĂ܂jL[R[h[h
  Ȍꍇɂ́CL[R[hL[}bv̒ŌCΉ镶E
  AvP[VɈnCL[}bvɋLqĂ閽߂s
  Ƃs܂D

  iFL[ɁCL[{[hXLR[h 0x1e, 0x9e 
  ꍇlĂ݂܂傤D̃R[h̓L[R[h 30C158 ɕϊ
  ܂Dł 0141, Ȃ킿 ASCII 邢latin-1 R[h 'a'
  u܂D폜L[CĂт͂ȂƁCL[{[h ̓X
  LR[h 0xe0 0x53 0xe0 0xd3 𐶐, ̓L[R[h 111C239
  ɕϊC ESC [ 3   ƂSȂ镶ɒu
  ܂D̓͂CUS L[{[hCݒԂ̃L[}bvO
  Ƃ̂łD̖߂L[Rrl[VɊU
  ́CCtrl-Alt-Del ܂j

  setkeycodes Ƃ[eBeB[𗘗p΁CXLR[hƃL[
  R[hƂ̑ΉύXł܂DCƂKvɂȂ邱Ƃ͋H
  ł傤DL[R[hƕEE߂Ƃ̑ΉCȂ킿L[}bv
  ύXꍇɂ́C loadkeys Ƃ[eBeB[ p܂Dڂ
  ƂɂẮC getkeycodes(8), setkeycodes(8), dumpkeys(1),
  loadkeys(1) ̊e}jAy[WD

  ŁuAvP[VɈnvƕ\Ƃ𐳊mɌ΁u[h
  Co[ɈnvƂƂɂȂ܂D܂肱́CVA
  P[uʂđvꂽeLXg̏ꍇƑS悤ɏ邱
  ɂȂ̂łD̏ڍׂɋK肵Ă̂́Cstty ƂvO
  łD

  3.  [̂܂

  tɍlĂ݂܂傤D[ɏo͂ƂCŏɍŝ
  W tty vZXłDŒ[hCo[ fed ܂D[hC
  o VT100 V~[gĂCVT100 GXP[vV[NGXF
  ł悤ɓ͂p[X܂iJ[\ړCʏȂǁjDGXP[
  vV[NGXɊ܂܂Ȃ́C}bsOe[uɏ]ĕϊ
  DrfIɏ܂CrfIJ[h̕ ROM ̕VF[v
  \ɗp̂͂̕ϊ̃oCgȂ̂łDsetfont pēƎ
  tHg𕶎ɓǂݍ񂾂Cmpscrn ēƎ̃}bve[u
  [h邱Ƃ\łDڍׂɂẮCȉ̋LqQƂĂ
  D

  4.  [̃Zbg

  XN[\߂ႭɂȂĂ܂C͂L[Xg[N
  SC`ŃGR[obNĂ܂DȎɂ͂ǂ΂
  ̂ł傤H

  ^L ŃXN[ĕ`悷悤ɂĂvO͏Ȃ܂
  Df̃mCYCvbZ[WXN[ɕ\ꂽꍇ
  ɂ́C̋@\𗧂Ƃł傤DNAER}h́CXN[
  R}hłD

  ZbgER}h͒[hCo[ Zbg܂Dĝ́C
  XN[ȃOtBbNŖߐsꂽ悤ȏꍇłD\
  sȂȂĂ܂ꍇɂ̕@őΏł܂D

  ̃R}hȂꍇC邢͎኱ʂ̋@\ʂꍇɂ́Cȉ̓
  sȂs^t@CāCpX̒ʂɒuĂD

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

  ł́CESC  c ̂Q[ɑtĂ܂DςtHg
  [hĂāCݒ̃tHgɖ߂ꍇɂ́C

       % setfont

  sĂiݒtHgݒʒuɒuĂƂK
  vłjD

  ^̒[̏ꍇC^u܂ޏo͂x邱Ƃ܂Ĉ悤ȏꍇ
  ɂ́Cȉ̂悤ɂĉDiڂ́Cstty(1) ̃}jAy[W
  QƂ̂Ɓj

       % stty tab3

  reseizecons  SVGATextMode p΁CrfI[hύX邱Ƃ
  ܂D͒ʏCo͑̐ݒɕύX̂łD͑ɂ͂
  肪邱Ƃł傤DX, DOOM  raw mode pĂvO
  NbVĂ܂ꍇDgp̃L[{[h raw modei邢
  mediumraw mode)̂܂܂ɂȂĂꍇɂ́CR}hp
  ͓̂ł傤DiĹuraw mode ̒Eo@v̍ǂ݂
  j

  4.1.  L[{[h̃n[hEFAZbg

  Linux ֒mȂ[x̎͂܂Ȃ܂D[x
  ɂȂƂQނ̋ʂ(L[{[hƃL[{[hRg[
  [jCꂼ̕@ "keyboard disable" ߂L[{[hn[hEF
  Aɓ`B邱Ƃ\łDL[{[h̒ɂ́CRނ̃XLR[h
  Zbg̈𗘗p悤ɃvOł̂Ȃ܂Dc
  OȂCgĖłƂP[X͑܂D

  L[{[h̒ɂ̓}bsO@\Ă̂܂DStormy
  Henderson(stormy@Ghost.Net) ́uvO@\L[{[h
  ܂܂̏ꍇȂCcontrol-alt-suspend_macro ŁiGateway
  Anykey Keyboard ̏ꍇjWԂ̃L[{[hɕAł܂vƂ̕񍐂
  ܂D

  5.  Delete  Backspace

  5.1.  OɃ^Cv邽߂ɂǂ̃L[p邩mɂ
  ǂ΂̂ł傤H

  ȉ̃R}hsĂD

       % stty erase ^?

  ͏Ă̂́CƂ΂ɂ́Ctty ̐
  ɉԈႢ܂Dechoprt ZbgĂꍇɂ́Cꂽ
   \fR  / ɋ܂Ă܂Dechoe ZbgĂȂꍇɂ́C
  GR[obN܂i# ̂悤Ȉ\̏ꍇɂ͂
  ɓKłjD啔̃[U[ stty echoe -echport ɂ
  ƍlł傤D stty sane Ƃ΁Cȏ̂Ƃł
  D݂̐ݒ󋵂mFɂ stty -a sĂD

  Ƃ getty gĂ΁Cݒ̂܂܂ł܂͂
  D

  Ǝ̃L[rfBOsvOibash, emacs etc.) Ƃ
  ӂĂ(  /.inputrc,  /.emacs etc Œ`悤ɂȂĂ
  )DvÓC̐ݒɉe܂D

  5.1.1.  ܂ł getty  DELBS ƏłĂ̂ɁC
  Ȃă_ ɂȂĂ܂܂H

  ẮCDEL(177) BS Space BS (10 40 10) [hCo[
  sĂ܂D݂ł DEL 𖳎悤ɂȂĂ܂ih
  Co[ vt100 G~[g悤ɂȂĈȗȂĂ
  jDDEL o͂ȂCDꂽ getty 肵ĂD

  5.1.2.  xڂƓxڂŁCOC̋قȂ̂łH

  ŏ̃OCɂ́Cgetty p܂Dɑ΂Cڂ̃OC
  ɂ́CSʂ̃vOł login N܂DقȂ̂
  ̂߂łD

  5.2.  L[ƂLinuxǂ̃R[h𐶐邩mɂ͂ǂ
   ̂ł傤H

  [ł́C萳mɂƂ΁C(MEDIUM)RAW mode pĂȂ[
  ł́C

       % loadkeys mykeys.map

   X gĂꍇɂ

       % xmodmap mykeys.xmap

  sĂD

  XFree86-2.1 ȍ~ X ́CX ̃L[}bv鎞 Linux ̃L[
  }bvǂ݂ނ悤ɂȂĂ܂DȂ Linux/X ̗VXe
  ͊S݊ł͂܂Dxmodmap ]ɂȂĂ܂ꍇ̂͂
  ̂߂łD

  Ⴆ΁Cݒ Delete Key ł͂ȂCBackspace Key  ^H
  (Backspace) 𔭍s悤ɐݒ肵ꍇɂ́Ĉ悤ɂĂ
  D

       % loadkeys
       keycode 14 = BackSpace
       %

  5.2.1.  Ȃݒł́CBackspace  ^H(backspace)𔭍s悤
  ȂĂȂ ̂łH

  1. VT100 [ł́CDelete key  Enter key ̏ɂ邩łD

  2. Linus ̐ݒIłD

  5.3.  w  Delete and Backspace ɂ͂ǂ΂̂ł
  

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

  Backspace  ^H(backspace) 𔭍s悤ɂȂ

       % xmodmap -e "keycode 22 = BackSpace"

  Deletekey  Delete 𔭍s悤ɂȂ

       % xmodmap -e "keycode 107 = Delete"

  sĂD

  (Ȃ畁ʂ́Cς݂̏ԂݒlɂȂĂ܁Dj

  5.4.  emace ł Delete  Backspace L[̈Ӗ`ɂ ǂ
  ΂ł傤H

  .emacs t@CɈȉ̂悤ȍstĂD

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

  񓯂悤ɂāCʂ̃L[ʂ̃R}hɌ邱Ƃ\
  D

  5.5.  emacs  Delete  Backspace邽߂ɂ͂ǂ 
  ł傤H

  .emacs t@CɈȉ̍stĂD

       (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 邽߂ɂ͂ǂ 
  ̂ł傤H

  .kermrc t@CɈȉ̍stĂD

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

  5.7.  xterm ] tty modes ɃZbg@ĂD

  ʏCxterm ͋N tty mode p܂Dxdm ̏ꍇCݒ
   #, @ ꂼCkill ƂȂĂ܂D͌Âǂ
  Unix v.6̖cłDꂪCɏȂꍇɂ́Cȉ̂悤ȍst
  ĂD

  /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 ^@

  i$HOME/.xinitrc  xrdb $HOME/.Xresources Ƃs邱ƂO
  ƂĂ܂j

  5.8.  Backspace key  DEL𐶐Ă邱Ƃ xmosaic ɓ`B@
  ĂD

  ȉ̍sC$HOME/.Xresources ɕt΂ł傤

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

  Ȃ netscape FAQ ͎̂悤ɏqׂĂ܂D

  (pJn)

  eLXgtB[hŃobNXy[X@\Ȃ̂͂ǂĂȂ̂ł
  H Linux,XFree86̏ݒ́CobNXy[XE폜L[̐ݒ
  ܂D`[t֘ÃvOׂ͂(Netscape, Navigator܂ނ
  Ƃ͐\グ܂ł܂j悤Ɍ듮삵Ă܂܂D

  `[t̋Ki\ɂ́uobNXy[XL[͒O̕C폜L[
  ͎̕܂vƏĂ܂DLinux, XFree86͂ƂC
  obNXy[XL[E폜L[̗Delete𔭍s悤ɐݒ肵Ă
  D

  ̖ɑΏɂ́Cxmodmap, xkeycaps, loadkeys ̂ǂꂩpC
  YL[Deleteł͂ȂBackspace𔭍s悤ɂ΂̂łD

  .motifbind t@CƂ@܂Dڂ
  ́CVirtualBindings(3) ̃}jAy[WD

  F*XmText.translations  *XmTextField.translationsgāC̖
  ɑΏĂ͂܂D̕@gƁCNetscape Navigator ̑
  eLXgtB[hL[ݒ肪ł܂܂D

  (pI)

  5.9.  termcap  terminfo ɂċĂ

  obNXy[XɔYłl͑̂łClB
  termcap (terminfo)̒[pGg[Ƃɂ߂Ă̂łDm
  ɁCɂ̓obNXy[XL[ɂĐR[hLq
  kb(kbs)@\܂D̋@\gȂĂvO
  Ȃ̂łDʂ̃vOł肪Ƃ킯ł͂Ȃ
  ȂCԈႢ͎鏊ɂ͂тĂ̂ł傤Dtermcap(terminfo)̃G
  g[CƂ̂͂񐳂lłDȉ́uTERM
  v̍ǂ݂D

  6.  [Zbg

  J[ĺu[XN[V{ւ̕ϊe[uvSރT|[
  gĂ܂Da) Latin1 -> PC,  b) VT100 OtBbN ->  PC, c) PC ->
  PC, d) [U[`̂Sɑ܂D

  G0, G1 Ƃ̕ZbgĈ̂ǂ炩uJg
  ZbgvƂȂ܂iݒłG0JgłjDG1 Jg
  ɂ ^N CG0 Jgɂɂ ^O ĂD

  G0, G1 Ƃϐ͕ϊe[uw肷邽߂̂̂łC[U[
  xŕύX邱Ƃł܂Dw肷e[ȕݒ G0  a)C
  G1  b) ƂȂĂ܂DG0̏ꍇCESC ( B CESC ( 0 CESC ( U CESC (
  K  a,b,c,d̊ee[uIł܂DG1̏ꍇɂ́CESC ) B CESC )
  0 CESC ) U CESC ) K ƂȂ܂D

  ESC c V[NGX͒[Zbg邽߂̂̂łDXN[\
  ߂ႭɂȂ悤ȏꍇɂpDu^V^O g悤Ɂv
  Ƃqg͂悭mĂ܂CG0 Jg̏ꍇɂ@
  \܂D܂C G0  a)̕ϊe[ugĂƂۏ؂ǂ
  ɂ܂Dreset(1)ƂvO𓯍ĂLinuxzz
  ܂D̃vO ^[c 𔭍ŝłDtermcap̒[pGg
  [ꍇi:rs= ƂGg[ꍇ j ( ...?)

  [U[`ϊe[uݒ肷ɂ mapscrn(8)p܂D symbol
  s= map[c] Ƃ`ꍇCc rfIɑt܂ic Ƃ
  V{\Ȃ̂łꍇ)Ds ɑΉrbg}bvi
  ɂjύX邽߂ɂsetfont(8)p܂D

  7.  [̐ؑ

  ݒł, [ؑւ Alt-Fn or Ctrl-Alt-Fnpčs悤ɂȂ
  ܂D XэŐVłdosemułCtrl-Alt-Fn @\܂D

  XFree86 1.3 XECh[ɐ؂ւƂAltĂ邱
  F܂D ]āCɕʂVTɍēx؂ւ邱Ƃ͂łȂ
  łD̂߂ɂ͂܂xAltL[𗣂Kv܂Dtɂ
  Ƃʗp܂D܂J[l͏펞CׂẴL[ɊւĂꂪ
  Ă邩ۂĎĂ܂D(ɂE͂܂Dꕔ
  L[ꂽƂɃXLR[h𔭍sȂ悤ȃL[{[h
  邩łDFOCUS 9000 L[{[g PFnL[͂̈łD܂L[
  𗣂Ƃ̃R[h𔭍sȂL[{[h܂DPauseL[
  悤Ɏ舵ĂL[{[h͏Ȃ܂Dj

  XFree86 1.3 ͋NɕɃ[htHgۑCؑ
  [pɗp܂DVTɂsetfonťʂ́Cwɓo
  ۂɖ܂DXsetfontpƁCȌʂĂ܂
  ł傤D

  chvtR}hpvÕRg[łȂCύX͉\łD

  7.1.  z[ԍ̕ύX

  ̎͂܂JԂsĂ悤łCu񓚂͂[ɏo
  Ă܂vƂ̂łDv1.1.54ȍ~̃J[lł́Cz[
  ԍ͂P|URƂȂĂ܂D[I[vƓɁCV[
  ܂D[폜邽߂ɂ disallocƂ[eBeB[
  g܂i폜ł̂́CY[Ɋ֘AvZX
  ĂȂꍇłjD

  ÂJ[lg̏ꍇɂ́Cinclude/linux/tty.h ɂ鎟̈s
  XŁiC63z鐔ɂ͂ȂłjCJ[l
  \zĂD

       #define NR_CONSOLES     8

  MAKEDEV 邢 mknod ttyN c 4 N iN ttyԍjpăfoCX
  Ȃ΂ȂȂ܂DVVC getty 𑖂点ꍇ
  ́C /etc/inittab ɍsǉĂD

  [𓮓IɃP[głꍇɂ́CP|Q getty𑖂点Ă
  ̂ʏłȒPȂł傤Dȏ̒[I[vꍇ
  ́Copen -l -s bash ŉ\łDgpĂȂ[ivZXƌѕt
  ĂȂ[j́C disalloc Ŏ菜Ƃł܂D

  kbd-0.90.tar.gz 擾 spwan_login ȂC

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

  /etc/rc.localɏŉD Alt-UpArrow login
  ĂVVC łCɐؑւ悤ɂȂ܂D X
  open-1.3.tgz D

  /etc/secrettyɋLڂĂ[ɃOCɂ̓[gKv
  D

  8.  Ctrl-Alt-Del ̑̓L[Rrl[V

  8.1.  Ctrl-Alt-Del (Boot)

  Ctrl-Alt-Deli邢loadkeys keysymBootɃATCL[j
  ƁC}VɃu[g邩isync ȂŁjC邢 init 
  SIGINT t邩̉ꂩ̎Ԃ܂Dݒ͑O҂łD
  ̏ݒ reboot()ƂVXeR[pĕύXł܂C
  ɂ̓[gKvłDinit SIGINT󂯎ƂN邩
  ́Cinit ̃o[WłD͑̏ꍇ /etc/inittab ɂ pf
  Gg[ɂČ܂܂iȂ킿CDȃvO𑖂点邱
  łƂƂł)ŐVJ[l̏ꍇC Ctrl-AltGr-Del ͂
  Boot ̏ݒL[ɃATCĂ܂D

  8.2.  ̑̑gݍ킹

              ݒl
  -------------------------------
  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         gOL[
  Compose         Ctrl-.

  8.3.  X Combinations

  Ctrl-Alt-Fn     VT nɃXCb`
  Ctrl-Alt-KP+    ̃[h
  Ctrl-Alt-KP-    Õ[h
  Ctrl-Alt-Backspace       X~

  }U[{[h̒ɂ, Ctrl-Alt-KP-  Ctrl-Alt-KP+ ^[{{^@\
  ʂ悤ɂȂĂ镨܂Dq̃L[Rrl[V͂
  XLR[h 1d 38 4a ca b8 9d C1d 38 4e ce b8 9d 𔭍s
  D܂̃L[Rrl[V Turbo (>= 25MHz) [h non-
  Turbo (8 or 12 MHz)̐ؑւs܂Di}U[{[h̃Wp[
  K؂ɐݒ肵Ƃ̂݁C̃L[Rrl[VLƂȂƏꍇ
  悤łD)
  Perry F Nguyen (pfnguyen@netcom22.netcom.com) ́uAMI BIOS 
  ́CL[{[hbN@\CLEDtbV@\܂DBIOS pX[h
  @\IɂȂĂԂŁCCMOS/BIOSpX[h͂܂
  Ctrl- Alt-Backspace Ƃ̋@\g܂vƂ̕񍐂𒸑Ղ܂D

  8.4.  Dosemu Combinations

  Ctrl-Alt-Fn    VT n փXCb`(version 0.50ȍ~CȑÕo[Wł Alt-Fn)
  Ctrl-Alt-PgDn  dosemu ~(RAW keyboard mode)

  (ȊOɂLxȃL[Rrl[VpӂĂ܂Dڂ
  dosemu ֘Aǂ݂j

  8.5.  V{ 

  ̃L[Xg[NȂV{邱Ƃł܂D

  LeftAlt-press  10i CvbgCX LeftAlt- 
  ƓY 10 i@R[hV{܂DiUnicode [h
  ̏ꍇɂCJjYg܂CUnicode ̗pĂSP^
  PUipKv܂j

  ANZgL[ifbhL[jɑĕL[ƁCANZgt
  ܂D̑gݍ킹`ĂȂꍇɂ́CANZ
  gƕʁXɉ߂܂Dǂ̃L[fbhL[ɂ邩̓[U[
  CӂɌł܂Dݒl͂܂DfbhL[̏
  dead_grave, dead_acute, dead_circumflex, dead_tilde, dead_diaeresis 
  TC`ɂ loadkeys(1) p܂DANZgɂ鑕Ӗ
  邩[U[Rɒ`ł܂DfbhL[{V{Ő
  ̂́Ccomose+ ANZgL[ + symbol ō̂ƂƓłD

  o  Rrl[VV{͂Q̃V{̑gݍ킹Ō`
     D[U[͂̑gݍ킹`邱Ƃł܂D݂̂Ƃ
     ݒł68ނ̑gݍ킹`Ă܂D̏ݒl
     ́C"dumpkeys | grep compose" ŕ\܂D

  o  1.3.33 ȍ~̃J[lɂ sticky modifer keys Ƃ@\
     CႦ΁C^C  SControl ɁC CCtrl-Alt-Backspace SContrl,
     SAlt, Backspace Ƃėp邱Ƃł̂łD

  Fgݍ킹͏ȂƂRʂ̕@ō쐬ł܂D

  1. Linux L[{[hhCo[̃JjYgiloadkeys j

  2. X ̃JjYgD X386keybd(1)CX XFree86kbd(1)QƂ̂
     ƁD X11R6 ̏ꍇ /usr/X11R6/lib/X11/locale/iso8859-1/Compose 
     ҏWD

  3. emacs ̃JjYgDi"iso-insert.el"[hj

  X ̏ꍇC̃V{̏Ԃ͜ӓIɂȂĂ܂D Compose-, -c y
  сC Compose-c ͋ c-cedilla 𐶐܂DLinux  emacs ̏
  ɂ́Cݒł͍ŏ̑gݍ킹@@\Ȃ悤ɂȂĂ
  DX̏ꍇCgݍ킹̃Xg͌Œ肳Ă܂D Linux 
  emacs ͂̓_C_ɂȂĂ܂DR̏ݒ胊Xg͂ǂގ
  Ă܂Cוɂ͍ق܂D

  9.  [̗lX̓

  eL[sR[hy X gp led ݒɂ
  ́Cloadkeys(1), setleds(1), setmetamode(1) ̃}jAy[W
  D܂ X gpɂẮCxmodcap(1) ̃}jAy[WQƂ
  ĂD

  OʐFEwiFCXN[Z[uCs[g[g̐ݒɂẮC
  setterm(1),kbdrate(8) QƂĂi X jDX ɂĂ
  xset DX ł̓L[NbNCx̉ʂݒł܂D

  [ɃAhXvȎ́C/etc/termcap ɂGXP[v
  V[NGX`𗘗pĂ܂DVo[W
  ́C/usr/lib/terminfo ɂ܂Diterminfo(5) QƂĂ
  Dterminfo t@C terminfo RpC[ /usr/lb/terminfo/tic 
  ăRpCĂ܂D tic(1) j

  啔̃}Vł́C /dev/device  /dev/tty0 ւ̃V{bNO
  ȂĂ܂D]ăJ[l /dev/tty0  Jg VT ƓӖł
  Ƃ݂Ȃ܂D XFree86 1.3  /dev/tty0 ̃I[i[ύX܂DI
  ɂZbg邱Ƃ܂D/dev/tty0 ̃I[i[
  ̂ dumpkey ͂܂@\Ȃł傤D̂悤ȏꍇɂ́C܂
  ŏ X 𑖂点ĂD

  10.  raw mode ̒Eo@

  K_RAW keyboard mode gpvO̒ɂ̓L[{[h[h
  K_XLATE ɖ߂ȂŏIĂ܂̂܂DȂƂȂɂ
  ̂ςŁC̏ Ctrl-Alt-Del ܂ŎgȂȂĂ܂܂D
  炱ȂĂCZbg{^ɍς܂@邱Ƃ
  ܂i͊ĂȂƂłDHack Q[ĂrɃ
  u[gꂽ̂ł͒Nēɗ邵C̏VXe댯
  ̂łjȒPȉ@́C̒[邢͑̃}V烍OC
  Ckbd_mode -a s邱ƂłD X ĂȂꍇC
  킿fBXv[eLXg[h bash ̃vvgƂ̂
  łDȉɎ@́CɎgp̃L[{[h US L[{[hŁC
  荞ݕ Ctrl-C ƂƂOɂ̂łD

  iKF̎菇XNDQiĂ͂܂jCF12
  iĂ͂܂jCXɂ̒ = ĂD
  XN͂łDiFL[Ƃɔs
  L[R[hKłƂƁC̃L[𗣂Ƃɂ K+128 ̃L[R[
  h͔s܂Dgp̃VF͋炭nCLN^[
  舵Ȃł傤D]āCL[𗣂ȊOɂ͂L[R[h
  Ȃ悤ɂĂ܂DC΂₭ȂƁCL[s[gn
  ܂Ă܂܂D10 i@ 2  ܂ł̂炭̂ĂĂ܂@\
   Ctrl-C 𔭍s܂DF12  X C = ̓^[𐶐܂j
  gp̃XN[͂ƊDFɂȂĂ邱Ƃł傤D
  .xinitrc ݒ肵ĂȂłDł Ctrl-Alt-Fn ͋@\
  ŁCʂ VT ɐؑւ邱Ƃ͉\łD(Ctrl-Alt-Backspace g܂
  CX O֏oĂ܂܂D܂Ƃ̏Ԃɖ߂Ă܂̂łC
  ͂]݂ɂȂȂƂł傤j

  iKFL[{[h[hύXDiႦ΁F"sleep 5; kbd_mode -a"
  Ŏsł܂j

  OiKFēx X 𗣂DX ɖ߂ɂ Alt-Fx (Alt-F7łꍇ
  jCX 痣ɂ Ctrl-Alt-Backspace p܂DTbȓɁCL[
  {[h͍Ăюgp\ȏԂɂȂ͂łD

  ̏𐮂Ăꍇɂ́C215A301 (3V{j
  kbd_mode -a ̃GCAXɐݒ肵ĂƂ悢ł傤DĂ
  F7 (3V{j@ŁCuꂢȐǵvɖ߂܂D
  11.  TERM ϐ

  TERM ϐy /etc/termcap, /usr/lib/terminfo/* ̃f[^x[Xp
  āCXN[EJ[\ړɑt镶肵C[U[
  obNXy[XL[Et@NVL[Ƃɑt镶
  肵ĂvO͏Ȃ܂D̒lŏɐݒ肷̂
  J[l̖łi[pjDʏC̕ϐ getty ŃZbgł
  D̍ۂɂ́C/etc/inittab ̐ݒC/etc/ttytype p܂D
  /etc/profile  TERM ϐݒ肷ꍇ܂D

  ÂVXe TERM=console 邢 TERM=con80x25 Ƃݒp
  ܂Dɑ΂Cincurses 1.8.6 gĂjVVXe͂
  m TERM=linux 邢 TERM=linux-80x25 Ɛݒ肷悤ɂȂĂ
  DȂCÂł setterm  TERM=con* `FbN悤
  ȂĂ̂ŁC TERM=linux ł͂܂@\܂D

  1.3.2 ȍ~̃J[lł́CTERM=linux J[l̏ݒƂȂĂ
  D

  Linux ɑ΂Gg[ȂtermcapgĂꍇɂ́C[pG
  g[ linux ƂǉĂD

       console|con80x25|linux:\

  XɁC make /usr/lib/terminfo/l/linux  /usr/lib/terminfo/c/console
  ɃRs[邩CɃV{bNN𒣂ĂD

  11.1.  Terminfo

  ncursex 1.8.6 ȍ~ Linux [p terminfo Gg[
  ́Ckich1=needed ƂGg[Ă܂D̃Gg[K
  vȃvÔŁCt@CҏWCtic ŃRpCĂ
  D

  12.  ̃vOŔ ASCII 舵ɂ͂ǂ΂̂ł
  H

  Ă͂ǂ悤Ȃ悤ȂЂǂオ̂łD̍́Cv
  OÂɎāCAXL[g悤ɂȂ΂
  Ȃ̂łDׂĂȒPɂȂƂ͂ȂɂĂCłgnu
  ̃[eBeB[ɂ LC_TYPE=iso_8859_1  LC_TYPE=iso-8859-1Ƃ
  ݒɔ̂ȂĂ܂D܂߂Ă݂܂傤DĂ
  ߂Ƃɂ́Cȉ̃qgǂł݂ĂD

  ܂ŏɁCJ[l̓̓vZXWrbgʂ悤ɂK
  v܂Dstty cs8 -istrip -parenb Zbg邱ƂmFĂ
  D

  A. emacs ̏ꍇF$HOME/.emacs Ɉȉ̍sǉĂD

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

  ̍sKvł傤

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

  (Ō̍s xterm ł͋@\Ȃł傤Demacs -nw gpĂꍇ
  ɂ́Cȉ̍s .Xresources ɒǉĂ݂Ăj

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

  B. less ̏ꍇFݒ LESSCHARSET=latin1 ĂD

  C. ls ̏ꍇF -N IvVtĂ (GCAXݒ肷̂
  悢ł傤D

  D. bash (version 1.13.*) ̏ꍇFȉ $HOME/.inputrc ɕtĂ
  D

       set meta-flag on
       set convert-meta off

  Danish HOWTOɂ

       set output-meta on

  KvƂ̂ƂłD

  E. tcsh ̏ꍇFȉ̐ݒsĂD

       setenv LANG     US_en
       setenv LC_CTYPE iso_8859_1

  g̃VXe nls Ă悤ȂCΉ郋[eB[p
  Ă܂Dnls ȂVXȅꍇɂ́CLANG  LC_CTYPE ǂ
  肵ĂCtcsh  iso_8559_1 w肳Ă̂ƔfĂ܂
  Dڂ́Ctcsh(1) ̃}jAy[W NATIVE LANGUAGE SYSTEM 
  ǂ݉DiDanish HOWTO ɂ́usetenv LC_CTYPE ISO-8559-1;
  stty pass8 Ƃ΂悢ƋLڂĂ܂j

  F. flex ̏ꍇF𐶐p[T[ 8 rbgł邱Ƃ
  Ăꍇɂ́C -8 ƂIvVtĂD

  G. elm ̏ꍇFdisplaycharset  ISO-8859-1 ɐݒ肵ĂD
  (Danish HOWTO  LANG=CCLC_CTYPE=ISO-8859-1 Ƃ悤ɎwĂ
  )

  H. lynx ̂悤 curses gvOɊւ David Sibley ́u
   curses pbP[ẂCrbgrfI[hpɗ\񂵂Ă܂D
  i/usr/include/curses.h ɂ flag _STANDOUT ̒`𒲂ׂĂj
  C ncusres Ȃ8rbgN[ɂĂ悤Ȃ̂ŁCiso-
  latin-8859-1 ɕ\ł܂vƕ񍐂Ă܂D

  I. man ̂悤 groff gvȌꍇɂ́C -Tascii ɑウ
  -Tlatin1 g悤ɂĂDÂł man  col gĂ
  D col ɂĂ ɐ܂D

  J. col ̏ꍇɂ́C1) setlocale (LC_CTYPE,"") sƋɁC2)
  LC_CTYPE=ISO-8859-1 ϐɊ܂߂悤ɂĂD

  K. rlogin ̏ꍇɂ, -8 ƂIvVw肷邱ƁD

  L. joe ̏ꍇF
  sunsite.unc.edu:/pub/Linux/apps/editors/joe-1.0.8-linux.tar.gz ́C
  t@C ҏWΎg邻łD/isr/lib/joerc ̍ŏ̃R
  -asis IvV΂Ƃl܂D

  M. LaTeX ̏ꍇ: ocumentstyle[isolatin]{article}.  LaTeX2ȅꍇ:
  ocumentclass{article}sepackage{isolatin} ƂĂDisolatin.sty
   ftp://ftp.vlsivie.tuwien.ac.at/pub/8bit ɂ܂D

  grasp.insa-lyon.fr:/pub/faq/fr/accents ISO-8859-1 C8-bit
  舵@_ł(tXł)Dpŏꂽ̂
  ẮC
  rtfm.mit.edu:pub/usenet-bygroup/comp.answers/character-sets/iso-8859-1-faq
  ܂D܂ʂ́iHjƂẮC
  ftp.vlsivie.tuwien.ac.at:/pub/8bit/FAQ-ISO-8859-1܂D

  13.  XFree86-2.1  keymap ƂCmɂ͂ǂȂƂN
   ̂łH

  o[W 2.1 ȍ~CXFree86 ͉\Ȍ Linux  keymap p X
  p keymap 悤ɂȂĂ܂DƂ͂ĂCLinux ɂ
  L[ 16 ̃Gg[ishift, AltGr, Ctrl, Alt ̑gݍ
  킹jCv 256 ̃Gg[邱ƂɂȂ̂ɑ΂CX ɂ̓L[
  S̃Gg[iShift, Mod ̑gݍ킹j܂D]
  āCĂ܂񂪂̂͒v܂D

  X ͂܂ŏɁCXconfig Ƃt@Cǂݍ݂܂Dł
  LeftAlt, RightAlt, RightCtl, ScrollLock ̊eL[ꂼ Meta,
  ModeShift, Compose, ModeLock 邢 ScrollLock ƂĒ`Ă
  ܂Dڂ́C X386keybd(1), XFree86kbd(1) ̃}jA
  y[Wǂ݉D

  RightCtl  ModShift 邢 ModeLock ƒ`ĂȂCLeftAlt
  Mod ƂȂĂ܂DRightCtl  ModShift/Modelock ɂȂĂꍇ
  ́CRightCtl  Mod ɂȂ܂DRightAlt Mod ƒ`Ăꍇ
  ́CRightAltMod ɂȂ܂DLinux ̃L[ 16 ނ̈Ӗ
  XFree86 ǂ 4 ނI邩́CɂČ܂܂DF
  Linux  E Ctrl/Shift ̋ʂȂ悤ȏݒ̗p
  ܂CX ͂ꂼꂱ̓ʂĂ܂D

  ŃJ[l keymap ǂݍ݁CΉ X pݒ肪쐬܂
  C͂Ȃ̂łD"action keys"i Show_Memory,
  Show_State, Show_Registers, Last_Console, Console_n, Scroll_Backward,
  Scroll_Forward, Caps_OnCBootjɑ΂rfBO͖܂D
  fbhL[Ce탍bNL[ (ShiftLock ),  "ASCII-x" keys l
  Ɏ舵܂D

  āCXconfig t@C̒`p܂Di܂CXconfig ̍
  ` Linux keymap ̒l㏑邱ƂɂȂ̂łj

  t@NVL[Ɗ֘AÂꂽ͂ǂȂ̂ł傤Hǂɂ
  ȂȂƂ̂łDXɂ͂TOȂłDixterm
  ŋ@\L[ɕ`邱Ƃ͉\łDCL[ŏɎ擾
  ̂̓ECh[}l[W[ƂƂYȂ悤ɂĂj

  ҂́Cǂ@xterm X keymapgp悤ɂȂ̂܂
  D

  Alt L[ꂽƂɂXkeymapgpȂ΂ȂȂƂ
  xterm ǂ̂悤ɂĒm̂C҂͏mĂ܂Dǂ
  eightBitInput `FbN,̒l^UɉāC̍rbg
  Zbg邩C(setmetamode(1) [ɂčs悤ɁjEscape 
  t邩̂ꂩsĂ悤łD

  14.  ʂƂ͈قȂL[EL[{[h

  PrintScrn/SysRq  Pause/Break ̓̃L[́CꂼL[R[h
  Ƃ_ő̃L[ƈقȂĂ܂DO҂ Alt 𓯎ɉ
  ɂ̓L[R[h84CȊO̎ɂ̓L[R[h99𔭍s܂D܂
  CtrlƓɉƂɂ̓L[R[h101CȊÔƂɂ̓L[R[
  h119ƂȂ܂Di]āC Alt-L[R[h99Ctrl-L[R[h119ɋ@\
  UĂӖłj

  Linux ̂Ƃł̓L[R[hؐȂ悤ȓL[ꍇi
  邢 "unrecognized scancode" ƂbZ[WԂꍇjłC
  gp̃J[l1.1.63ȍ~ȂCsetkeycodes(1)găJ[lɂ
  L[ɂĂ̏nƂł܂DȂXł
  ̎͒ʗp܂D setkeycodesăL[R[h擾
  Cloadkeys gċ@\U邱Ƃł܂D

  15.  loadkeys  xmodmap ̎gp

  L[{[hCaps Lock  Control ꍇɂ͈ȉ̂悤ɂ
  DiL[}bv0-15̎gpOƂĂ܂Ddumpkeys | head -1
  Ń`FbNł܂j

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

  X ̏ꍇύXȂF

       % xmodmap .xmodmaprc

  OKłD  .xmodmaprc ɂ͈ȉ̍s܂܂Ă̂Ƃ܂D

       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

  L[io[Ô͈ǂȂĂ̂ł傤HobNXy[X
  Linux ɂĂ14Ȃ̂Xł22Hio[͂ł߂ɂĂƍl
  Ăقł傤DLinux̃L[ԍ showkey(1)ŁC X̃L[
  ԍ xdv(1)gΒׂ܂DLinux̃L[ԍ8̂ X
  L[ԍɂȂĂ邱Ƃ悤łD

  15.1.  {̎wł^CvłȂ̂łHiɕ̃L[
  Ȃ ̂łHj

  Shift, Ctrl, Alt ̊eL[gOL[ɂł邩ƂƂłˁDȉ
  ̂悤ɂΉ\łD

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

    Ctrl, Shift, AltgOL[ɂȂ܂DL[ԍshowkey 
  gΎ擾ł܂Diʏ́CERg[29,97CEVtg
  42,54CEAg54,56ƂȂĂ܂j@\͂ꂼ
  Control_Lock, Shift_Lock, Alt_Lock, ALtGr_Lock.łD

  "sticky" modifer keys Ƃ͉̂ł傤H  1.3.33 ȍ~̃J[
  lɎꂽ@\łCV kbd pbP[W͂܂\Ă
  D]āCstick modifier keys 𗘗pɂ́Cȉ̗̂悤16i
  @R[hĂ邵܂D

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

  ŉEshiftECtrlEAltL[eΉL[ sticky version ɂȂ
  D

  16.  rfI[h̕ύX

  ҂mUނ̕@܂D

  1.  RpC :  /usr/src/linux/Makefile.̈ȉ̍sύXD

       SVGA_MODE=      -DSVGA_MODE=NORMAL_VGA

  1A. RpC: rdev -v - a sDЂǂnbJ[I@łC
  g܂D

  2. u[g: lilo̐ݒt@C vga=ask tĂD
  lilo video mode ₢킹Ă悤ɂȂ܂DK؂ȃ[h킩
  ΁C vga=mypreference ĂD

  RD^CFA.Fresizecons R}hg@Di͋ɂ߂Čn
  I VT_RESIZE ioctl ̃bp[łjB.FSVGATextMode R}hg
  @iVT_RESIZE ioctal ̂⍂ȃbpłj

  SDu[vɂȂƂFdosemu svgalib 𗘗pĂꍇɂ́C
  [hCo[𑀍삷邱ƂȂn[hEFArfI[hύX邱
  ł܂D̕@́Cresizecon  SVGATextMode ̐ݒ擾̂
  Lȏꍇ܂Ddosemu  DOS vOgĊ]rfI
  [hɕύXCrfIn[hEFAWX^̓eiVT
  j_vC resizecons  SVGATextMode KvƂĂ鏉
  ėpĂDdosemuNɂ́CBIOS̃rfI[hQƂ
  ̂ŁCgȂ悤ȃrfI[hɂȂꍇ܂D̏ꍇ
  ́Ckill -9 gdosemu ÎłȒPȉ@łD

  16.1.  resizecons ̎g

  svgalib 肵Crestoretextmode ƂvORpCĂ
  Dgp̃}V\ȂׂẴrfI[hŃu[gAbvililo
  ̐ݒt@Cvga= Ƃs vga=ask ɐݒ肵ĂjCrfI
  n[hEFAMX^[̓eCxR t@CiC=, R=sDႦ
  80x25, 132x44 )ɏłDŁC̃t@C
  /usr/lib/kbd/videomodes ɃRs[ĂD resizecons 132x44
  s΃rŃI[hύXł悤ɂȂ܂iSIGWINCH Kv
  SvZXɑtĂDʂ̃tHgKvȏꍇɂ͂[h
  Ăj

  ̂ƂCresizecons @\̂͐VR\[p̃𓯎
  ɊmۂłꍇɌĂ܂D

  17.  L[{[h s[g[g̕ύX@

  u[gAbvLinux J[ĺCs[g[gőɐݒ肵܂D
  ̒ĺCقƂǂ̃L[{[hɂƂēK؂ȒlłDCł͓
  JԂĂ܂Ƃl邩܂Dꍇ
  ɂ kbdrate(8)ƂvOpāCs[g[gύXĂ
  D̕@܂Ȃꍇ
  ́C/usr/src/linux/[arch/i386/]boot/setup.S.̈ȉ̕ҏWE폜
  ΂ł傤D

       ! set the keyboard repeat rate to the max

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

  18.  XN[Z[u

  setterm -blank nn s΁Cnn sԂɃXN[
  悤ɒ[hCo[ݒł܂inn 0ɂƁCXN[
  Z[u@\̓ItɂȂ܂DÂJ[l̒ɂ́C̃L[{[h荞
  ݂Nɏ߂āCXN[Z[u@\悤ɂȂĂ
  ܂j

  X ̃XN[Z[uݒ肷邽߂ɂ xset(1) s IvVp
  D

  rfIn[hEFÃp[Z[rO@\IEIt邽߂ɂ́C
  setvesablankƂvO𗘗p܂D
  /usr/src/linux/drivers/char/vesa_blank.c`̃Rgǂ݂
  D

  19.  VT100̏ - application key mode

  : ܃J[\L[ȃR[h𔭍ŝłH

  [ application key mode ɂȂĂꍇCJ[\L[ ESC 0 x
  𔭍s܂Di application key mode ɂ́CESC [ x łD
  ꍇɂ x ɂ A,B,C,D ̈ꕶ܂jD[ I
  application key mode ɂvO܂DvO
   kill -9 Œ~ꍇC邢͂̃vONbV
  ꍇɂCkey mode Zbg܂D

       % echo -e '\033c'

  śCJgVC̑SZbgł܂DAvP[V
  [hύX邾ł̂ȂC

                 % echo -e '\033[?1h'  ([hZbg)

                 % echo -e '\033[?1l'  ([hNAr)

  ƂĂD

  20.  n[hEFA̔݊

  l̕utbs[fBXNĂƂɁC^Cv
  Ă܂vƂ񍐂𒸂Ă܂D́CUni-486MB }U[{[g
  ̖̂悤łDiɑĂƂւC̃}U[{[
  hłx͂ȂƂ񍐁Cʂ̃}Vł肪ƂwE
  ҂Ă܂j

  L[{[hbNƂ񍐂񂹂Ă܂Dn[hfBXN
  Ɋ֌WĂꍇCI/OƂ̖̑肪ꍇ܂D

  ulf@rio70.bln.sni.de (Ulf Tietz) ́u}U[{[h̃`[ib
  v肷ƁClȖ肪DCLK, wait statements Ȃǂ
  ^C~OݒׂĂ艸Ȃ̂ɖ߂ƁC͂ȂȂvƂ̕
  ܂D

  bhogan@crl.com (Bill Hogan)́uAMI BIOS gĂꍇ
  ́Cchipset ݒɂGate A20G~[VIɂȂĂ邩
  ܂ĩIvV񋟂ĂꍇjD̃}V̏ꍇC
  IvVǂɐݒ肵Ăifast, both, disabled)CL[{[hb
  NƂ肪΂Δ܂vƂ̕񍐂܂D

  ǉE}܂D Andries Brouwer - aeb@cwi.nl

