@@ -5,138 +5,138 @@ namespace Orbit.Input;
55
66public partial class KeyboardManager
77{
8- public static void AttachKeyboard ( UIElement window )
8+ public void AttachKeyboard ( UIElement window )
99 {
10- window . PreviewKeyUp += ( sender , args ) =>
11- {
12- var mapped = MapToMaui ( args . Key ) ;
13- KeyboardReleased ( mapped ) ;
10+ window . PreviewKeyUp += OnWindowPreviewKeyUp ;
11+ window . PreviewKeyDown += OnWindowPreviewKeyDown ;
12+ }
1413
15- //Trace.WriteLine($"[KEY] {args.Key} => {mapped}");
16- } ;
17- window . PreviewKeyDown += ( sender , args ) =>
18- {
19- var mapped = MapToMaui ( args . Key ) ;
20- KeyboardPressed ( mapped ) ;
21- } ;
14+ public void DetachKeyboard ( UIElement window )
15+ {
16+ window . PreviewKeyUp -= OnWindowPreviewKeyUp ;
17+ window . PreviewKeyDown -= OnWindowPreviewKeyDown ;
2218 }
2319
20+ private void OnWindowPreviewKeyDown ( object sender , Microsoft . UI . Xaml . Input . KeyRoutedEventArgs e ) => KeyboardKeyPressed ( ToKeyboardKey ( e . Key ) ) ;
21+
22+ private void OnWindowPreviewKeyUp ( object sender , Microsoft . UI . Xaml . Input . KeyRoutedEventArgs e ) => KeyboardKeyReleased ( ToKeyboardKey ( e . Key ) ) ;
23+
2424 /// <summary>
2525 /// Same as map to Java tbh
2626 /// </summary>
2727 /// <param name="virtualKey"></param>
2828 /// <returns></returns>
29- public static KeyboardKey MapToMaui ( VirtualKey virtualKey )
29+ public static KeyboardKey ToKeyboardKey ( VirtualKey virtualKey )
3030 {
3131 switch ( virtualKey )
3232 {
33- case VirtualKey . Space : return KeyboardKey . Space ;
34- case VirtualKey . Left : return KeyboardKey . ArrowLeft ;
35- case VirtualKey . Up : return KeyboardKey . ArrowUp ;
36- case VirtualKey . Right : return KeyboardKey . ArrowRight ;
37- case VirtualKey . Down : return KeyboardKey . ArrowDown ;
38- case VirtualKey . Number0 : return KeyboardKey . Digit0 ;
39- case VirtualKey . Number1 : return KeyboardKey . Digit1 ;
40- case VirtualKey . Number2 : return KeyboardKey . Digit2 ;
41- case VirtualKey . Number3 : return KeyboardKey . Digit3 ;
42- case VirtualKey . Number4 : return KeyboardKey . Digit4 ;
43- case VirtualKey . Number5 : return KeyboardKey . Digit5 ;
44- case VirtualKey . Number6 : return KeyboardKey . Digit6 ;
45- case VirtualKey . Number7 : return KeyboardKey . Digit7 ;
46- case VirtualKey . Number8 : return KeyboardKey . Digit8 ;
47- case VirtualKey . Number9 : return KeyboardKey . Digit9 ;
48- case VirtualKey . A : return KeyboardKey . KeyA ;
49- case VirtualKey . B : return KeyboardKey . KeyB ;
50- case VirtualKey . C : return KeyboardKey . KeyC ;
51- case VirtualKey . D : return KeyboardKey . KeyD ;
52- case VirtualKey . E : return KeyboardKey . KeyE ;
53- case VirtualKey . F : return KeyboardKey . KeyF ;
54- case VirtualKey . G : return KeyboardKey . KeyG ;
55- case VirtualKey . H : return KeyboardKey . KeyH ;
56- case VirtualKey . I : return KeyboardKey . KeyI ;
57- case VirtualKey . J : return KeyboardKey . KeyJ ;
58- case VirtualKey . K : return KeyboardKey . KeyK ;
59- case VirtualKey . L : return KeyboardKey . KeyL ;
60- case VirtualKey . M : return KeyboardKey . KeyM ;
61- case VirtualKey . N : return KeyboardKey . KeyN ;
62- case VirtualKey . O : return KeyboardKey . KeyO ;
63- case VirtualKey . P : return KeyboardKey . KeyP ;
64- case VirtualKey . Q : return KeyboardKey . KeyQ ;
65- case VirtualKey . R : return KeyboardKey . KeyR ;
66- case VirtualKey . S : return KeyboardKey . KeyS ;
67- case VirtualKey . T : return KeyboardKey . KeyT ;
68- case VirtualKey . U : return KeyboardKey . KeyU ;
69- case VirtualKey . V : return KeyboardKey . KeyV ;
70- case VirtualKey . W : return KeyboardKey . KeyW ;
71- case VirtualKey . X : return KeyboardKey . KeyX ;
72- case VirtualKey . Y : return KeyboardKey . KeyY ;
73- case VirtualKey . Z : return KeyboardKey . KeyZ ;
74- case VirtualKey . CapitalLock : return KeyboardKey . CapsLock ;
75- case VirtualKey . Insert : return KeyboardKey . Insert ;
76- case VirtualKey . Delete : return KeyboardKey . Delete ;
77- case VirtualKey . Snapshot : return KeyboardKey . PrintScreen ;
78- case VirtualKey . Home : return KeyboardKey . Home ;
79- case VirtualKey . End : return KeyboardKey . End ;
80- case VirtualKey . PageDown : return KeyboardKey . PageDown ;
81- case VirtualKey . PageUp : return KeyboardKey . PageUp ;
82- case VirtualKey . Escape : return KeyboardKey . Escape ;
83- case VirtualKey . Pause : return KeyboardKey . Pause ;
84- case VirtualKey . Menu : return KeyboardKey . AltLeft ;
85- case VirtualKey . LeftMenu : return KeyboardKey . AltLeft ;
86- case VirtualKey . RightMenu : return KeyboardKey . AltRight ;
87- case VirtualKey . Shift : return KeyboardKey . ShiftLeft ;
88- case VirtualKey . LeftShift : return KeyboardKey . ShiftLeft ;
89- case VirtualKey . RightShift : return KeyboardKey . ShiftRight ;
90- case VirtualKey . LeftControl : return KeyboardKey . ControlLeft ;
91- case VirtualKey . RightControl : return KeyboardKey . ControlRight ;
92- case VirtualKey . Control : return KeyboardKey . ControlLeft ;
93- case VirtualKey . Enter : return KeyboardKey . Enter ;
94- case VirtualKey . Tab : return KeyboardKey . Tab ;
95- case VirtualKey . Back : return KeyboardKey . Backspace ;
96- case VirtualKey . F1 : return KeyboardKey . F1 ;
97- case VirtualKey . F2 : return KeyboardKey . F2 ;
98- case VirtualKey . F3 : return KeyboardKey . F3 ;
99- case VirtualKey . F4 : return KeyboardKey . F4 ;
100- case VirtualKey . F5 : return KeyboardKey . F5 ;
101- case VirtualKey . F6 : return KeyboardKey . F6 ;
102- case VirtualKey . F7 : return KeyboardKey . F7 ;
103- case VirtualKey . F8 : return KeyboardKey . F8 ;
104- case VirtualKey . F9 : return KeyboardKey . F9 ;
105- case VirtualKey . F10 : return KeyboardKey . F10 ;
106- case VirtualKey . F11 : return KeyboardKey . F11 ;
107- case VirtualKey . F12 : return KeyboardKey . F12 ;
108- case VirtualKey . NumberKeyLock : return KeyboardKey . NumLock ;
109- case VirtualKey . Scroll : return KeyboardKey . ScrollLock ;
110- case VirtualKey . NumberPad0 : return KeyboardKey . Numpad0 ;
111- case VirtualKey . NumberPad1 : return KeyboardKey . Numpad1 ;
112- case VirtualKey . NumberPad2 : return KeyboardKey . Numpad2 ;
113- case VirtualKey . NumberPad3 : return KeyboardKey . Numpad3 ;
114- case VirtualKey . NumberPad4 : return KeyboardKey . Numpad4 ;
115- case VirtualKey . NumberPad5 : return KeyboardKey . Numpad5 ;
116- case VirtualKey . NumberPad6 : return KeyboardKey . Numpad6 ;
117- case VirtualKey . NumberPad7 : return KeyboardKey . Numpad7 ;
118- case VirtualKey . NumberPad8 : return KeyboardKey . Numpad8 ;
119- case VirtualKey . NumberPad9 : return KeyboardKey . Numpad9 ;
120- case VirtualKey . LeftWindows : return KeyboardKey . MetaLeft ;
121- case VirtualKey . RightWindows : return KeyboardKey . MetaRight ;
122- case VirtualKey . Divide : return KeyboardKey . NumpadDivide ;
123- case VirtualKey . Multiply : return KeyboardKey . NumpadMultiply ;
124- case VirtualKey . Subtract : return KeyboardKey . NumpadSubtract ;
125- case VirtualKey . Add : return KeyboardKey . NumpadAdd ;
33+ case VirtualKey . Space : return KeyboardKey . Space ;
34+ case VirtualKey . Left : return KeyboardKey . ArrowLeft ;
35+ case VirtualKey . Up : return KeyboardKey . ArrowUp ;
36+ case VirtualKey . Right : return KeyboardKey . ArrowRight ;
37+ case VirtualKey . Down : return KeyboardKey . ArrowDown ;
38+ case VirtualKey . Number0 : return KeyboardKey . Digit0 ;
39+ case VirtualKey . Number1 : return KeyboardKey . Digit1 ;
40+ case VirtualKey . Number2 : return KeyboardKey . Digit2 ;
41+ case VirtualKey . Number3 : return KeyboardKey . Digit3 ;
42+ case VirtualKey . Number4 : return KeyboardKey . Digit4 ;
43+ case VirtualKey . Number5 : return KeyboardKey . Digit5 ;
44+ case VirtualKey . Number6 : return KeyboardKey . Digit6 ;
45+ case VirtualKey . Number7 : return KeyboardKey . Digit7 ;
46+ case VirtualKey . Number8 : return KeyboardKey . Digit8 ;
47+ case VirtualKey . Number9 : return KeyboardKey . Digit9 ;
48+ case VirtualKey . A : return KeyboardKey . KeyA ;
49+ case VirtualKey . B : return KeyboardKey . KeyB ;
50+ case VirtualKey . C : return KeyboardKey . KeyC ;
51+ case VirtualKey . D : return KeyboardKey . KeyD ;
52+ case VirtualKey . E : return KeyboardKey . KeyE ;
53+ case VirtualKey . F : return KeyboardKey . KeyF ;
54+ case VirtualKey . G : return KeyboardKey . KeyG ;
55+ case VirtualKey . H : return KeyboardKey . KeyH ;
56+ case VirtualKey . I : return KeyboardKey . KeyI ;
57+ case VirtualKey . J : return KeyboardKey . KeyJ ;
58+ case VirtualKey . K : return KeyboardKey . KeyK ;
59+ case VirtualKey . L : return KeyboardKey . KeyL ;
60+ case VirtualKey . M : return KeyboardKey . KeyM ;
61+ case VirtualKey . N : return KeyboardKey . KeyN ;
62+ case VirtualKey . O : return KeyboardKey . KeyO ;
63+ case VirtualKey . P : return KeyboardKey . KeyP ;
64+ case VirtualKey . Q : return KeyboardKey . KeyQ ;
65+ case VirtualKey . R : return KeyboardKey . KeyR ;
66+ case VirtualKey . S : return KeyboardKey . KeyS ;
67+ case VirtualKey . T : return KeyboardKey . KeyT ;
68+ case VirtualKey . U : return KeyboardKey . KeyU ;
69+ case VirtualKey . V : return KeyboardKey . KeyV ;
70+ case VirtualKey . W : return KeyboardKey . KeyW ;
71+ case VirtualKey . X : return KeyboardKey . KeyX ;
72+ case VirtualKey . Y : return KeyboardKey . KeyY ;
73+ case VirtualKey . Z : return KeyboardKey . KeyZ ;
74+ case VirtualKey . CapitalLock : return KeyboardKey . CapsLock ;
75+ case VirtualKey . Insert : return KeyboardKey . Insert ;
76+ case VirtualKey . Delete : return KeyboardKey . Delete ;
77+ case VirtualKey . Snapshot : return KeyboardKey . PrintScreen ;
78+ case VirtualKey . Home : return KeyboardKey . Home ;
79+ case VirtualKey . End : return KeyboardKey . End ;
80+ case VirtualKey . PageDown : return KeyboardKey . PageDown ;
81+ case VirtualKey . PageUp : return KeyboardKey . PageUp ;
82+ case VirtualKey . Escape : return KeyboardKey . Escape ;
83+ case VirtualKey . Pause : return KeyboardKey . Pause ;
84+ case VirtualKey . Menu : return KeyboardKey . AltLeft ;
85+ case VirtualKey . LeftMenu : return KeyboardKey . AltLeft ;
86+ case VirtualKey . RightMenu : return KeyboardKey . AltRight ;
87+ case VirtualKey . Shift : return KeyboardKey . ShiftLeft ;
88+ case VirtualKey . LeftShift : return KeyboardKey . ShiftLeft ;
89+ case VirtualKey . RightShift : return KeyboardKey . ShiftRight ;
90+ case VirtualKey . LeftControl : return KeyboardKey . ControlLeft ;
91+ case VirtualKey . RightControl : return KeyboardKey . ControlRight ;
92+ case VirtualKey . Control : return KeyboardKey . ControlLeft ;
93+ case VirtualKey . Enter : return KeyboardKey . Enter ;
94+ case VirtualKey . Tab : return KeyboardKey . Tab ;
95+ case VirtualKey . Back : return KeyboardKey . Backspace ;
96+ case VirtualKey . F1 : return KeyboardKey . F1 ;
97+ case VirtualKey . F2 : return KeyboardKey . F2 ;
98+ case VirtualKey . F3 : return KeyboardKey . F3 ;
99+ case VirtualKey . F4 : return KeyboardKey . F4 ;
100+ case VirtualKey . F5 : return KeyboardKey . F5 ;
101+ case VirtualKey . F6 : return KeyboardKey . F6 ;
102+ case VirtualKey . F7 : return KeyboardKey . F7 ;
103+ case VirtualKey . F8 : return KeyboardKey . F8 ;
104+ case VirtualKey . F9 : return KeyboardKey . F9 ;
105+ case VirtualKey . F10 : return KeyboardKey . F10 ;
106+ case VirtualKey . F11 : return KeyboardKey . F11 ;
107+ case VirtualKey . F12 : return KeyboardKey . F12 ;
108+ case VirtualKey . NumberKeyLock : return KeyboardKey . NumLock ;
109+ case VirtualKey . Scroll : return KeyboardKey . ScrollLock ;
110+ case VirtualKey . NumberPad0 : return KeyboardKey . Numpad0 ;
111+ case VirtualKey . NumberPad1 : return KeyboardKey . Numpad1 ;
112+ case VirtualKey . NumberPad2 : return KeyboardKey . Numpad2 ;
113+ case VirtualKey . NumberPad3 : return KeyboardKey . Numpad3 ;
114+ case VirtualKey . NumberPad4 : return KeyboardKey . Numpad4 ;
115+ case VirtualKey . NumberPad5 : return KeyboardKey . Numpad5 ;
116+ case VirtualKey . NumberPad6 : return KeyboardKey . Numpad6 ;
117+ case VirtualKey . NumberPad7 : return KeyboardKey . Numpad7 ;
118+ case VirtualKey . NumberPad8 : return KeyboardKey . Numpad8 ;
119+ case VirtualKey . NumberPad9 : return KeyboardKey . Numpad9 ;
120+ case VirtualKey . LeftWindows : return KeyboardKey . MetaLeft ;
121+ case VirtualKey . RightWindows : return KeyboardKey . MetaRight ;
122+ case VirtualKey . Divide : return KeyboardKey . NumpadDivide ;
123+ case VirtualKey . Multiply : return KeyboardKey . NumpadMultiply ;
124+ case VirtualKey . Subtract : return KeyboardKey . NumpadSubtract ;
125+ case VirtualKey . Add : return KeyboardKey . NumpadAdd ;
126126 }
127127
128128 switch ( ( int ) virtualKey )
129129 {
130- case 187 : return KeyboardKey . Equal ;
131- case 189 : return KeyboardKey . Minus ;
132- case 192 : return KeyboardKey . Backquote ;
133- case 188 : return KeyboardKey . Comma ;
134- case 190 : return KeyboardKey . Period ;
135- case 191 : return KeyboardKey . Slash ;
136- case 219 : return KeyboardKey . BracketLeft ;
137- case 221 : return KeyboardKey . BracketRight ;
138- case 220 : return KeyboardKey . Backslash ;
139- case 186 : return KeyboardKey . Semicolon ;
130+ case 187 : return KeyboardKey . Equal ;
131+ case 189 : return KeyboardKey . Minus ;
132+ case 192 : return KeyboardKey . Backquote ;
133+ case 188 : return KeyboardKey . Comma ;
134+ case 190 : return KeyboardKey . Period ;
135+ case 191 : return KeyboardKey . Slash ;
136+ case 219 : return KeyboardKey . BracketLeft ;
137+ case 221 : return KeyboardKey . BracketRight ;
138+ case 220 : return KeyboardKey . Backslash ;
139+ case 186 : return KeyboardKey . Semicolon ;
140140 }
141141
142142 return KeyboardKey . Unknown ;
0 commit comments