bioskey()函数详解以及返回的按键值

函数原型:int bioskey (int cmd)  
说明:bioskey()的函数原型在bios.h中,bioskey()完成直接键盘操作,cmd的值决定执行什么操作。
cmd = 0:  当cmd是0,bioskey()返回下一个在键盘键入的值(它将等待到按下一个键)。它返回一个16位的二进制数,包括两个不同的值。当按下一个普通键时,它的低8位数存放该字符的ASCII码,高8位存放该键的扫描码;对于特殊键(如方向键、F1~F12等等),低8位为0,高8位字节存放该键的扫描码。
cmd = 1:  当cmd是1,bioskey()查询是否按下一个键,若按下一个键则返回非零值,否则返回0。
cmd = 2:  当cmd是2,bioskey()返回Shift、Ctrl、Alt、ScrollLock、NumLock、CapsLock、Insert键的状态。各键状态存放在返回值的低8位字节中。  
字节位 含义  0 右边Shift键状态  
              1 左边Shift键状态  
              2 Ctrl键状态  
              3 Alt键状态  
              4 ScrollLock键状态  
              5 NumLock键状态  
              6 CapsLock键状态  
              7 Insert键状态  字节位为1表示该键被按下,为0表示松开。

   Key     Normal    Shifted   w/Ctrl    w/Alt
   键位      常态      上档态    控制态    变更态

    A      1E61        1E41      1E01    1E00
    B      3062        3042      3002    3000
    C      2E63        2E43      2E03    2E00
    D      2064        2044      2004    2000
    E      1265        1245      1205    1200
    F       2166        2146      2106    2100
    G      2267        2247      2207    2200
    H      2368        2348      2308    2300
    I      1769        1749      1709    1700
    J      246A        244A      240A    2400
    K      256B        254B      250B    2500
    L      266C        264C      260C    2600
    M      326D        324D      320D    3200
    N      316E        314E      310E    3100
    O      186F        184F      180F    1800
    P      1970        1950      1910    1900
    Q      1071        1051      1011    1000
    R      1372        1352      1312    1300
    S      1F73        1F53      1F13    1F00
    T      1474        1454      1414    1400
    U      1675        1655      1615    1600
    V      2F76        2F56      2F16    2F00
    W      1177        1157      1117    1100
    X      2D78        2D58      2D18    2D00
    Y      1579        1559      1519    1500
    Z      2C7A        2C5A      2C1A    2C00

   Key     Normal    Shifted   w/Ctrl    w/Alt
   键位      常态      上档态    控制态    变更态

    1      0231        0221        7800
    2      0332        0340      0300    7900
    3      0433        0423        7A00
    4      0534        0524        7B00
    5      0635        0625        7C00
    6      0736        075E      071E    7D00
    7      0837        0826        7E00
    8      0938        092A        7F00
    9      0A39        0A28        8000
    0      0B30        0B29        8100

   Key     Normal    Shifted   w/Ctrl    w/Alt
   键位      常态      上档态    控制态    变更态

    -      0C2D        0C5F      0C1F    8200
    =      0D3D        0D2B        8300
    [      1A5B        1A7B      1A1B    1A00
    ]      1B5D        1B7D ,    &, nbsp; 1B1D    1B00
    ;      273B        273A        2700
    '      2827        2822
    `      2960        297E
    /      2B5C        2B7C      2B1C    2600 (same as Alt L)
    ,      332C        333C
    .      342E        343E
    /      352F        353F

   Key     Normal    Shifted   w/Ctrl    w/Alt
   键位      常态      上档态    控制态    变更态

    F1      3B00        5400      5E00    6800
    F2      3C00        5500      5F00    6900
    F3      3D00        5600      6000    6A00
    F4      3E00        5700      6100    6B00
    F5      3F00        5800      6200    6C00
    F6      4000        5900      6300    6D00
    F7      4100        5A00      6400    6E00
    F8      4200        5B00      6500    6F00
    F9      4300        5C00      6600    7000
    F10      4400        5D00      6700    7100
    F11      8500        8700      8900    8B00
    F12      8600        8800      8A00    8C00

    Key        Normal    Shifted    w/Ctrl      w/Alt
    键位        常态      上档态    控制态    变更态

    BackSpace    0E08      0E08     0E7F      0E00
    Del         5300      532E     9300      A300
    Down Arrow   5000      5032     9100      A000
    End         4F00      4F31     7500      9F00
    Enter         1C0D      1C0D     1C0A      A600
    Esc         011B      011B     011B      0100
    Home         4700      4737     7700      9700
    Ins         5200      5230     9200      A200
    Keypad 5        4C35     8F00
    Keypad *     372A         9600      3700
    Keypad -     4A2D      4A2D     8E00      4A00
    Keypad +     4E2B      4E2B          4E00
    Keypad /     352F      352F     9500      A400
    Left Arrow   4B00      4B34     7300      9B00
    PgDn         5100      5133     7600      A100
    PgUp         4900      4939     8400      9900
    PrtSc                 7200
    Right Arrow  4D00      4D36     7400      9D00
    SpaceBar     3920      3920     3920      3920
    Tab         0F09      0F00     9400      A500
    Up Arrow     4800      4838     8D00      9800

 

  • 3
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

chailongger

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值