core_graphics2/
remote_operation.rs

1use core_foundation::mach_port::CFMachPortRef;
2use libc::boolean_t;
3
4use crate::{error::CGError, geometry::CGPoint};
5
6pub type CGKeyCode = u16;
7
8#[repr(C)]
9pub struct KeyCode;
10impl KeyCode {
11    pub const A: CGKeyCode = 0x00;
12    pub const S: CGKeyCode = 0x01;
13    pub const D: CGKeyCode = 0x02;
14    pub const F: CGKeyCode = 0x03;
15    pub const H: CGKeyCode = 0x04;
16    pub const G: CGKeyCode = 0x05;
17    pub const Z: CGKeyCode = 0x06;
18    pub const X: CGKeyCode = 0x07;
19    pub const C: CGKeyCode = 0x08;
20    pub const V: CGKeyCode = 0x09;
21    pub const B: CGKeyCode = 0x0B;
22    pub const Q: CGKeyCode = 0x0C;
23    pub const W: CGKeyCode = 0x0D;
24    pub const E: CGKeyCode = 0x0E;
25    pub const R: CGKeyCode = 0x0F;
26    pub const Y: CGKeyCode = 0x10;
27    pub const T: CGKeyCode = 0x11;
28    pub const One: CGKeyCode = 0x12;
29    pub const Two: CGKeyCode = 0x13;
30    pub const Three: CGKeyCode = 0x14;
31    pub const Four: CGKeyCode = 0x15;
32    pub const Six: CGKeyCode = 0x16;
33    pub const Five: CGKeyCode = 0x17;
34    pub const Equal: CGKeyCode = 0x18;
35    pub const Nine: CGKeyCode = 0x19;
36    pub const Seven: CGKeyCode = 0x1A;
37    pub const Minus: CGKeyCode = 0x1B;
38    pub const Eight: CGKeyCode = 0x1C;
39    pub const Zero: CGKeyCode = 0x1D;
40    pub const RightBracket: CGKeyCode = 0x1E;
41    pub const O: CGKeyCode = 0x1F;
42    pub const U: CGKeyCode = 0x20;
43    pub const LeftBracket: CGKeyCode = 0x21;
44    pub const I: CGKeyCode = 0x22;
45    pub const P: CGKeyCode = 0x23;
46    pub const Return: CGKeyCode = 0x24;
47    pub const L: CGKeyCode = 0x25;
48    pub const J: CGKeyCode = 0x26;
49    pub const Quote: CGKeyCode = 0x27;
50    pub const K: CGKeyCode = 0x28;
51    pub const Semicolon: CGKeyCode = 0x29;
52    pub const Backslash: CGKeyCode = 0x2A;
53    pub const Comma: CGKeyCode = 0x2B;
54    pub const Slash: CGKeyCode = 0x2C;
55    pub const N: CGKeyCode = 0x2D;
56    pub const M: CGKeyCode = 0x2E;
57    pub const Period: CGKeyCode = 0x2F;
58    pub const Tab: CGKeyCode = 0x30;
59    pub const Space: CGKeyCode = 0x31;
60    pub const Grave: CGKeyCode = 0x32;
61    pub const Delete: CGKeyCode = 0x33;
62    pub const Escape: CGKeyCode = 0x35;
63    pub const RightCommand: CGKeyCode = 0x36;
64    pub const Command: CGKeyCode = 0x37;
65    pub const Shift: CGKeyCode = 0x38;
66    pub const CapsLock: CGKeyCode = 0x39;
67    pub const Option: CGKeyCode = 0x3A;
68    pub const Control: CGKeyCode = 0x3B;
69    pub const RightShift: CGKeyCode = 0x3C;
70    pub const RightOption: CGKeyCode = 0x3D;
71    pub const RightControl: CGKeyCode = 0x3E;
72    pub const Function: CGKeyCode = 0x3F;
73    pub const F17: CGKeyCode = 0x40;
74    pub const KeypadDecimal: CGKeyCode = 0x41;
75    pub const KeypadMultiply: CGKeyCode = 0x43;
76    pub const KeypadPlus: CGKeyCode = 0x45;
77    pub const KeypadClear: CGKeyCode = 0x47;
78    pub const VolumeUp: CGKeyCode = 0x48;
79    pub const VolumeDown: CGKeyCode = 0x49;
80    pub const Mute: CGKeyCode = 0x4A;
81    pub const KeypadDivide: CGKeyCode = 0x4B;
82    pub const KeypadEnter: CGKeyCode = 0x4C;
83    pub const KeypadMinus: CGKeyCode = 0x4E;
84    pub const F18: CGKeyCode = 0x4F;
85    pub const F19: CGKeyCode = 0x50;
86    pub const KeypadEquals: CGKeyCode = 0x51;
87    pub const Keypad0: CGKeyCode = 0x52;
88    pub const Keypad1: CGKeyCode = 0x53;
89    pub const Keypad2: CGKeyCode = 0x54;
90    pub const Keypad3: CGKeyCode = 0x55;
91    pub const Keypad4: CGKeyCode = 0x56;
92    pub const Keypad5: CGKeyCode = 0x57;
93    pub const Keypad6: CGKeyCode = 0x58;
94    pub const Keypad7: CGKeyCode = 0x59;
95    pub const F20: CGKeyCode = 0x5A;
96    pub const Keypad8: CGKeyCode = 0x5B;
97    pub const Keypad9: CGKeyCode = 0x5C;
98    pub const F5: CGKeyCode = 0x60;
99    pub const F6: CGKeyCode = 0x61;
100    pub const F7: CGKeyCode = 0x62;
101    pub const F3: CGKeyCode = 0x63;
102    pub const F8: CGKeyCode = 0x64;
103    pub const F9: CGKeyCode = 0x65;
104    pub const F11: CGKeyCode = 0x67;
105    pub const F13: CGKeyCode = 0x69;
106    pub const F16: CGKeyCode = 0x6A;
107    pub const F14: CGKeyCode = 0x6B;
108    pub const F10: CGKeyCode = 0x6D;
109    pub const F12: CGKeyCode = 0x6F;
110    pub const F15: CGKeyCode = 0x71;
111    pub const Help: CGKeyCode = 0x72;
112    pub const Home: CGKeyCode = 0x73;
113    pub const PageUp: CGKeyCode = 0x74;
114    pub const ForwardDelete: CGKeyCode = 0x75;
115    pub const F4: CGKeyCode = 0x76;
116    pub const End: CGKeyCode = 0x77;
117    pub const F2: CGKeyCode = 0x78;
118    pub const PageDown: CGKeyCode = 0x79;
119    pub const F1: CGKeyCode = 0x7A;
120    pub const LeftArrow: CGKeyCode = 0x7B;
121    pub const RightArrow: CGKeyCode = 0x7C;
122    pub const DownArrow: CGKeyCode = 0x7D;
123    pub const UpArrow: CGKeyCode = 0x7E;
124}
125
126extern "C" {
127    pub fn CGWarpMouseCursorPosition(newCursorPosition: CGPoint) -> CGError;
128    pub fn CGAssociateMouseAndMouseCursorPosition(connected: boolean_t) -> CGError;
129    pub fn CGWindowServerCreateServerPort() -> CFMachPortRef;
130}