makepad/platform/key_code/src/android.rs
Admin 9aadd43f22 platform: HAL-only on every platform; the old backends are deleted
Every native platform now runs on the HAL (makepad-hal) alone: macOS and
iOS/tvOS on Metal, Windows on D3D11 (with device-loss recovery), Linux on
Vulkan (X11, Wayland and direct KMS, multi-GPU laptops with per-output
modes, mirror/extended arrangements and pacing) plus a GLES backend, and
Android on Vulkan with media, camera, network, haptics and file access on
the HAL. The old per-OS backends, the hal cfg and OpenHarmony are gone.
GPU memory: the HAL reads the device budget, keeps a UI reserve and raises
GpuPressure; failed allocations wait for room. One font service per host,
a frame profiler, held events for hidden views, automation for tests. Our
own generated Vulkan, Wayland and Windows bindings replace vendored ones.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-13 12:26:21 +02:00

120 lines
3.3 KiB
Rust

use crate::KeyCode;
pub fn android_to_makepad_key_code(key_code: u32) -> KeyCode {
match key_code {
4 => KeyCode::Back,
7 => KeyCode::Key0,
8 => KeyCode::Key1,
9 => KeyCode::Key2,
10 => KeyCode::Key3,
11 => KeyCode::Key4,
12 => KeyCode::Key5,
13 => KeyCode::Key6,
14 => KeyCode::Key7,
15 => KeyCode::Key8,
16 => KeyCode::Key9,
19 => KeyCode::ArrowUp,
20 => KeyCode::ArrowDown,
21 => KeyCode::ArrowLeft,
22 => KeyCode::ArrowRight,
29 => KeyCode::KeyA,
30 => KeyCode::KeyB,
31 => KeyCode::KeyC,
32 => KeyCode::KeyD,
33 => KeyCode::KeyE,
34 => KeyCode::KeyF,
35 => KeyCode::KeyG,
36 => KeyCode::KeyH,
37 => KeyCode::KeyI,
38 => KeyCode::KeyJ,
39 => KeyCode::KeyK,
40 => KeyCode::KeyL,
41 => KeyCode::KeyM,
42 => KeyCode::KeyN,
43 => KeyCode::KeyO,
44 => KeyCode::KeyP,
45 => KeyCode::KeyQ,
46 => KeyCode::KeyR,
47 => KeyCode::KeyS,
48 => KeyCode::KeyT,
49 => KeyCode::KeyU,
50 => KeyCode::KeyV,
51 => KeyCode::KeyW,
52 => KeyCode::KeyX,
53 => KeyCode::KeyY,
54 => KeyCode::KeyZ,
55 => KeyCode::Comma,
56 => KeyCode::Period,
57 => KeyCode::Alt,
58 => KeyCode::Alt,
59 => KeyCode::Shift,
60 => KeyCode::Shift,
61 => KeyCode::Tab,
62 => KeyCode::Space,
66 => KeyCode::ReturnKey,
67 => KeyCode::Backspace,
68 => KeyCode::Backtick,
69 => KeyCode::Minus,
70 => KeyCode::Equals,
71 => KeyCode::LBracket,
72 => KeyCode::RBracket,
73 => KeyCode::Backslash,
74 => KeyCode::Semicolon,
75 => KeyCode::Quote,
76 => KeyCode::Slash,
92 => KeyCode::PageUp,
93 => KeyCode::PageDown,
111 => KeyCode::Escape,
112 => KeyCode::Delete,
113 => KeyCode::Control,
114 => KeyCode::Control,
115 => KeyCode::Capslock,
116 => KeyCode::ScrollLock,
120 => KeyCode::PrintScreen,
121 => KeyCode::Pause,
122 => KeyCode::Home,
123 => KeyCode::End,
124 => KeyCode::Insert,
131 => KeyCode::F1,
132 => KeyCode::F2,
133 => KeyCode::F3,
134 => KeyCode::F4,
135 => KeyCode::F5,
136 => KeyCode::F6,
137 => KeyCode::F7,
138 => KeyCode::F8,
139 => KeyCode::F9,
140 => KeyCode::F10,
141 => KeyCode::F11,
142 => KeyCode::F12,
143 => KeyCode::Numlock,
144 => KeyCode::Numpad0,
145 => KeyCode::Numpad1,
146 => KeyCode::Numpad2,
147 => KeyCode::Numpad3,
148 => KeyCode::Numpad4,
149 => KeyCode::Numpad5,
150 => KeyCode::Numpad6,
151 => KeyCode::Numpad7,
152 => KeyCode::Numpad8,
153 => KeyCode::Numpad9,
154 => KeyCode::NumpadDivide,
155 => KeyCode::NumpadMultiply,
156 => KeyCode::NumpadSubtract,
157 => KeyCode::NumpadAdd,
158 => KeyCode::NumpadDecimal,
159 => KeyCode::NumpadDecimal,
160 => KeyCode::NumpadEnter,
161 => KeyCode::NumpadEquals,
_ => KeyCode::Unknown,
}
}