Implementation
static GhosttyKey fromValue(int value) => switch (value) {
0 => GHOSTTY_KEY_UNIDENTIFIED,
1 => GHOSTTY_KEY_BACKQUOTE,
2 => GHOSTTY_KEY_BACKSLASH,
3 => GHOSTTY_KEY_BRACKET_LEFT,
4 => GHOSTTY_KEY_BRACKET_RIGHT,
5 => GHOSTTY_KEY_COMMA,
6 => GHOSTTY_KEY_DIGIT_0,
7 => GHOSTTY_KEY_DIGIT_1,
8 => GHOSTTY_KEY_DIGIT_2,
9 => GHOSTTY_KEY_DIGIT_3,
10 => GHOSTTY_KEY_DIGIT_4,
11 => GHOSTTY_KEY_DIGIT_5,
12 => GHOSTTY_KEY_DIGIT_6,
13 => GHOSTTY_KEY_DIGIT_7,
14 => GHOSTTY_KEY_DIGIT_8,
15 => GHOSTTY_KEY_DIGIT_9,
16 => GHOSTTY_KEY_EQUAL,
17 => GHOSTTY_KEY_INTL_BACKSLASH,
18 => GHOSTTY_KEY_INTL_RO,
19 => GHOSTTY_KEY_INTL_YEN,
20 => GHOSTTY_KEY_A,
21 => GHOSTTY_KEY_B,
22 => GHOSTTY_KEY_C,
23 => GHOSTTY_KEY_D,
24 => GHOSTTY_KEY_E,
25 => GHOSTTY_KEY_F,
26 => GHOSTTY_KEY_G,
27 => GHOSTTY_KEY_H,
28 => GHOSTTY_KEY_I,
29 => GHOSTTY_KEY_J,
30 => GHOSTTY_KEY_K,
31 => GHOSTTY_KEY_L,
32 => GHOSTTY_KEY_M,
33 => GHOSTTY_KEY_N,
34 => GHOSTTY_KEY_O,
35 => GHOSTTY_KEY_P,
36 => GHOSTTY_KEY_Q,
37 => GHOSTTY_KEY_R,
38 => GHOSTTY_KEY_S,
39 => GHOSTTY_KEY_T,
40 => GHOSTTY_KEY_U,
41 => GHOSTTY_KEY_V,
42 => GHOSTTY_KEY_W,
43 => GHOSTTY_KEY_X,
44 => GHOSTTY_KEY_Y,
45 => GHOSTTY_KEY_Z,
46 => GHOSTTY_KEY_MINUS,
47 => GHOSTTY_KEY_PERIOD,
48 => GHOSTTY_KEY_QUOTE,
49 => GHOSTTY_KEY_SEMICOLON,
50 => GHOSTTY_KEY_SLASH,
51 => GHOSTTY_KEY_ALT_LEFT,
52 => GHOSTTY_KEY_ALT_RIGHT,
53 => GHOSTTY_KEY_BACKSPACE,
54 => GHOSTTY_KEY_CAPS_LOCK,
55 => GHOSTTY_KEY_CONTEXT_MENU,
56 => GHOSTTY_KEY_CONTROL_LEFT,
57 => GHOSTTY_KEY_CONTROL_RIGHT,
58 => GHOSTTY_KEY_ENTER,
59 => GHOSTTY_KEY_META_LEFT,
60 => GHOSTTY_KEY_META_RIGHT,
61 => GHOSTTY_KEY_SHIFT_LEFT,
62 => GHOSTTY_KEY_SHIFT_RIGHT,
63 => GHOSTTY_KEY_SPACE,
64 => GHOSTTY_KEY_TAB,
65 => GHOSTTY_KEY_CONVERT,
66 => GHOSTTY_KEY_KANA_MODE,
67 => GHOSTTY_KEY_NON_CONVERT,
68 => GHOSTTY_KEY_DELETE,
69 => GHOSTTY_KEY_END,
70 => GHOSTTY_KEY_HELP,
71 => GHOSTTY_KEY_HOME,
72 => GHOSTTY_KEY_INSERT,
73 => GHOSTTY_KEY_PAGE_DOWN,
74 => GHOSTTY_KEY_PAGE_UP,
75 => GHOSTTY_KEY_ARROW_DOWN,
76 => GHOSTTY_KEY_ARROW_LEFT,
77 => GHOSTTY_KEY_ARROW_RIGHT,
78 => GHOSTTY_KEY_ARROW_UP,
79 => GHOSTTY_KEY_NUM_LOCK,
80 => GHOSTTY_KEY_NUMPAD_0,
81 => GHOSTTY_KEY_NUMPAD_1,
82 => GHOSTTY_KEY_NUMPAD_2,
83 => GHOSTTY_KEY_NUMPAD_3,
84 => GHOSTTY_KEY_NUMPAD_4,
85 => GHOSTTY_KEY_NUMPAD_5,
86 => GHOSTTY_KEY_NUMPAD_6,
87 => GHOSTTY_KEY_NUMPAD_7,
88 => GHOSTTY_KEY_NUMPAD_8,
89 => GHOSTTY_KEY_NUMPAD_9,
90 => GHOSTTY_KEY_NUMPAD_ADD,
91 => GHOSTTY_KEY_NUMPAD_BACKSPACE,
92 => GHOSTTY_KEY_NUMPAD_CLEAR,
93 => GHOSTTY_KEY_NUMPAD_CLEAR_ENTRY,
94 => GHOSTTY_KEY_NUMPAD_COMMA,
95 => GHOSTTY_KEY_NUMPAD_DECIMAL,
96 => GHOSTTY_KEY_NUMPAD_DIVIDE,
97 => GHOSTTY_KEY_NUMPAD_ENTER,
98 => GHOSTTY_KEY_NUMPAD_EQUAL,
99 => GHOSTTY_KEY_NUMPAD_MEMORY_ADD,
100 => GHOSTTY_KEY_NUMPAD_MEMORY_CLEAR,
101 => GHOSTTY_KEY_NUMPAD_MEMORY_RECALL,
102 => GHOSTTY_KEY_NUMPAD_MEMORY_STORE,
103 => GHOSTTY_KEY_NUMPAD_MEMORY_SUBTRACT,
104 => GHOSTTY_KEY_NUMPAD_MULTIPLY,
105 => GHOSTTY_KEY_NUMPAD_PAREN_LEFT,
106 => GHOSTTY_KEY_NUMPAD_PAREN_RIGHT,
107 => GHOSTTY_KEY_NUMPAD_SUBTRACT,
108 => GHOSTTY_KEY_NUMPAD_SEPARATOR,
109 => GHOSTTY_KEY_NUMPAD_UP,
110 => GHOSTTY_KEY_NUMPAD_DOWN,
111 => GHOSTTY_KEY_NUMPAD_RIGHT,
112 => GHOSTTY_KEY_NUMPAD_LEFT,
113 => GHOSTTY_KEY_NUMPAD_BEGIN,
114 => GHOSTTY_KEY_NUMPAD_HOME,
115 => GHOSTTY_KEY_NUMPAD_END,
116 => GHOSTTY_KEY_NUMPAD_INSERT,
117 => GHOSTTY_KEY_NUMPAD_DELETE,
118 => GHOSTTY_KEY_NUMPAD_PAGE_UP,
119 => GHOSTTY_KEY_NUMPAD_PAGE_DOWN,
120 => GHOSTTY_KEY_ESCAPE,
121 => GHOSTTY_KEY_F1,
122 => GHOSTTY_KEY_F2,
123 => GHOSTTY_KEY_F3,
124 => GHOSTTY_KEY_F4,
125 => GHOSTTY_KEY_F5,
126 => GHOSTTY_KEY_F6,
127 => GHOSTTY_KEY_F7,
128 => GHOSTTY_KEY_F8,
129 => GHOSTTY_KEY_F9,
130 => GHOSTTY_KEY_F10,
131 => GHOSTTY_KEY_F11,
132 => GHOSTTY_KEY_F12,
133 => GHOSTTY_KEY_F13,
134 => GHOSTTY_KEY_F14,
135 => GHOSTTY_KEY_F15,
136 => GHOSTTY_KEY_F16,
137 => GHOSTTY_KEY_F17,
138 => GHOSTTY_KEY_F18,
139 => GHOSTTY_KEY_F19,
140 => GHOSTTY_KEY_F20,
141 => GHOSTTY_KEY_F21,
142 => GHOSTTY_KEY_F22,
143 => GHOSTTY_KEY_F23,
144 => GHOSTTY_KEY_F24,
145 => GHOSTTY_KEY_F25,
146 => GHOSTTY_KEY_FN,
147 => GHOSTTY_KEY_FN_LOCK,
148 => GHOSTTY_KEY_PRINT_SCREEN,
149 => GHOSTTY_KEY_SCROLL_LOCK,
150 => GHOSTTY_KEY_PAUSE,
151 => GHOSTTY_KEY_BROWSER_BACK,
152 => GHOSTTY_KEY_BROWSER_FAVORITES,
153 => GHOSTTY_KEY_BROWSER_FORWARD,
154 => GHOSTTY_KEY_BROWSER_HOME,
155 => GHOSTTY_KEY_BROWSER_REFRESH,
156 => GHOSTTY_KEY_BROWSER_SEARCH,
157 => GHOSTTY_KEY_BROWSER_STOP,
158 => GHOSTTY_KEY_EJECT,
159 => GHOSTTY_KEY_LAUNCH_APP_1,
160 => GHOSTTY_KEY_LAUNCH_APP_2,
161 => GHOSTTY_KEY_LAUNCH_MAIL,
162 => GHOSTTY_KEY_MEDIA_PLAY_PAUSE,
163 => GHOSTTY_KEY_MEDIA_SELECT,
164 => GHOSTTY_KEY_MEDIA_STOP,
165 => GHOSTTY_KEY_MEDIA_TRACK_NEXT,
166 => GHOSTTY_KEY_MEDIA_TRACK_PREVIOUS,
167 => GHOSTTY_KEY_POWER,
168 => GHOSTTY_KEY_SLEEP,
169 => GHOSTTY_KEY_AUDIO_VOLUME_DOWN,
170 => GHOSTTY_KEY_AUDIO_VOLUME_MUTE,
171 => GHOSTTY_KEY_AUDIO_VOLUME_UP,
172 => GHOSTTY_KEY_WAKE_UP,
173 => GHOSTTY_KEY_COPY,
174 => GHOSTTY_KEY_CUT,
175 => GHOSTTY_KEY_PASTE,
_ => throw ArgumentError('Unknown value for GhosttyKey: $value'),
};