bios.hint bioskey(int cmd)本函数用来执行各种键盘操作,由cmd确定操作。 cmd可为以下值: 0 返回敲键盘上的下一个键。若低8位为非0,即为ASCII字符;若低8位为0, 则返回扩充了的键盘代码。 1 测试键盘是否可用于读。返回0表示没有键可用;否则返回下一次敲键之值。 敲键本身一直保持由下次调用具的cmd值为0的bioskey所返回的值。 2 返回当前的键盘状态,由返回整数的每一个位表示,见下表: ┌──┬───────────┬───────────┐ │ 位 │为0时意义 │为1时意义 │ ├──┼───────────┼───────────┤ │ 7 │插入状态 │改写状态 │ │ 6 │大写状态 │小写状态 │ │ 5 │数字状态,NumLock灯亮 │光标状态,NumLock灯熄 │ │ 4 │ScrollLock灯亮 │ScrollLock灯熄 │ │ 3 │Alt按下 │Alt未按下 │ │ 2 │Ctrl按下 │Ctrl未按下 │ │ 1 │左Shift按下 │左Shift未按下 │ │ 0 │右Shift按下 │右Shift未按下 │ └──┴───────────┴───────────┘键盘代码表:左Alt按下状态下(即同时按下)bioskey(0)所得值规律如下:(注:16进制表示,后两位恒为00)按键盘布局,q 为 1000,w 为1100, 向右递增,p 为 1900 (再右的键无效。下同) a 为 1e00,s 为 1f00,(达最大) d 为 2000,向右递增,l 为 2600 z 为 2c00, 向右递增,v 为 2f00(达最大) b 为 3000,向右递增, m 为 3200 F1 为 6800, 向右递增,F10 为 7100,F11、F12无效当Alt未按下时,后两位不为0,前两位即为按下键的代码 q 为 10**,直到Enter为 1c** a 为 1e**,直到‘为 28**, `为29** z 为 2c**,直到 /为 35** 1 为 231,2 为 332, 3 为 434,依此递增,9 为 a39,0 为 b30,- 为 c2d, = 为 d3d,、为2b5c(猜想应为2b**) tab 为 f09,backspace 为 e08 F1 为 3b00,向右递增,F10 为 4400,F11、F12无效

评论