gpt4 book ai didi

c - +<右> 与 <右>?

转载 作者:行者123 更新时间:2023-11-30 15:40:44 29 4
gpt4 key购买 nike

我想知道最终用户按下了什么,所以我使用了 getch()

如果用户按,我可以获得0xE0 0x4D

如果用户按下Ctrl+,我可以获得0xE0 0x47

如果用户按下Shift+,我可以获得0xE0 0x4D

getch()返回的RightShift+Right是相同的,所以怎么可能我知道最终用户按下了什么按钮?

最佳答案

根据您报告的按键值,我假设您正在使用某些 MS-DOS 环境和编译器,并且您已将键盘输入设置为扫描码模式。如果是这样,您应该了解所有驱动程序逻辑细节。特别地,用相应的扫描码来报告按住Shift。 This table报告两个类次有 2Ah 和 36h,因此,您应该考虑两者,保留按下的修饰符以及两个 Ctrl、两个 Alt、Caps 等的内部表。

(这真的是您想要的东西吗?扫描码是非常低级的野兽。)

更新:我忘记指定导航键处理是键盘本身特定的。对于数字 block ,它取决于 NumLock 状态。对于附加箭头/导航 block ,它通常充当关闭 NumLock 的数字 block ,但存在细微差别。细节上有很好的描述,如this one ,并应注意反射(reflect)例如集合 1 和翻译后的集合 2 之间的差异(后者当前与 PS/2 一起使用)。 BIOS 中 USB 键盘的 PS/2 模拟可以添加自己的细节。一般来说,所有这些并不复杂,但很麻烦,并且需要许多遗留问题知识。

关于c - <Shift>+<右> 与 <右>?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20867024/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com