macos - मैक वर्चुअल कुंजी कोड की सूची कहां मिल सकती है?




keyboard quartz-graphics (3)

अधिक <HIToolbox/Events.h> संदर्भ <HIToolbox/Events.h> :

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

मैं CGEventCreateKeyboardEvent का उपयोग कर रहा हूं और यह जानने की आवश्यकता है कि CGKeyCode मानों का उपयोग करने के लिए क्या करना है।

विशेष रूप से, मैं कमांड कुंजी के लिए कुंजी कोड के बाद हूं। दस्तावेज़ अन्य कुंजी के लिए उदाहरण देते हैं: z 6 , शिफ्ट 56

कहीं मैक वर्चुअल कीकोड्स की एक सूची होनी चाहिए?


here एक जवाब मिला।

इसलिए:

  • कमांड कुंजी 55 है
  • शिफ्ट 56 है
  • कैप्स लॉक 57
  • विकल्प 58 है
  • नियंत्रण 59 है।

Events.h से लिया गया त्वरित संदर्भ के लिए सामान्य कुंजी कोड की एक सूची नीचे दी गई है।

यदि आपको किसी एप्लिकेशन में इन कीकोड्स का उपयोग करने की आवश्यकता है, तो आपको कार्बन ढांचे को शामिल करना चाहिए:

उद्देश्य सी:
#include <Carbon/Carbon.h>

स्विफ्ट:
import Carbon.HIToolbox

फिर आप सीधे kVK_ANSI_A स्थिरांक का उपयोग कर सकते हैं।

चेतावनी

कीबोर्ड पर कुंजी स्थिरांक संदर्भ भौतिक कुंजी । यदि टाइपिस्ट एक अलग कीबोर्ड लेआउट का उपयोग कर रहा है तो उनका आउटपुट बदल जाता है। स्थिरांक में अक्षर केवल यूएस क्यूडब्लूटीटीई कीबोर्ड लेआउट से मेल खाते हैं।

उदाहरण के लिए, होमरो पर बाएं अंगूठी-उंगली कुंजी:

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

स्ट्रिंग के लिए कीकोड के लेआउट-अज्ञेय रूपांतरण के लिए रणनीतियां, और इसके विपरीत, यहां चर्चा की गई है:

एएससीआईआई चरित्र को 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
};

मैकिंतोश टूलबॉक्स अनिवार्य चित्र Figure 2-10 में ऐप्पल विस्तारित कीबोर्ड II के लिए इन वर्चुअल कुंजी कोड के भौतिक स्थानों को दिखाता है:





cgkeycode