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

  {F(GFG02131@niftyserve.or.jp)

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

    1.  ɂvO

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

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

    util-linux-2.5 e: setterm, kbdrate

    shellutils-1.8 (stty.tar.gzj e: stty

    open-1.1.tgz e: open. (dynamic-vc-1.1.tar.gzj

    SVGATextMode-0.9.tar.gz e: SVGATextMode

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

    2.  L[{[ĥ܂

  L[ƁCL[{[hRg[[XLR[hJ[l̃L[{[h
  hCo[ ɑt܂DL[{[h̒ɂ̓vO\ȕ܂C
  L[ƃXLR[h̑Ή͌ŒƂȂĂ̂ʂłDJ[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܂DiFL[Ɂ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 ̓XLR[
  h 0xe0 0x53 0xe0 0xd3𐶐, ̓L[R[h 111C239ɕϊC
  ESC [ 3 ~ ƂSȂ镶ɒu܂D̓͂C
  US 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ł傤D
  L[R[hƕEE߂Ƃ̑ΉCȂ킿L[}bvύXꍇɂ́C
  loadkeys Ƃ[eBeB[ p܂DڂƂɂẮC
  getkeycodes(8), setkeycodes(8), dumpkeys(1), loadkeys(1)̊e}jAy[W
  D

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

    3.  Console generalities

  tɍlĂ݂܂傤D[ɏo͂ƂCŏɍŝ͕W
  ttyvZXłDŒ[hCo[fed܂D[hCoVT100V
  ~[gĂCVT100GXP[vV[NGXFł悤ɓ͂p[
  X܂iJ[\ړCʏȂǁjDGXP[vV[NGXɊ܂܂Ȃ
  ́C}bsOe[uɏ]ĕϊ܂DrfIɏ܂Crf
  IJ[h̕ROM̕VF[v\ɗp̂͂̕ϊ̃oCgȂ
  łDsetfontpēƎ̃tHg𕶎ɓǂݍ񂾂Cmpscrn
  ēƎ̃}bve[u[h邱Ƃ\łDڍׂɂẮCȉ̋Lq
  QƂĂD

    4.  [̃Zbg

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

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

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

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

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

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

         % setfont

  sĂiݒtHgݒʒuɒuĂƂKv
  jD
  ^̒[̏ꍇC^u܂ޏo͂x邱Ƃ܂Ĉ悤ȏꍇɂ́C
  ȉ̂悤ɂĉDiڂ́Cstty(1)̃}jAy[WQƂ̂Ɓj

         % stty tab3

  reseizecons  SVGATextModep΁CrfI[hύX邱Ƃł܂D
  ͒ʏCo͑̐ݒɕύX̂łD͑ɂ͂낢肪
  Ƃł傤DX, DOOM  raw mode pĂvONbVĂ
  ꍇ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[hEFAɓ`B邱Ƃ
  \łDL[{[h̒ɂ́CRނ̃XLR[hZbg̈𗘗p
  ɃvOł̂Ȃ܂DcOȂ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̐ݒɉ
  ԈႢ܂DechoprtZbgĂꍇɂ́Cꂽ \fR 
  / ɋ܂Ă܂Dechoe ZbgĂȂꍇɂ́CGR[o
  bN܂i# ̂悤Ȉ\̏ꍇɂ͂ꂪɓKłjD
  啔̃[U[ stty echoe -echport ɂƍlł傤D stty sane
  Ƃ΁Cȏ̂Ƃł܂D݂̐ݒ󋵂mFɂ stty -a
  sĂD

  ƂgettygĂ΁Cݒ̂܂܂ł܂͂łD

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

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

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

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

  ŏ̃OCɂ́Cgetty p܂Dɑ΂Cڂ̃OCɂ́C
  Sʂ̃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

    (i) VT100 [ł́CDelete key  Enter key ̏ɂ邩łD

    (ii) 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.

  .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͋Ntty 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͂ƂCobNXy
  [XL[E폜L[̗Delete𔭍s悤ɐݒ肵Ă܂D

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

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

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

  (pI)

    5.9.  termcap  terminfo ɂċĂ

  obNXy[XɔYłl͑̂łClB termcap
  (terminfo)̒[pGg[Ƃɂ߂Ă̂łDmɁCɂ̓ob
  NXy[XL[ɂĐR[hLqkb(kbs)@\܂D
  ̋@\gȂĂvO͏Ȃ̂łDʂ̃vOł
  肪Ƃ킯ł͂Ȃ̂ȂCԈႢ͎鏊ɂ͂тĂ̂ł
  傤Dtermcap(terminfo)̃Gg[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̂̂ǂ炩uJgZb
  gvƂȂ܂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܂Dsymbol 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[ꂽƂɃXL
  R[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͂ꂼXL
  R[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[Rr
  l[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-𗣂
  Y10i@R[hV{܂DiUnicode [h̏ꍇɂC
  JjYg܂CUnicode̗pĂSP^̂PUipKv
  ܂j

  ANZgL[ifbhL[jɑĕL[ƁCANZgt̕
  ܂D̑gݍ킹`ĂȂꍇɂ́CANZgƕ
  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ɒ`ł܂Df
  bhL[{V{Ő̂́Ccomose+ ANZgL[ + symbol ō
  ̂ƂƓłD

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

  # 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. LinuxL[{[hhCo[̃JjYgiloadkeys j

  2. X̃JjYgD X386keybd(1)CX XFree86kbd(1)QƂ̂ƁDX11R6
  ̏ꍇ /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 𐶐܂DLinuxemamc̏ꍇɂ́C
  ł͍ŏ̑gݍ킹@@\Ȃ悤ɂȂĂ܂DX̏ꍇC
  gݍ킹̃Xg͌Œ肳Ă܂D Linuxemacs͂̓_C_ɂȂĂ
  ܂DR̏ݒ胊Xg͂ǂގĂ܂Cוɂ͍ق܂D

    9.  [̗lX̓

  eL[sR[hyтwgpledݒɂẮCloadkeys(1),
  setleds(1), setmetamode(1) ̃}jAy[WD܂Xgpɂ
  ẮCxmodcap(1)̃}jAy[WQƂĂD

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

  [ɃAhXvȎ́C/etc/termcapɂ GXP[vV[N
  GX`𗘗pĂ܂DVo[ẂC/usr/lib/terminfo ɂ܂D
  iterminfo(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  JgVTƓӖłƂ݂Ȃ܂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 modegpvO̒ɂ̓L[{[h[h K_XLATE
  ߂ȂŏIĂ܂̂܂DȂƂȂɂ̂ςŁC
  Ctrl-Alt-Del܂ŎgȂȂĂ܂܂DȂ炱ȂĂCZb
  g{^ɍς܂@邱Ƃ܂i͊ĂȂ
  ƂłDHackQ[ĂrɃu[gꂽ̂ł͒Nēɗ邵C
  ̏VXe댯̂łjȒPȉ@́C̒[邢
  ͑̃}V烍OCCkbd_mode -a s邱ƂłD X
  ȂꍇCȂ킿fBXv[eLXg[hbash̃vvgƂ
  ̂łDȉɎ@́CɎgp̃L[{[hUSL[{[hŁC
  荞ݕ Ctrl-CƂƂOɂ̂łD

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

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

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

  ̏𐮂Ăꍇɂ́C215A301 (3V{jkbd_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/ttytypep܂D /etc/profileTERMϐݒ肷ꍇ
  ܂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[pGg[
  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[pterminfo Gg[ɂ́Ckich1=needed Ƃ
  Gg[Ă܂D̃Gg[KvȃvÔŁCt@
  CҏWCtic ŃRpCĂD

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

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

  ܂ŏɁCJ[l̓̓vZXWrbgʂ悤ɂKv
  ܂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, -NIvVtĂ (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̃VXenlsĂ悤Ȃ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[8rbgł邱Ƃ킩Ă
  ꍇɂ́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ʏ
  cursespbP[ẂCrbgrfI[hpɗ\񂵂Ă܂D
  i/usr/include/curses.hɂflag _STANDOUT ̒`𒲂ׂĂjC
  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 Iv
  V΂Ƃ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[W2.1ȍ~CXFree86 ͉\ȌLinuxkeymappXpkeymap
  悤ɂȂĂ܂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)̃}jAy[Wǂ݉D

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

  ŃJ[lkeymapǂݍ݁CΉwpݒ肪쐬܂C͂
  Ȃ̂łD"action keys"i Show_Memory, Show_State, Show_Registers,
  Last_Console, Console_n, Scroll_Backward, Scroll_Forward, Caps_OnCBootj
  ΂rfBO͖܂DfbhL[Ce탍bNL[ (ShiftLock
  ),  "ASCII-x" keyslɎ舵܂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悤ɁjEscapet
  邩̂ꂩ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łCgp̃J[l
  1.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[XLinux ɂ
  Ă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,97CEVtg42,54CEA
  g54,56ƂȂĂ܂j@\͂ꂼControl_Lock, Shift_Lock, Alt_Lock,
  ALtGr_Lock.łD

  ꂽ@\łCVkbd pbP[W͂܂\Ă܂D]āC
  stick 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@łCg
  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͋ɂ߂ČnI
  VT_RESIZE ioctl ̃bp[łjB.FSVGATextMode R}hg@i
  VT_RESIZE ioctal ̂⍂ȃbpłj

  SDu[vɂȂƂFdosemu svgalib 𗘗pĂꍇɂ́C[h
  Co[𑀍삷邱ƂȂn[hEFArfI[hύX邱Ƃł܂D
  ̕@́Cresizecon  SVGATextMode ̐ݒ擾̂ɗLȏꍇ
  Ddosemu  DOS vOgĊ]rfI[hɕύXCr
  fIn[hEFAWX^̓eiVTj_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ĂD
  gp̃}V\ȂׂẴrfI[hŃu[gAbvililo̐ݒt@C
  vga= Ƃ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@\̓I
  tɂȂ܂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[ Iapplication 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̃`[ibv
  肷ƁClȖ肪DCLK, wait statements Ȃǂ̃^C~O
  ׂĂ艸Ȃ̂ɖ߂ƁC͂ȂȂvƂ̕񍐂܂D

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

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

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

