Welcome to mirror list, hosted at ThFree Co, Russian Federation.

KeycodeMap.cpp - github.com/neutrinolabs/ulalaca-xrdp.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: 683701628ee0fb47395a78e059ef06c05c147b62 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
//
// Created by Gyuhwan Park on 2022/05/07.
//

#include "KeycodeMap.hpp"

#include <Carbon/Carbon.h>

static const int16_t RDP_CGKEYCODE_MAP[] = {
    -1,
    kVK_Escape,
    kVK_ANSI_1,
    kVK_ANSI_2,
    kVK_ANSI_3,
    kVK_ANSI_4,
    kVK_ANSI_5,
    kVK_ANSI_6,
    kVK_ANSI_7,
    kVK_ANSI_8,
    kVK_ANSI_9,
    kVK_ANSI_0,
    kVK_ANSI_Minus,
    kVK_ANSI_Equal,
    kVK_Delete, // 14
    
    kVK_Tab, // 15
    kVK_ANSI_Q,
    kVK_ANSI_W,
    kVK_ANSI_E,
    kVK_ANSI_R,
    kVK_ANSI_T,
    kVK_ANSI_Y,
    kVK_ANSI_U,
    kVK_ANSI_I,
    kVK_ANSI_O,
    kVK_ANSI_P,
    kVK_ANSI_LeftBracket,
    kVK_ANSI_RightBracket, // 27
    
    kVK_Return, // 28
    
    
    kVK_Control, // 29
    
    kVK_ANSI_A,
    kVK_ANSI_S,
    kVK_ANSI_D,
    kVK_ANSI_F,
    kVK_ANSI_G,
    kVK_ANSI_H,
    kVK_ANSI_J,
    kVK_ANSI_K,
    kVK_ANSI_L,
    kVK_ANSI_Semicolon,
    kVK_ANSI_Quote, // 40
    
    kVK_ANSI_Grave,
    kVK_Shift, // 42
    kVK_ANSI_Backslash,
    kVK_ANSI_Z, // 44
    kVK_ANSI_X,
    kVK_ANSI_C,
    kVK_ANSI_V,
    kVK_ANSI_B,
    kVK_ANSI_N,
    kVK_ANSI_M,
    kVK_ANSI_Comma,
    kVK_ANSI_Period,
    kVK_ANSI_Slash,
    kVK_RightShift, // 54
    
    -1,
    kVK_Option, // 56
    kVK_Space, // 57
    -1,
    kVK_F1,
    kVK_F2, // 60
    
    kVK_F3, // 61
    kVK_F4,
    kVK_F5,
    kVK_F6,
    kVK_F7,
    kVK_F8,
    kVK_F9,
    kVK_F10,
    kVK_F11,
    kVK_F12, // 70
    
    kVK_Home, // 71
    kVK_UpArrow,
    kVK_PageUp,
    -1,
    kVK_LeftArrow,
    -1,
    kVK_RightArrow,
    -1,
    kVK_End,
    kVK_DownArrow, // 80
    
    kVK_PageDown,
    -1, // FIXME: INSERT KEY
    kVK_ForwardDelete,
    -1,
    -1,
    -1,
    -1,
    -1,
    -1,
    -1, // 90
    
    kVK_Command
};

int16_t rdpKeycodeToCGKeycode(uint16_t keycode) {
    if (keycode <= 91) {
        return RDP_CGKEYCODE_MAP[keycode];
    }
    
    return -1;
}