探索 DirectInput:高效处理输入设备的秘诀
1. 输入设备概述
在大多数应用程序中,用户输入是必不可少的。常见的输入设备有键盘、鼠标和游戏手柄,它们各有优缺点。
1.1 键盘
键盘是一个按逻辑模式排列的按键阵列,多数键盘具有标准的 101 - 102 键布局。按下或释放按键会向键盘微处理器发送信号,进而在计算机系统中产生中断。系统从键盘微处理器获取数据,该数据被称为扫描码。扫描码是一个字节,低 7 位表示按键值,最高位表示按键是被按下还是释放。
在 Windows 系统中,Windows 会将键盘输入的扫描码转换为标准化的虚拟键码(Virtual Key Codes)和 ASCII 码,并通过消息过程将这些值报告给程序员。虚拟键码是 Windows 版的扫描码,使用它可以确保无论使用何种键盘,都能准确对应相应的按键。ASCII 码则可以区分大小写字母,Windows 实际使用的是扩展 ASCII 码和 Unicode 字符。
1.2 鼠标
鼠标通常有两到三个按钮和一个用于跟踪移动的球(部分鼠标使用光学技术)。在底层,鼠标会向系统发送其移动方向的信息,驱动程序将这些信息转换为相对移动值。在典型应用中,Windows 会将鼠标的移动信息作为消息通过消息过程报告给用户,但这种方式有时较慢。为了加快接收和处理鼠标输入的速度,可以直接与鼠标驱动程序交互。
鼠标的移动可以跟踪绝对坐标或相对坐标。绝对坐标基于屏幕的固定点(通常是左上角),相对坐标则是相对于上一个已知位置的移动量。鼠标按钮只能标记当前按钮是否被按下。
1.3 游戏手柄
游戏手柄是游戏控制的
超级会员免费看
订阅专栏 解锁全文
982

被折叠的 条评论
为什么被折叠?



