4、探索 DirectInput:高效处理输入设备的秘诀

探索 DirectInput:高效处理输入设备的秘诀

1. 输入设备概述

在大多数应用程序中,用户输入是必不可少的。常见的输入设备有键盘、鼠标和游戏手柄,它们各有优缺点。

1.1 键盘

键盘是一个按逻辑模式排列的按键阵列,多数键盘具有标准的 101 - 102 键布局。按下或释放按键会向键盘微处理器发送信号,进而在计算机系统中产生中断。系统从键盘微处理器获取数据,该数据被称为扫描码。扫描码是一个字节,低 7 位表示按键值,最高位表示按键是被按下还是释放。

在 Windows 系统中,Windows 会将键盘输入的扫描码转换为标准化的虚拟键码(Virtual Key Codes)和 ASCII 码,并通过消息过程将这些值报告给程序员。虚拟键码是 Windows 版的扫描码,使用它可以确保无论使用何种键盘,都能准确对应相应的按键。ASCII 码则可以区分大小写字母,Windows 实际使用的是扩展 ASCII 码和 Unicode 字符。

1.2 鼠标

鼠标通常有两到三个按钮和一个用于跟踪移动的球(部分鼠标使用光学技术)。在底层,鼠标会向系统发送其移动方向的信息,驱动程序将这些信息转换为相对移动值。在典型应用中,Windows 会将鼠标的移动信息作为消息通过消息过程报告给用户,但这种方式有时较慢。为了加快接收和处理鼠标输入的速度,可以直接与鼠标驱动程序交互。

鼠标的移动可以跟踪绝对坐标或相对坐标。绝对坐标基于屏幕的固定点(通常是左上角),相对坐标则是相对于上一个已知位置的移动量。鼠标按钮只能标记当前按钮是否被按下。

1.3 游戏手柄

游戏手柄是游戏控制的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值