在哪里可以找到 Mac 虚拟按键代码列表?

发布于 2024-09-08 07:37:56 字数 238 浏览 7 评论 0 原文

我正在使用 CGEventCreateKeyboardEvent 并且需要知道要使用什么 CGKeyCode 值。

具体来说,我正在寻找 Command 键的键代码。文档给出了其他键的示例:z6shift56

某处一定有 Mac 虚拟键码列表?

I'm using CGEventCreateKeyboardEvent and need to know what CGKeyCode values to use.

Specifically, I am after the key code for the Command key. The docs give examples for other keys: z is 6, shift is 56.

There must be a list of Mac virtual keycodes somewhere?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(8

岁月苍老的讽刺 2024-09-15 07:37:56

下面是供快速参考的常用关键代码列表,取自 Events.h

如果您需要在应用程序中使用这些键码,您应该包含 Carbon 框架:

Objective-C:
#include

Swift:
import Carbon.HIToolbox

然后您可以直接使用kVK_ANSI_A 常量。


警告

键常量引用键盘上的物理键。如果打字员使用不同的键盘布局,它们的输出就会改变。常量中的字母仅对应于美国 QWERTY 键盘布局。

例如,主行上的左手无名指键:

QWERTY键盘布局> s> kVK_ANSI_S > > “s”
德沃夏克键盘布局 > o > > kVK_ANSI_S > > "o"

此处讨论与布局无关的键码到字符串转换的策略,反之亦然:

如何将 ASCII 字符转换为 CGKeyCode?


来自 Events.h

/*
 *  Summary:
 *    Virtual keycodes
 *  
 *  Discussion:
 *    These constants are the virtual keycodes defined originally in
 *    Inside Mac Volume V, pg. V-191. They identify physical keys on a
 *    keyboard. Those constants with "ANSI" in the name are labeled
 *    according to the key position on an ANSI-standard US keyboard.
 *    For example, kVK_ANSI_A indicates the virtual keycode for the key
 *    with the letter 'A' in the US keyboard layout. Other keyboard
 *    layouts may have the 'A' key label on a different physical key;
 *    in this case, pressing 'A' will generate a different virtual
 *    keycode.
 */
enum {
  kVK_ANSI_A                    = 0x00,
  kVK_ANSI_S                    = 0x01,
  kVK_ANSI_D                    = 0x02,
  kVK_ANSI_F                    = 0x03,
  kVK_ANSI_H                    = 0x04,
  kVK_ANSI_G                    = 0x05,
  kVK_ANSI_Z                    = 0x06,
  kVK_ANSI_X                    = 0x07,
  kVK_ANSI_C                    = 0x08,
  kVK_ANSI_V                    = 0x09,
  kVK_ANSI_B                    = 0x0B,
  kVK_ANSI_Q                    = 0x0C,
  kVK_ANSI_W                    = 0x0D,
  kVK_ANSI_E                    = 0x0E,
  kVK_ANSI_R                    = 0x0F,
  kVK_ANSI_Y                    = 0x10,
  kVK_ANSI_T                    = 0x11,
  kVK_ANSI_1                    = 0x12,
  kVK_ANSI_2                    = 0x13,
  kVK_ANSI_3                    = 0x14,
  kVK_ANSI_4                    = 0x15,
  kVK_ANSI_6                    = 0x16,
  kVK_ANSI_5                    = 0x17,
  kVK_ANSI_Equal                = 0x18,
  kVK_ANSI_9                    = 0x19,
  kVK_ANSI_7                    = 0x1A,
  kVK_ANSI_Minus                = 0x1B,
  kVK_ANSI_8                    = 0x1C,
  kVK_ANSI_0                    = 0x1D,
  kVK_ANSI_RightBracket         = 0x1E,
  kVK_ANSI_O                    = 0x1F,
  kVK_ANSI_U                    = 0x20,
  kVK_ANSI_LeftBracket          = 0x21,
  kVK_ANSI_I                    = 0x22,
  kVK_ANSI_P                    = 0x23,
  kVK_ANSI_L                    = 0x25,
  kVK_ANSI_J                    = 0x26,
  kVK_ANSI_Quote                = 0x27,
  kVK_ANSI_K                    = 0x28,
  kVK_ANSI_Semicolon            = 0x29,
  kVK_ANSI_Backslash            = 0x2A,
  kVK_ANSI_Comma                = 0x2B,
  kVK_ANSI_Slash                = 0x2C,
  kVK_ANSI_N                    = 0x2D,
  kVK_ANSI_M                    = 0x2E,
  kVK_ANSI_Period               = 0x2F,
  kVK_ANSI_Grave                = 0x32,
  kVK_ANSI_KeypadDecimal        = 0x41,
  kVK_ANSI_KeypadMultiply       = 0x43,
  kVK_ANSI_KeypadPlus           = 0x45,
  kVK_ANSI_KeypadClear          = 0x47,
  kVK_ANSI_KeypadDivide         = 0x4B,
  kVK_ANSI_KeypadEnter          = 0x4C,
  kVK_ANSI_KeypadMinus          = 0x4E,
  kVK_ANSI_KeypadEquals         = 0x51,
  kVK_ANSI_Keypad0              = 0x52,
  kVK_ANSI_Keypad1              = 0x53,
  kVK_ANSI_Keypad2              = 0x54,
  kVK_ANSI_Keypad3              = 0x55,
  kVK_ANSI_Keypad4              = 0x56,
  kVK_ANSI_Keypad5              = 0x57,
  kVK_ANSI_Keypad6              = 0x58,
  kVK_ANSI_Keypad7              = 0x59,
  kVK_ANSI_Keypad8              = 0x5B,
  kVK_ANSI_Keypad9              = 0x5C
};

/* keycodes for keys that are independent of keyboard layout*/
enum {
  kVK_Return                    = 0x24,
  kVK_Tab                       = 0x30,
  kVK_Space                     = 0x31,
  kVK_Delete                    = 0x33,
  kVK_Escape                    = 0x35,
  kVK_Command                   = 0x37,
  kVK_Shift                     = 0x38,
  kVK_CapsLock                  = 0x39,
  kVK_Option                    = 0x3A,
  kVK_Control                   = 0x3B,
  kVK_RightShift                = 0x3C,
  kVK_RightOption               = 0x3D,
  kVK_RightControl              = 0x3E,
  kVK_Function                  = 0x3F,
  kVK_F17                       = 0x40,
  kVK_VolumeUp                  = 0x48,
  kVK_VolumeDown                = 0x49,
  kVK_Mute                      = 0x4A,
  kVK_F18                       = 0x4F,
  kVK_F19                       = 0x50,
  kVK_F20                       = 0x5A,
  kVK_F5                        = 0x60,
  kVK_F6                        = 0x61,
  kVK_F7                        = 0x62,
  kVK_F3                        = 0x63,
  kVK_F8                        = 0x64,
  kVK_F9                        = 0x65,
  kVK_F11                       = 0x67,
  kVK_F13                       = 0x69,
  kVK_F16                       = 0x6A,
  kVK_F14                       = 0x6B,
  kVK_F10                       = 0x6D,
  kVK_F12                       = 0x6F,
  kVK_F15                       = 0x71,
  kVK_Help                      = 0x72,
  kVK_Home                      = 0x73,
  kVK_PageUp                    = 0x74,
  kVK_ForwardDelete             = 0x75,
  kVK_F4                        = 0x76,
  kVK_End                       = 0x77,
  kVK_F2                        = 0x78,
  kVK_PageDown                  = 0x79,
  kVK_F1                        = 0x7A,
  kVK_LeftArrow                 = 0x7B,
  kVK_RightArrow                = 0x7C,
  kVK_DownArrow                 = 0x7D,
  kVK_UpArrow                   = 0x7E
};

Macintosh Toolbox Essentials图 2-10 中说明了 Apple 扩展键盘 II 的这些虚拟键代码的物理位置:

Apple 扩展键盘 II 的虚拟按键代码

Below is a list of the common key codes for quick reference, taken from Events.h.

If you need to use these keycodes in an application, you should include the Carbon framework:

Objective-C:
#include <Carbon/Carbon.h>

Swift:
import Carbon.HIToolbox

You can then use the kVK_ANSI_A constants directly.


WARNING

The key constants reference physical keys on the keyboard. Their output changes if the typist is using a different keyboard layout. The letters in the constants correspond only to the U.S. QWERTY keyboard layout.

For example, the left ring-finger key on the homerow:

QWERTY keyboard layout > s > kVK_ANSI_S > "s"
Dvorak keyboard layout > o > kVK_ANSI_S > "o"

Strategies for layout-agnostic conversion of keycode to string, and vice versa, are discussed here:

How to convert ASCII character to CGKeyCode?


From Events.h:

/*
 *  Summary:
 *    Virtual keycodes
 *  
 *  Discussion:
 *    These constants are the virtual keycodes defined originally in
 *    Inside Mac Volume V, pg. V-191. They identify physical keys on a
 *    keyboard. Those constants with "ANSI" in the name are labeled
 *    according to the key position on an ANSI-standard US keyboard.
 *    For example, kVK_ANSI_A indicates the virtual keycode for the key
 *    with the letter 'A' in the US keyboard layout. Other keyboard
 *    layouts may have the 'A' key label on a different physical key;
 *    in this case, pressing 'A' will generate a different virtual
 *    keycode.
 */
enum {
  kVK_ANSI_A                    = 0x00,
  kVK_ANSI_S                    = 0x01,
  kVK_ANSI_D                    = 0x02,
  kVK_ANSI_F                    = 0x03,
  kVK_ANSI_H                    = 0x04,
  kVK_ANSI_G                    = 0x05,
  kVK_ANSI_Z                    = 0x06,
  kVK_ANSI_X                    = 0x07,
  kVK_ANSI_C                    = 0x08,
  kVK_ANSI_V                    = 0x09,
  kVK_ANSI_B                    = 0x0B,
  kVK_ANSI_Q                    = 0x0C,
  kVK_ANSI_W                    = 0x0D,
  kVK_ANSI_E                    = 0x0E,
  kVK_ANSI_R                    = 0x0F,
  kVK_ANSI_Y                    = 0x10,
  kVK_ANSI_T                    = 0x11,
  kVK_ANSI_1                    = 0x12,
  kVK_ANSI_2                    = 0x13,
  kVK_ANSI_3                    = 0x14,
  kVK_ANSI_4                    = 0x15,
  kVK_ANSI_6                    = 0x16,
  kVK_ANSI_5                    = 0x17,
  kVK_ANSI_Equal                = 0x18,
  kVK_ANSI_9                    = 0x19,
  kVK_ANSI_7                    = 0x1A,
  kVK_ANSI_Minus                = 0x1B,
  kVK_ANSI_8                    = 0x1C,
  kVK_ANSI_0                    = 0x1D,
  kVK_ANSI_RightBracket         = 0x1E,
  kVK_ANSI_O                    = 0x1F,
  kVK_ANSI_U                    = 0x20,
  kVK_ANSI_LeftBracket          = 0x21,
  kVK_ANSI_I                    = 0x22,
  kVK_ANSI_P                    = 0x23,
  kVK_ANSI_L                    = 0x25,
  kVK_ANSI_J                    = 0x26,
  kVK_ANSI_Quote                = 0x27,
  kVK_ANSI_K                    = 0x28,
  kVK_ANSI_Semicolon            = 0x29,
  kVK_ANSI_Backslash            = 0x2A,
  kVK_ANSI_Comma                = 0x2B,
  kVK_ANSI_Slash                = 0x2C,
  kVK_ANSI_N                    = 0x2D,
  kVK_ANSI_M                    = 0x2E,
  kVK_ANSI_Period               = 0x2F,
  kVK_ANSI_Grave                = 0x32,
  kVK_ANSI_KeypadDecimal        = 0x41,
  kVK_ANSI_KeypadMultiply       = 0x43,
  kVK_ANSI_KeypadPlus           = 0x45,
  kVK_ANSI_KeypadClear          = 0x47,
  kVK_ANSI_KeypadDivide         = 0x4B,
  kVK_ANSI_KeypadEnter          = 0x4C,
  kVK_ANSI_KeypadMinus          = 0x4E,
  kVK_ANSI_KeypadEquals         = 0x51,
  kVK_ANSI_Keypad0              = 0x52,
  kVK_ANSI_Keypad1              = 0x53,
  kVK_ANSI_Keypad2              = 0x54,
  kVK_ANSI_Keypad3              = 0x55,
  kVK_ANSI_Keypad4              = 0x56,
  kVK_ANSI_Keypad5              = 0x57,
  kVK_ANSI_Keypad6              = 0x58,
  kVK_ANSI_Keypad7              = 0x59,
  kVK_ANSI_Keypad8              = 0x5B,
  kVK_ANSI_Keypad9              = 0x5C
};

/* keycodes for keys that are independent of keyboard layout*/
enum {
  kVK_Return                    = 0x24,
  kVK_Tab                       = 0x30,
  kVK_Space                     = 0x31,
  kVK_Delete                    = 0x33,
  kVK_Escape                    = 0x35,
  kVK_Command                   = 0x37,
  kVK_Shift                     = 0x38,
  kVK_CapsLock                  = 0x39,
  kVK_Option                    = 0x3A,
  kVK_Control                   = 0x3B,
  kVK_RightShift                = 0x3C,
  kVK_RightOption               = 0x3D,
  kVK_RightControl              = 0x3E,
  kVK_Function                  = 0x3F,
  kVK_F17                       = 0x40,
  kVK_VolumeUp                  = 0x48,
  kVK_VolumeDown                = 0x49,
  kVK_Mute                      = 0x4A,
  kVK_F18                       = 0x4F,
  kVK_F19                       = 0x50,
  kVK_F20                       = 0x5A,
  kVK_F5                        = 0x60,
  kVK_F6                        = 0x61,
  kVK_F7                        = 0x62,
  kVK_F3                        = 0x63,
  kVK_F8                        = 0x64,
  kVK_F9                        = 0x65,
  kVK_F11                       = 0x67,
  kVK_F13                       = 0x69,
  kVK_F16                       = 0x6A,
  kVK_F14                       = 0x6B,
  kVK_F10                       = 0x6D,
  kVK_F12                       = 0x6F,
  kVK_F15                       = 0x71,
  kVK_Help                      = 0x72,
  kVK_Home                      = 0x73,
  kVK_PageUp                    = 0x74,
  kVK_ForwardDelete             = 0x75,
  kVK_F4                        = 0x76,
  kVK_End                       = 0x77,
  kVK_F2                        = 0x78,
  kVK_PageDown                  = 0x79,
  kVK_F1                        = 0x7A,
  kVK_LeftArrow                 = 0x7B,
  kVK_RightArrow                = 0x7C,
  kVK_DownArrow                 = 0x7D,
  kVK_UpArrow                   = 0x7E
};

Macintosh Toolbox Essentials illustrates the physical locations of these virtual key codes for the Apple Extended Keyboard II in Figure 2-10:

Virtual key codes for the Apple Extended Keyboard II

泛泛之交 2024-09-15 07:37:56

更规范的参考位于 中:

/System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/HIToolbox.framework/Versions/A/Headers/Events.h

在较新版本的 MacOS 中,“Events.h”移至此处:

/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/HIToolbox.framework/Versions/A/Headers/Events.h

The more canonical reference is in <HIToolbox/Events.h>:

/System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/HIToolbox.framework/Versions/A/Headers/Events.h

In newer Versions of MacOS the "Events.h" moved to here:

/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/HIToolbox.framework/Versions/A/Headers/Events.h
亚希 2024-09-15 07:37:56

此处找到答案

所以:

  • Command 键是 55
  • Shift 是 56
  • Caps Lock 57
  • Option 是 58
  • Control 是 59。

Found an answer here.

So:

  • Command key is 55
  • Shift is 56
  • Caps Lock 57
  • Option is 58
  • Control is 59.
另类 2024-09-15 07:37:56

这是所有的键码。

下表列出了三个平台的一些键码。它基于美国扩展键盘布局。

http://web.archive.org /web/20100501161453/http://www.classicteck.com/rbarticles/mackeyboard.php

或者,Mac App Store 中有一个名为“Key Codes”的应用程序。下载它以查看您按下的按键的键码。

关键代码:
https://itunes.apple.com/tr /app/key-codes/id414568915?l=tr&mt=12

Here are the all keycodes.

Here is a table with some keycodes for the three platforms. It is based on a US Extended keyboard layout.

http://web.archive.org/web/20100501161453/http://www.classicteck.com/rbarticles/mackeyboard.php

Or, there is an app in the Mac App Store named "Key Codes". Download it to see the keycodes of the keys you press.

Key Codes:
https://itunes.apple.com/tr/app/key-codes/id414568915?l=tr&mt=12

殊姿 2024-09-15 07:37:56

我在研究文章时发现了这篇精彩的LibOS

输入图像描述这里

PS:Mac的虚拟键码最差

I found this wonderful article while doing the research for LibOS.

enter image description here

P.S: Mac's virtual key codes are the worst

半山落雨半山空 2024-09-15 07:37:56

除了其他答案中提供的键码之外,macOS Sierra 中引入的较新 API 中还有用于键重新映射的“使用 ID”:

技术说明TN2450

在 macOS 10.12 Sierra 中重新映射按键

在 macOS Sierra 10.12 中,按键重新映射的机制已更改。本技术说明适用于按键重新映射软件的开发人员,以便他们可以更新其软件以支持 macOS Sierra 10.12。在本技术说明中,我们提出了 2 个用于实现 macOS 10.12 关键重新映射功能的解决方案。

https://developer.apple.com/library/archive /technotes/tn2450/_index.html

Keyboard a and A - 0x04
Keyboard b and B - 0x05
Keyboard c and C - 0x06
Keyboard d and D - 0x07
Keyboard e and E - 0x08
...

In addition to the keycodes supplied in other answers, there are also "usage IDs" used for key remapping in the newer APIs introduced in macOS Sierra:

Technical Note TN2450

Remapping Keys in macOS 10.12 Sierra

Under macOS Sierra 10.12, the mechanism for key remapping was changed. This Technical Note is for developers of key remapping software so that they can update their software to support macOS Sierra 10.12. We present 2 solutions for implementing key remapping functionality for macOS 10.12 in this Technical Note.

https://developer.apple.com/library/archive/technotes/tn2450/_index.html

Keyboard a and A - 0x04
Keyboard b and B - 0x05
Keyboard c and C - 0x06
Keyboard d and D - 0x07
Keyboard e and E - 0x08
...
墨小墨 2024-09-15 07:37:56

如果有人想输入 ansi 字符,这里有一些预先构建的 Objective-C 字典:

NSDictionary *lowerCaseCodes = @{
                                @"Q" : @(12),
                                @"W" : @(13),
                                @"E" : @(14),
                                @"R" : @(15),
                                @"T" : @(17),
                                @"Y" : @(16),
                                @"U" : @(32),
                                @"I" : @(34),
                                @"O" : @(31),
                                @"P" : @(35),
                                @"A" : @(0),
                                @"S" : @(1),
                                @"D" : @(2),
                                @"F" : @(3),
                                @"G" : @(5),
                                @"H" : @(4),
                                @"J" : @(38),
                                @"K" : @(40),
                                @"L" : @(37),
                                @"Z" : @(6),
                                @"X" : @(7),
                                @"C" : @(8),
                                @"V" : @(9),
                                @"B" : @(11),
                                @"N" : @(45),
                                @"M" : @(46),
                                @"0" : @(29),
                                @"1" : @(18),
                                @"2" : @(19),
                                @"3" : @(20),
                                @"4" : @(21),
                                @"5" : @(23),
                                @"6" : @(22),
                                @"7" : @(26),
                                @"8" : @(28),
                                @"9" : @(25),
                                @" " : @(49),
                                @"." : @(47),
                                @"," : @(43),
                                @"/" : @(44),
                                @";" : @(41),
                                @"'" : @(39),
                                @"[" : @(33),
                                @"]" : @(30),
                                @"\\" : @(42),
                                @"-" : @(27),
                                @"=" : @(24)
                                };

NSDictionary *shiftCodes = @{ // used in conjunction with the shift key
                                @"<" : @(43),
                                @">" : @(47),
                                @"?" : @(44),
                                @":" : @(41),
                                @"\"" : @(39),
                                @"{" : @(33),
                                @"}" : @(30),
                                @"|" : @(42),
                                @")" : @(29),
                                @"!" : @(18),
                                @"@" : @(19),
                                @"#" : @(20),
                                @"$" : @(21),
                                @"%" : @(23),
                                @"^" : @(22),
                                @"&" : @(26),
                                @"*" : @(28),
                                @"(" : @(25),
                                @"_" : @(27),
                                @"+" : @(24)
                                };

Here's some prebuilt Objective-C dictionaries if anyone wants to type ansi characters:

NSDictionary *lowerCaseCodes = @{
                                @"Q" : @(12),
                                @"W" : @(13),
                                @"E" : @(14),
                                @"R" : @(15),
                                @"T" : @(17),
                                @"Y" : @(16),
                                @"U" : @(32),
                                @"I" : @(34),
                                @"O" : @(31),
                                @"P" : @(35),
                                @"A" : @(0),
                                @"S" : @(1),
                                @"D" : @(2),
                                @"F" : @(3),
                                @"G" : @(5),
                                @"H" : @(4),
                                @"J" : @(38),
                                @"K" : @(40),
                                @"L" : @(37),
                                @"Z" : @(6),
                                @"X" : @(7),
                                @"C" : @(8),
                                @"V" : @(9),
                                @"B" : @(11),
                                @"N" : @(45),
                                @"M" : @(46),
                                @"0" : @(29),
                                @"1" : @(18),
                                @"2" : @(19),
                                @"3" : @(20),
                                @"4" : @(21),
                                @"5" : @(23),
                                @"6" : @(22),
                                @"7" : @(26),
                                @"8" : @(28),
                                @"9" : @(25),
                                @" " : @(49),
                                @"." : @(47),
                                @"," : @(43),
                                @"/" : @(44),
                                @";" : @(41),
                                @"'" : @(39),
                                @"[" : @(33),
                                @"]" : @(30),
                                @"\\" : @(42),
                                @"-" : @(27),
                                @"=" : @(24)
                                };

NSDictionary *shiftCodes = @{ // used in conjunction with the shift key
                                @"<" : @(43),
                                @">" : @(47),
                                @"?" : @(44),
                                @":" : @(41),
                                @"\"" : @(39),
                                @"{" : @(33),
                                @"}" : @(30),
                                @"|" : @(42),
                                @")" : @(29),
                                @"!" : @(18),
                                @"@" : @(19),
                                @"#" : @(20),
                                @"$" : @(21),
                                @"%" : @(23),
                                @"^" : @(22),
                                @"&" : @(26),
                                @"*" : @(28),
                                @"(" : @(25),
                                @"_" : @(27),
                                @"+" : @(24)
                                };
胡渣熟男 2024-09-15 07:37:56

macOS 10.12+

自 macOS Sierra 10.12 起,keyCode 已根据 通用串行总线 HID 使用表(转至第 51 页,10 键盘/小键盘页面)。

Usage           Usage ID (hex)
Keyboard a and A        0x04
Keyboard b and B        0x05
Keyboard c and C        0x06
Keyboard d and D        0x07
Keyboard e and E        0x08
Keyboard f and F        0x09
Keyboard g and G        0x0A
Keyboard h and H        0x0B
Keyboard i and I        0x0C
Keyboard j and J        0x0D
Keyboard k and K        0x0E
Keyboard l and L        0x0F
Keyboard m and M        0x10
Keyboard n and N        0x11
Keyboard o and O        0x12
Keyboard p and P        0x13
Keyboard q and Q        0x14
Keyboard r and R        0x15
Keyboard s and S        0x16
Keyboard t and T        0x17
Keyboard u and U        0x18
Keyboard v and V        0x19
Keyboard w and W        0x1A
Keyboard x and X        0x1B
Keyboard y and Y        0x1C
Keyboard z and Z        0x1D
Keyboard 1 and !        0x1E
Keyboard 2 and @        0x1F
Keyboard 3 and #        0x20
Keyboard 4 and $        0x21
Keyboard 5 and %        0x22
Keyboard 6 and ^        0x23
Keyboard 7 and &        0x24
Keyboard 8 and *        0x25
Keyboard 9 and (        0x26
Keyboard 0 and )        0x27
Keyboard Return (Enter) 0x28
Keyboard Escape         0x29
Keyboard Delete (Backspace)0x2A
Keyboard Tab            0x2B
Keyboard Spacebar       0x2C
Keyboard - and _        0x2D
Keyboard = and +        0x2E
Keyboard [ and {        0x2F
Keyboard ] and }        0x30
Keyboard \ and |        0x31
Keyboard Non-US # and ~ 0x32
Keyboard ; and :        0x33
Keyboard ' and "        0x34
Keyboard Grave Accent and Tilde 0x35
Keyboard , and "<"      0x36
Keyboard . and ">"      0x37
Keyboard / and ?        0x38
Keyboard Caps Lock      0x39
Keyboard F1             0x3A
Keyboard F2             0x3B
Keyboard F3             0x3C
Keyboard F4             0x3D
Keyboard F5             0x3E
Keyboard F6             0x3F
Keyboard F7             0x40
Keyboard F8             0x41
Keyboard F9             0x42
Keyboard F10            0x43
Keyboard F11            0x44
Keyboard F12            0x45
Keyboard Print Screen   0x46
Keyboard Scroll Lock    0x47
Keyboard Pause          0x48
Keyboard Insert         0x49
Keyboard Home           0x4A
Keyboard Page Up        0x4B
Keyboard Delete Forward 0x4C
Keyboard End            0x4D
Keyboard Page Down      0x4E
Keyboard Right Arrow    0x4F
Keyboard Left Arrow     0x50
Keyboard Down Arrow     0x51
Keyboard Up Arrow       0x52
Keypad Num Lock and Clear   0x53
Keypad /                0x54
Keypad *                0x55
Keypad -                0x56
Keypad +                0x57
Keypad Enter            0x58
Keypad 1 and End        0x59
Keypad 2 and Down Arrow 0x5A
Keypad 3 and Page Down  0x5B
Keypad 4 and Left Arrow 0x5C
Keypad 5                0x5D
Keypad 6 and Right Arrow    0x5E
Keypad 7 and Home       0x5F
Keypad 8 and Up Arrow   0x60
Keypad 9 and Page Up    0x61
Keypad 0 and Insert     0x62
Keypad . and Delete     0x63
Keyboard Non-US \ and | 0x64
Keyboard Application    0x65
Keyboard Power          0x66
Keypad =                0x67
Keyboard F13            0x68
Keyboard F14            0x69
Keyboard F15            0x6A
Keyboard F16            0x6B
Keyboard F17            0x6C
Keyboard F18            0x6D
Keyboard F19            0x6E
Keyboard F20            0x6F
Keyboard F21            0x70
Keyboard F22            0x71
Keyboard F23            0x72
Keyboard F24            0x73
Keyboard Left Control   0xE0
Keyboard Left Shift     0xE1
Keyboard Left Alt       0xE2
Keyboard Left GUI       0xE3
Keyboard Right Control  0xE4
Keyboard Right Shift    0xE5
Keyboard Right Alt      0xE6
Keyboard Right GUI      0xE7

macOS 10.12+

Since macOS Sierra 10.12, keyCode has been according to the Universal Serial Bus HID Usage Tables (go to section: 10 Keyboard/Keypad Page, page 51).

Usage           Usage ID (hex)
Keyboard a and A        0x04
Keyboard b and B        0x05
Keyboard c and C        0x06
Keyboard d and D        0x07
Keyboard e and E        0x08
Keyboard f and F        0x09
Keyboard g and G        0x0A
Keyboard h and H        0x0B
Keyboard i and I        0x0C
Keyboard j and J        0x0D
Keyboard k and K        0x0E
Keyboard l and L        0x0F
Keyboard m and M        0x10
Keyboard n and N        0x11
Keyboard o and O        0x12
Keyboard p and P        0x13
Keyboard q and Q        0x14
Keyboard r and R        0x15
Keyboard s and S        0x16
Keyboard t and T        0x17
Keyboard u and U        0x18
Keyboard v and V        0x19
Keyboard w and W        0x1A
Keyboard x and X        0x1B
Keyboard y and Y        0x1C
Keyboard z and Z        0x1D
Keyboard 1 and !        0x1E
Keyboard 2 and @        0x1F
Keyboard 3 and #        0x20
Keyboard 4 and $        0x21
Keyboard 5 and %        0x22
Keyboard 6 and ^        0x23
Keyboard 7 and &        0x24
Keyboard 8 and *        0x25
Keyboard 9 and (        0x26
Keyboard 0 and )        0x27
Keyboard Return (Enter) 0x28
Keyboard Escape         0x29
Keyboard Delete (Backspace)0x2A
Keyboard Tab            0x2B
Keyboard Spacebar       0x2C
Keyboard - and _        0x2D
Keyboard = and +        0x2E
Keyboard [ and {        0x2F
Keyboard ] and }        0x30
Keyboard \ and |        0x31
Keyboard Non-US # and ~ 0x32
Keyboard ; and :        0x33
Keyboard ' and "        0x34
Keyboard Grave Accent and Tilde 0x35
Keyboard , and "<"      0x36
Keyboard . and ">"      0x37
Keyboard / and ?        0x38
Keyboard Caps Lock      0x39
Keyboard F1             0x3A
Keyboard F2             0x3B
Keyboard F3             0x3C
Keyboard F4             0x3D
Keyboard F5             0x3E
Keyboard F6             0x3F
Keyboard F7             0x40
Keyboard F8             0x41
Keyboard F9             0x42
Keyboard F10            0x43
Keyboard F11            0x44
Keyboard F12            0x45
Keyboard Print Screen   0x46
Keyboard Scroll Lock    0x47
Keyboard Pause          0x48
Keyboard Insert         0x49
Keyboard Home           0x4A
Keyboard Page Up        0x4B
Keyboard Delete Forward 0x4C
Keyboard End            0x4D
Keyboard Page Down      0x4E
Keyboard Right Arrow    0x4F
Keyboard Left Arrow     0x50
Keyboard Down Arrow     0x51
Keyboard Up Arrow       0x52
Keypad Num Lock and Clear   0x53
Keypad /                0x54
Keypad *                0x55
Keypad -                0x56
Keypad +                0x57
Keypad Enter            0x58
Keypad 1 and End        0x59
Keypad 2 and Down Arrow 0x5A
Keypad 3 and Page Down  0x5B
Keypad 4 and Left Arrow 0x5C
Keypad 5                0x5D
Keypad 6 and Right Arrow    0x5E
Keypad 7 and Home       0x5F
Keypad 8 and Up Arrow   0x60
Keypad 9 and Page Up    0x61
Keypad 0 and Insert     0x62
Keypad . and Delete     0x63
Keyboard Non-US \ and | 0x64
Keyboard Application    0x65
Keyboard Power          0x66
Keypad =                0x67
Keyboard F13            0x68
Keyboard F14            0x69
Keyboard F15            0x6A
Keyboard F16            0x6B
Keyboard F17            0x6C
Keyboard F18            0x6D
Keyboard F19            0x6E
Keyboard F20            0x6F
Keyboard F21            0x70
Keyboard F22            0x71
Keyboard F23            0x72
Keyboard F24            0x73
Keyboard Left Control   0xE0
Keyboard Left Shift     0xE1
Keyboard Left Alt       0xE2
Keyboard Left GUI       0xE3
Keyboard Right Control  0xE4
Keyboard Right Shift    0xE5
Keyboard Right Alt      0xE6
Keyboard Right GUI      0xE7
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文