KEYMAP.5
上传用户:datang2001
上传日期:2007-02-01
资源大小:53269k
文件大小:4k
源码类别:

操作系统开发

开发平台:

C/C++

  1. .TH KEYMAP 5
  2. .SH NAME
  3. keymap - keyboard maps
  4. .SH SYNOPSIS
  5. .B /etc/keymap
  6. .SH DESCRIPTION
  7. .B /etc/keymap 
  8. is the compressed mapping from keyboard scan codes to ASCII.
  9. It is made from a keymap source file consisting of MAP_COLS columns
  10. (MINIX assigns the value 6 to MAX_COLS, corresponding to key pressed,
  11. key+SHIFT, key+LEFT_ALT, key+RIGHT_ALT, key+ALT+SHIFT and key+CTRL) and 
  12. NR_SCAN_CODES rows (MINIX assigns the value 0x80 to NR_SCAN_CODES, 
  13. corresponding to the number of scan codes to be provided by the keyboard),
  14. and each element is 2 bytes in length (see u16_t in type definitions). 
  15. The low order byte corresponds to the character represented by the scan 
  16. code, and the high order byte corresponds to the special meaning (when 
  17. CAPS LOCK has effect, if it is a function key, etc.), which is converted to
  18. binary keymap format using the
  19. .BR genmap  
  20. utility. 
  21. .PP
  22. .SS "Types (general): <sys/types.h>"
  23. <sys/types.h> defines the
  24. .B u8_t
  25. and
  26. .B u16_t
  27. types, corresponding to 8 and 16 bit values.
  28. .SS "Macros: <minix/keymap.h>"
  29. .TP
  30. .BI "C(" c ") - Control"
  31. Maps to control code
  32. .TP
  33. .BI "A(" c ") - Alt"
  34. Sets the eight bit
  35. .TP
  36. .BI "CA(" c ") - Control-Alt"
  37. Short for
  38. .BI "A(C(" c "))"
  39. .TP
  40. .BI "L(" c ") - Caps Lock"
  41. Adds Caps Lock effect
  42. .PP
  43. These macros are used in a keymap source file to help define keys.  So
  44. instead of writing
  45. .B 032
  46. to put a CTRL-Z in the map you write
  47. .BR "C('Z')" .
  48. The
  49. .BI "L(" c ")"
  50. macro is used in column 0 to tell that the Caps Lock key is active for this
  51. key.  (Caps Lock should only have effect on letters.)
  52. .SS "Definitions: <minix/keymap.h>"
  53. <minix/keymap.h> contains a large number of definitions for special keys,
  54. like function keys, and keys on the numeric keypad.  They are:
  55. .PP
  56. Escape key and modifiers:
  57. .BR EXT ,
  58. .BR CTRL ,
  59. .BR SHIFT ,
  60. .BR ALT .
  61. .PP
  62. Numeric keypad keys:
  63. .BR HOME ,
  64. .BR END ,
  65. .BR UP ,
  66. .BR DOWN ,
  67. .BR LEFT ,
  68. .BR RIGHT ,
  69. .BR PGUP ,
  70. .BR PGDN ,
  71. .BR MID " (numeric '5'),"
  72. .BR PLUS ,
  73. .BR INSRT .
  74. .PP
  75. ALT + numpad key:
  76. .BR AHOME ,
  77. .BR AEND ", ...,"
  78. .BR AINSRT .
  79. .PP
  80. CTRL + numpad:
  81. .BR CHOME ,
  82. .BR CEND ", ...,"
  83. .BR CINSRT .
  84. .PP
  85. Lock keys:
  86. .BR CALOCK " (Caps Lock),"
  87. .BR NLOCK " (Num Lock),"
  88. .BR SLOCK " (Scroll Lock)."
  89. .PP
  90. Function keys:
  91. .BR F1 ", ...,"
  92. .BR F12 .
  93. .PP
  94. ALT - function key:
  95. .BR AF1 ", ...,"
  96. .BR AF12 .
  97. .PP
  98. CTRL - function key:
  99. .BR CF1 ", ...,"
  100. .BR CF12 .
  101. .PP
  102. SHIFT - function key:
  103. .BR SF1 ", ...,"
  104. .BR SF12 .
  105. .PP
  106. ALT - SHIFT - function key:
  107. .BR ASF1 ", ...,"
  108. .BR ASF12 .
  109. .PP
  110. There is one key definition that isn't a key at all:
  111. .BR EXTKEY .
  112. This keycode is sent by the keyboard as an indicator that the next keycode
  113. is special.  For instance both ALT keys have the same keycode, but the right
  114. ALT key is sent by the keyboard preceded by the EXTKEY keycode.  The same is
  115. true for the '/' key on the numeric pad versus the other '/' key on the US
  116. keyboard.  (On other keyboards this key may have a different symbol.)  The
  117. keyboard driver knows that a different key is presses if it is preceded by
  118. EXTKEY.
  119. .SS "Creating/changing keyboard mapping"
  120. You can create your own keyboard mapping by copying one of the existing
  121. keymap source files (Standard Minix:
  122. .BR kernel/keymaps/*.src ,
  123. Minix-vmd:
  124. .BR kernel/ibm/keymaps/*.src )
  125. and modifying the desired keys. Once this has been done, you need to
  126. recompile the genmap.c file, either by adding a new entry to the Makefile,
  127. or by running the following commands:
  128. .PP
  129. .RS
  130. .ft B
  131. cc -DKEYSRC=e"fIkeymapfP.srce" genmap.c
  132. .ft P
  133. .RE
  134. .PP
  135. After this, the 
  136. .BR keymap 
  137. file can be generated by running:
  138. .PP
  139. .RS
  140. .BI "a.out > " keymap .map
  141. .RE
  142. .PP
  143. The keymap can be loaded in the keyboard driver by:
  144. .PP
  145. .RS
  146. .BI "loadkeys " keymap .map
  147. .RE
  148. .PP
  149. It is wise to first run
  150. .B loadkeys
  151. on one of the maps in
  152. .B /usr/lib/keymaps
  153. so that you can easily revert back to a known keymap with a few taps on the
  154. up-arrow key and pressing return.  You will otherwise have to fix the keymap
  155. with a faulty keymap loaded into the keyboard driver, which is no fun.
  156. .PP
  157. When the keymap is to your satisfaction you can copy it to
  158. .B /etc/keymap
  159. to have it loaded automatically at reboot.
  160. .SH FILES
  161. .TP 15
  162. .B /etc/keymap
  163. Default keymap file
  164. .SH "SEE ALSO"
  165. .B loadkeys (1).
  166. .SH AUTHOR
  167. Victor A. Rodriguez - El bit Fantasma (Bit-Man@Tasa.Com.AR)