fatty 0.99.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/.envrc +2 -0
- data/.simplecov +23 -0
- data/.yardopts +4 -0
- data/CHANGELOG.md +34 -0
- data/CHANGELOG.org +38 -0
- data/LICENSE.txt +21 -0
- data/README.md +31 -0
- data/README.org +166 -0
- data/Rakefile +15 -0
- data/TODO.org +163 -0
- data/examples/markdown/native-markdown.md +370 -0
- data/examples/markdown/ox-gfm-markdown.md +373 -0
- data/examples/markdown/ox-gfm-markdown.org +376 -0
- data/exe/fatty +275 -0
- data/fatty.gemspec +42 -0
- data/lib/fatty/accept_env.rb +32 -0
- data/lib/fatty/action.rb +103 -0
- data/lib/fatty/action_environment.rb +42 -0
- data/lib/fatty/actionable.rb +73 -0
- data/lib/fatty/alert.rb +93 -0
- data/lib/fatty/ansi/renderer.rb +168 -0
- data/lib/fatty/ansi.rb +352 -0
- data/lib/fatty/colors/color.rb +379 -0
- data/lib/fatty/colors/pairs.rb +73 -0
- data/lib/fatty/colors/palette.rb +73 -0
- data/lib/fatty/colors/rgb.txt +788 -0
- data/lib/fatty/colors.rb +5 -0
- data/lib/fatty/config.rb +86 -0
- data/lib/fatty/config_files/config.yml +50 -0
- data/lib/fatty/config_files/help.md +120 -0
- data/lib/fatty/config_files/help.org +124 -0
- data/lib/fatty/config_files/keybindings.yml +49 -0
- data/lib/fatty/config_files/keydefs.yml +23 -0
- data/lib/fatty/config_files/themes/mono.yml +76 -0
- data/lib/fatty/config_files/themes/nordic.yml +77 -0
- data/lib/fatty/config_files/themes/solarized_dark.yml +77 -0
- data/lib/fatty/config_files/themes/terminal.yml +90 -0
- data/lib/fatty/config_files/themes/wordperfect.yml +77 -0
- data/lib/fatty/config_files/themes/wordperfect_light.yml +77 -0
- data/lib/fatty/core_ext/string.rb +21 -0
- data/lib/fatty/core_ext.rb +3 -0
- data/lib/fatty/counter.rb +81 -0
- data/lib/fatty/curses/context.rb +279 -0
- data/lib/fatty/curses/curses_coder.rb +684 -0
- data/lib/fatty/curses/event_source.rb +230 -0
- data/lib/fatty/curses/key_decoder.rb +183 -0
- data/lib/fatty/curses/patch.rb +116 -0
- data/lib/fatty/curses/window_styling.rb +32 -0
- data/lib/fatty/curses.rb +16 -0
- data/lib/fatty/env.rb +100 -0
- data/lib/fatty/help.rb +41 -0
- data/lib/fatty/history/entry.rb +71 -0
- data/lib/fatty/history.rb +289 -0
- data/lib/fatty/input_buffer.rb +998 -0
- data/lib/fatty/input_field.rb +507 -0
- data/lib/fatty/key_event.rb +342 -0
- data/lib/fatty/key_map.rb +392 -0
- data/lib/fatty/keymaps/emacs.rb +189 -0
- data/lib/fatty/log_formats/json.rb +47 -0
- data/lib/fatty/log_formats/text.rb +67 -0
- data/lib/fatty/logger.rb +142 -0
- data/lib/fatty/markdown/ansi_renderer.rb +373 -0
- data/lib/fatty/markdown/render.rb +22 -0
- data/lib/fatty/markdown.rb +4 -0
- data/lib/fatty/menu_env.rb +22 -0
- data/lib/fatty/mouse_event.rb +32 -0
- data/lib/fatty/output_buffer.rb +78 -0
- data/lib/fatty/pager.rb +801 -0
- data/lib/fatty/prompt.rb +40 -0
- data/lib/fatty/renderer/curses.rb +697 -0
- data/lib/fatty/renderer/truecolor.rb +607 -0
- data/lib/fatty/renderer.rb +419 -0
- data/lib/fatty/screen.rb +96 -0
- data/lib/fatty/search.rb +43 -0
- data/lib/fatty/session/alert_session.rb +52 -0
- data/lib/fatty/session/input_session.rb +99 -0
- data/lib/fatty/session/isearch_session.rb +172 -0
- data/lib/fatty/session/keytest_session.rb +236 -0
- data/lib/fatty/session/modal_session.rb +61 -0
- data/lib/fatty/session/output_session.rb +105 -0
- data/lib/fatty/session/popup_session.rb +540 -0
- data/lib/fatty/session/prompt_session.rb +157 -0
- data/lib/fatty/session/search_session.rb +136 -0
- data/lib/fatty/session/shell_session.rb +566 -0
- data/lib/fatty/session.rb +173 -0
- data/lib/fatty/sessions.rb +14 -0
- data/lib/fatty/terminal/popup_owner.rb +26 -0
- data/lib/fatty/terminal/progress.rb +374 -0
- data/lib/fatty/terminal.rb +1067 -0
- data/lib/fatty/themes/loader.rb +136 -0
- data/lib/fatty/themes/manager.rb +71 -0
- data/lib/fatty/themes/registry.rb +64 -0
- data/lib/fatty/themes/resolver.rb +224 -0
- data/lib/fatty/themes/themes.rb +131 -0
- data/lib/fatty/themes.rb +6 -0
- data/lib/fatty/version.rb +5 -0
- data/lib/fatty/view/alert_view.rb +14 -0
- data/lib/fatty/view/cursor_view.rb +18 -0
- data/lib/fatty/view/input_view.rb +9 -0
- data/lib/fatty/view/output_view.rb +9 -0
- data/lib/fatty/view/status_view.rb +14 -0
- data/lib/fatty/view.rb +33 -0
- data/lib/fatty/viewport.rb +90 -0
- data/lib/fatty/views.rb +9 -0
- data/lib/fatty.rb +55 -0
- data/sig/fatty.rbs +4 -0
- metadata +250 -0
|
@@ -0,0 +1,684 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
#
|
|
4
|
+
# These are the constants the Curses library defines for keys:
|
|
5
|
+
#
|
|
6
|
+
# - KEY_A1 :: A1 Upper left of keypad
|
|
7
|
+
# - KEY_A3 :: A3 Upper right of keypad
|
|
8
|
+
# - KEY_B2 :: B2 Center of keypad
|
|
9
|
+
# - KEY_BACKSPACE :: BACKSPACE Backspace
|
|
10
|
+
# - KEY_BEG :: BEG Beginning key
|
|
11
|
+
# - KEY_BREAK :: BREAK Break key
|
|
12
|
+
# - KEY_BTAB :: KEY_BTAB Back tab key
|
|
13
|
+
# - KEY_C1 :: C1 Lower left of keypad
|
|
14
|
+
# - KEY_C3 :: C3 Lower right of keypad
|
|
15
|
+
# - KEY_CANCEL :: CANCEL Cancel key
|
|
16
|
+
# - KEY_CATAB :: CATAB Clear all tabs
|
|
17
|
+
# - KEY_CLEAR :: CLEAR Clear Screen
|
|
18
|
+
# - KEY_CLOSE :: CLOSE Close key
|
|
19
|
+
# - KEY_COMMAND :: COMMAND Cmd (command) key
|
|
20
|
+
# - KEY_COPY :: COPY Copy key
|
|
21
|
+
# - KEY_CREATE :: CREATE Create key
|
|
22
|
+
# - KEY_CTAB :: CTAB Clear tab
|
|
23
|
+
# - KEY_CTRL_A :: Control A
|
|
24
|
+
# - KEY_CTRL_B :: Control B
|
|
25
|
+
# - KEY_CTRL_C :: Control C
|
|
26
|
+
# - KEY_CTRL_D :: Control D
|
|
27
|
+
# - KEY_CTRL_E :: Control E
|
|
28
|
+
# - KEY_CTRL_F :: Control F
|
|
29
|
+
# - KEY_CTRL_G :: Control G
|
|
30
|
+
# - KEY_CTRL_H :: Control H
|
|
31
|
+
# - KEY_CTRL_I :: Control I
|
|
32
|
+
# - KEY_CTRL_J :: Control J
|
|
33
|
+
# - KEY_CTRL_K :: Control K
|
|
34
|
+
# - KEY_CTRL_L :: Control L
|
|
35
|
+
# - KEY_CTRL_M :: Control M
|
|
36
|
+
# - KEY_CTRL_N :: Control N
|
|
37
|
+
# - KEY_CTRL_O :: Control O
|
|
38
|
+
# - KEY_CTRL_P :: Control P
|
|
39
|
+
# - KEY_CTRL_Q :: Control Q
|
|
40
|
+
# - KEY_CTRL_R :: Control R
|
|
41
|
+
# - KEY_CTRL_S :: Control S
|
|
42
|
+
# - KEY_CTRL_T :: Control T
|
|
43
|
+
# - KEY_CTRL_U :: Control U
|
|
44
|
+
# - KEY_CTRL_V :: Control V
|
|
45
|
+
# - KEY_CTRL_W :: Control W
|
|
46
|
+
# - KEY_CTRL_X :: Control X
|
|
47
|
+
# - KEY_CTRL_Y :: Control Y
|
|
48
|
+
# - KEY_CTRL_Z :: Control Z
|
|
49
|
+
# - KEY_DC :: DC Delete character
|
|
50
|
+
# - KEY_DL :: DL Delete line
|
|
51
|
+
# - KEY_DOWN :: DOWN the down arrow key
|
|
52
|
+
# - KEY_EIC :: EIC Enter insert char mode
|
|
53
|
+
# - KEY_END :: END End key
|
|
54
|
+
# - KEY_ENTER :: ENTER Enter or send
|
|
55
|
+
# - KEY_EOL :: EOL Clear to end of line
|
|
56
|
+
# - KEY_EOS :: EOS Clear to end of screen
|
|
57
|
+
# - KEY_EXIT :: EXIT Exit key
|
|
58
|
+
# - KEY_F0 :: Function 0
|
|
59
|
+
# - KEY_F1 :: Function 1
|
|
60
|
+
# - KEY_F10 :: Function 10
|
|
61
|
+
# - KEY_F11 :: Function 11
|
|
62
|
+
# - KEY_F12 :: Function 12
|
|
63
|
+
# - KEY_F13 :: Function 13
|
|
64
|
+
# - KEY_F14 :: Function 14
|
|
65
|
+
# - KEY_F15 :: Function 15
|
|
66
|
+
# - KEY_F16 :: Function 16
|
|
67
|
+
# - KEY_F17 :: Function 17
|
|
68
|
+
# - KEY_F18 :: Function 18
|
|
69
|
+
# - KEY_F19 :: Function 19
|
|
70
|
+
# - KEY_F2 :: Function 2
|
|
71
|
+
# - KEY_F20 :: Function 20
|
|
72
|
+
# - KEY_F21 :: Function 21
|
|
73
|
+
# - KEY_F22 :: Function 22
|
|
74
|
+
# - KEY_F23 :: Function 23
|
|
75
|
+
# - KEY_F24 :: Function 24
|
|
76
|
+
# - KEY_F25 :: Function 25
|
|
77
|
+
# - KEY_F26 :: Function 26
|
|
78
|
+
# - KEY_F27 :: Function 27
|
|
79
|
+
# - KEY_F28 :: Function 28
|
|
80
|
+
# - KEY_F29 :: Function 29
|
|
81
|
+
# - KEY_F3 :: Function 3
|
|
82
|
+
# - KEY_F30 :: Function 30
|
|
83
|
+
# - KEY_F31 :: Function 31
|
|
84
|
+
# - KEY_F32 :: Function 32
|
|
85
|
+
# - KEY_F33 :: Function 33
|
|
86
|
+
# - KEY_F34 :: Function 34
|
|
87
|
+
# - KEY_F35 :: Function 35
|
|
88
|
+
# - KEY_F36 :: Function 36
|
|
89
|
+
# - KEY_F37 :: Function 37
|
|
90
|
+
# - KEY_F38 :: Function 38
|
|
91
|
+
# - KEY_F39 :: Function 39
|
|
92
|
+
# - KEY_F4 :: Function 4
|
|
93
|
+
# - KEY_F40 :: Function 40
|
|
94
|
+
# - KEY_F41 :: Function 41
|
|
95
|
+
# - KEY_F42 :: Function 42
|
|
96
|
+
# - KEY_F43 :: Function 43
|
|
97
|
+
# - KEY_F44 :: Function 44
|
|
98
|
+
# - KEY_F45 :: Function 45
|
|
99
|
+
# - KEY_F46 :: Function 46
|
|
100
|
+
# - KEY_F47 :: Function 47
|
|
101
|
+
# - KEY_F48 :: Function 48
|
|
102
|
+
# - KEY_F49 :: Function 49
|
|
103
|
+
# - KEY_F5 :: Function 5
|
|
104
|
+
# - KEY_F50 :: Function 50
|
|
105
|
+
# - KEY_F51 :: Function 51
|
|
106
|
+
# - KEY_F52 :: Function 52
|
|
107
|
+
# - KEY_F53 :: Function 53
|
|
108
|
+
# - KEY_F54 :: Function 54
|
|
109
|
+
# - KEY_F55 :: Function 55
|
|
110
|
+
# - KEY_F56 :: Function 56
|
|
111
|
+
# - KEY_F57 :: Function 57
|
|
112
|
+
# - KEY_F58 :: Function 58
|
|
113
|
+
# - KEY_F59 :: Function 59
|
|
114
|
+
# - KEY_F6 :: Function 6
|
|
115
|
+
# - KEY_F60 :: Function 60
|
|
116
|
+
# - KEY_F61 :: Function 61
|
|
117
|
+
# - KEY_F62 :: Function 62
|
|
118
|
+
# - KEY_F63 :: Function 63
|
|
119
|
+
# - KEY_F7 :: Function 7
|
|
120
|
+
# - KEY_F8 :: Function 8
|
|
121
|
+
# - KEY_F9 :: Function 9
|
|
122
|
+
# - KEY_FIND :: FIND Find key
|
|
123
|
+
# - KEY_HELP :: HELP Help key
|
|
124
|
+
# - KEY_HOME :: HOME Home key (upward+left arrow)
|
|
125
|
+
# - KEY_IC :: IC Insert char or enter insert mode
|
|
126
|
+
# - KEY_IL :: IL Insert line
|
|
127
|
+
# - KEY_LEFT :: LEFT the left arrow key
|
|
128
|
+
# - KEY_LL :: LL Home down or bottom (lower left)
|
|
129
|
+
# - KEY_MARK :: MARK Mark key
|
|
130
|
+
# - KEY_MAX :: MAX The maximum allowed curses key value.
|
|
131
|
+
# - KEY_MESSAGE :: MESSAGE Message key
|
|
132
|
+
# - KEY_MIN :: MIN The minimum allowed curses key value.
|
|
133
|
+
# - KEY_MOUSE :: MOUSE Mouse event read
|
|
134
|
+
# - KEY_MOVE :: MOVE Move key
|
|
135
|
+
# - KEY_NEXT :: NEXT Next object key
|
|
136
|
+
# - KEY_NPAGE :: NPAGE Next page
|
|
137
|
+
# - KEY_OPEN :: OPEN Open key
|
|
138
|
+
# - KEY_OPTIONS :: OPTIONS Options key
|
|
139
|
+
# - KEY_PPAGE :: PPAGE Previous page
|
|
140
|
+
# - KEY_PREVIOUS :: PREVIOUS Previous object key
|
|
141
|
+
# - KEY_PRINT :: PRINT Print or copy
|
|
142
|
+
# - KEY_REDO :: REDO Redo key
|
|
143
|
+
# - KEY_REFERENCE :: REFERENCE Reference key
|
|
144
|
+
# - KEY_REFRESH :: REFRESH Refresh key
|
|
145
|
+
# - KEY_REPLACE :: REPLACE Replace key
|
|
146
|
+
# - KEY_RESET :: RESET Reset or hard reset
|
|
147
|
+
# - KEY_RESIZE :: RESIZE Screen Resized
|
|
148
|
+
# - KEY_RESTART :: RESTART Restart key
|
|
149
|
+
# - KEY_RESUME :: RESUME Resume key
|
|
150
|
+
# - KEY_RIGHT :: RIGHT the right arrow key
|
|
151
|
+
# - KEY_SAVE :: SAVE Save key
|
|
152
|
+
# - KEY_SBEG :: SBEG Shifted beginning key
|
|
153
|
+
# - KEY_SCANCEL :: SCANCEL Shifted cancel key
|
|
154
|
+
# - KEY_SCOMMAND :: SCOMMAND Shifted command key
|
|
155
|
+
# - KEY_SCOPY :: SCOPY Shifted copy key
|
|
156
|
+
# - KEY_SCREATE :: SCREATE Shifted create key
|
|
157
|
+
# - KEY_SDC :: SDC Shifted delete char key
|
|
158
|
+
# - KEY_SDL :: SDL Shifted delete line key
|
|
159
|
+
# - KEY_SELECT :: SELECT Select key
|
|
160
|
+
# - KEY_SEND :: SEND Shifted end key
|
|
161
|
+
# - KEY_SEOL :: SEOL Shifted clear line key
|
|
162
|
+
# - KEY_SEXIT :: SEXIT Shifted exit key
|
|
163
|
+
# - KEY_SF :: SF Scroll 1 line forward
|
|
164
|
+
# - KEY_SFIND :: SFIND Shifted find key
|
|
165
|
+
# - KEY_SHELP :: SHELP Shifted help key
|
|
166
|
+
# - KEY_SHOME :: SHOME Shifted home key
|
|
167
|
+
# - KEY_SIC :: SIC Shifted input key
|
|
168
|
+
# - KEY_SLEFT :: SLEFT Shifted left arrow key
|
|
169
|
+
# - KEY_SMESSAGE :: SMESSAGE Shifted message key
|
|
170
|
+
# - KEY_SMOVE :: SMOVE Shifted move key
|
|
171
|
+
# - KEY_SNEXT :: SNEXT Shifted next key
|
|
172
|
+
# - KEY_SOPTIONS :: SOPTIONS Shifted options key
|
|
173
|
+
# - KEY_SPREVIOUS :: SPREVIOUS Shifted previous key
|
|
174
|
+
# - KEY_SPRINT :: SPRINT Shifted print key
|
|
175
|
+
# - KEY_SR :: SR Scroll 1 line backward (reverse)
|
|
176
|
+
# - KEY_SREDO :: SREDO Shifted redo key
|
|
177
|
+
# - KEY_SREPLACE :: SREPLACE Shifted replace key
|
|
178
|
+
# - KEY_SRESET :: SRESET Soft (partial) reset
|
|
179
|
+
# - KEY_SRIGHT :: SRIGHT Shifted right arrow key
|
|
180
|
+
# - KEY_SRSUME :: SRSUME Shifted resume key
|
|
181
|
+
# - KEY_SSAVE :: SSAVE Shifted save key
|
|
182
|
+
# - KEY_SSUSPEND :: SSUSPEND Shifted suspend key
|
|
183
|
+
# - KEY_STAB :: STAB Set tab
|
|
184
|
+
# - KEY_SUNDO :: SUNDO Shifted undo key
|
|
185
|
+
# - KEY_SUSPEND :: SUSPEND Suspend key
|
|
186
|
+
# - KEY_UNDO :: UNDO Undo key
|
|
187
|
+
# - KEY_UP :: UP the up arrow key
|
|
188
|
+
|
|
189
|
+
# These are the integers returned by the constants in my experiments.
|
|
190
|
+
#
|
|
191
|
+
# KEY_SYM_MAP = {
|
|
192
|
+
# 409 => :KEY_MOUSE,
|
|
193
|
+
# 257 => :KEY_BREAK,
|
|
194
|
+
# 258 => :KEY_DOWN,
|
|
195
|
+
# 259 => :KEY_UP,
|
|
196
|
+
# 260 => :KEY_LEFT,
|
|
197
|
+
# 261 => :KEY_RIGHT,
|
|
198
|
+
# 262 => :KEY_HOME,
|
|
199
|
+
# 263 => :KEY_BACKSPACE,
|
|
200
|
+
# 264 => :KEY_F0,
|
|
201
|
+
# 265 => :KEY_F1,
|
|
202
|
+
# 266 => :KEY_F2,
|
|
203
|
+
# 267 => :KEY_F3,
|
|
204
|
+
# 268 => :KEY_F4,
|
|
205
|
+
# 269 => :KEY_F5,
|
|
206
|
+
# 270 => :KEY_F6,
|
|
207
|
+
# 271 => :KEY_F7,
|
|
208
|
+
# 272 => :KEY_F8,
|
|
209
|
+
# 273 => :KEY_F9,
|
|
210
|
+
# 274 => :KEY_F10,
|
|
211
|
+
# 275 => :KEY_F11,
|
|
212
|
+
# 276 => :KEY_F12,
|
|
213
|
+
# 277 => :KEY_F13,
|
|
214
|
+
# 278 => :KEY_F14,
|
|
215
|
+
# 279 => :KEY_F15,
|
|
216
|
+
# 280 => :KEY_F16,
|
|
217
|
+
# 281 => :KEY_F17,
|
|
218
|
+
# 282 => :KEY_F18,
|
|
219
|
+
# 283 => :KEY_F19,
|
|
220
|
+
# 284 => :KEY_F20,
|
|
221
|
+
# 285 => :KEY_F21,
|
|
222
|
+
# 286 => :KEY_F22,
|
|
223
|
+
# 287 => :KEY_F23,
|
|
224
|
+
# 288 => :KEY_F24,
|
|
225
|
+
# 289 => :KEY_F25,
|
|
226
|
+
# 290 => :KEY_F26,
|
|
227
|
+
# 291 => :KEY_F27,
|
|
228
|
+
# 292 => :KEY_F28,
|
|
229
|
+
# 293 => :KEY_F29,
|
|
230
|
+
# 294 => :KEY_F30,
|
|
231
|
+
# 295 => :KEY_F31,
|
|
232
|
+
# 296 => :KEY_F32,
|
|
233
|
+
# 297 => :KEY_F33,
|
|
234
|
+
# 298 => :KEY_F34,
|
|
235
|
+
# 299 => :KEY_F35,
|
|
236
|
+
# 300 => :KEY_F36,
|
|
237
|
+
# 301 => :KEY_F37,
|
|
238
|
+
# 302 => :KEY_F38,
|
|
239
|
+
# 303 => :KEY_F39,
|
|
240
|
+
# 304 => :KEY_F40,
|
|
241
|
+
# 305 => :KEY_F41,
|
|
242
|
+
# 306 => :KEY_F42,
|
|
243
|
+
# 307 => :KEY_F43,
|
|
244
|
+
# 308 => :KEY_F44,
|
|
245
|
+
# 309 => :KEY_F45,
|
|
246
|
+
# 310 => :KEY_F46,
|
|
247
|
+
# 311 => :KEY_F47,
|
|
248
|
+
# 312 => :KEY_F48,
|
|
249
|
+
# 313 => :KEY_F49,
|
|
250
|
+
# 314 => :KEY_F50,
|
|
251
|
+
# 315 => :KEY_F51,
|
|
252
|
+
# 316 => :KEY_F52,
|
|
253
|
+
# 317 => :KEY_F53,
|
|
254
|
+
# 318 => :KEY_F54,
|
|
255
|
+
# 319 => :KEY_F55,
|
|
256
|
+
# 320 => :KEY_F56,
|
|
257
|
+
# 321 => :KEY_F57,
|
|
258
|
+
# 322 => :KEY_F58,
|
|
259
|
+
# 323 => :KEY_F59,
|
|
260
|
+
# 324 => :KEY_F60,
|
|
261
|
+
# 325 => :KEY_F61,
|
|
262
|
+
# 326 => :KEY_F62,
|
|
263
|
+
# 327 => :KEY_F63,
|
|
264
|
+
# 328 => :KEY_DL,
|
|
265
|
+
# 329 => :KEY_IL,
|
|
266
|
+
# 330 => :KEY_DC,
|
|
267
|
+
# 331 => :KEY_IC,
|
|
268
|
+
# 332 => :KEY_EIC,
|
|
269
|
+
# 333 => :KEY_CLEAR,
|
|
270
|
+
# 334 => :KEY_EOS,
|
|
271
|
+
# 335 => :KEY_EOL,
|
|
272
|
+
# 336 => :KEY_SF,
|
|
273
|
+
# 337 => :KEY_SR,
|
|
274
|
+
# 338 => :KEY_NPAGE,
|
|
275
|
+
# 339 => :KEY_PPAGE,
|
|
276
|
+
# 340 => :KEY_STAB,
|
|
277
|
+
# 341 => :KEY_CTAB,
|
|
278
|
+
# 342 => :KEY_CATAB,
|
|
279
|
+
# 343 => :KEY_ENTER,
|
|
280
|
+
# 344 => :KEY_SRESET,
|
|
281
|
+
# 345 => :KEY_RESET,
|
|
282
|
+
# 346 => :KEY_PRINT,
|
|
283
|
+
# 347 => :KEY_LL,
|
|
284
|
+
# 348 => :KEY_A1,
|
|
285
|
+
# 349 => :KEY_A3,
|
|
286
|
+
# 350 => :KEY_B2,
|
|
287
|
+
# 351 => :KEY_C1,
|
|
288
|
+
# 352 => :KEY_C3,
|
|
289
|
+
# 353 => :KEY_BTAB,
|
|
290
|
+
# 354 => :KEY_BEG,
|
|
291
|
+
# 355 => :KEY_CANCEL,
|
|
292
|
+
# 356 => :KEY_CLOSE,
|
|
293
|
+
# 357 => :KEY_COMMAND,
|
|
294
|
+
# 358 => :KEY_COPY,
|
|
295
|
+
# 359 => :KEY_CREATE,
|
|
296
|
+
# 360 => :KEY_END,
|
|
297
|
+
# 361 => :KEY_EXIT,
|
|
298
|
+
# 362 => :KEY_FIND,
|
|
299
|
+
# 363 => :KEY_HELP,
|
|
300
|
+
# 364 => :KEY_MARK,
|
|
301
|
+
# 365 => :KEY_MESSAGE,
|
|
302
|
+
# 366 => :KEY_MOVE,
|
|
303
|
+
# 367 => :KEY_NEXT,
|
|
304
|
+
# 368 => :KEY_OPEN,
|
|
305
|
+
# 369 => :KEY_OPTIONS,
|
|
306
|
+
# 370 => :KEY_PREVIOUS,
|
|
307
|
+
# 371 => :KEY_REDO,
|
|
308
|
+
# 372 => :KEY_REFERENCE,
|
|
309
|
+
# 373 => :KEY_REFRESH,
|
|
310
|
+
# 374 => :KEY_REPLACE,
|
|
311
|
+
# 375 => :KEY_RESTART,
|
|
312
|
+
# 376 => :KEY_RESUME,
|
|
313
|
+
# 377 => :KEY_SAVE,
|
|
314
|
+
# 378 => :KEY_SBEG,
|
|
315
|
+
# 379 => :KEY_SCANCEL,
|
|
316
|
+
# 380 => :KEY_SCOMMAND,
|
|
317
|
+
# 381 => :KEY_SCOPY,
|
|
318
|
+
# 382 => :KEY_SCREATE,
|
|
319
|
+
# 383 => :KEY_SDC,
|
|
320
|
+
# 384 => :KEY_SDL,
|
|
321
|
+
# 385 => :KEY_SELECT,
|
|
322
|
+
# 386 => :KEY_SEND,
|
|
323
|
+
# 387 => :KEY_SEOL,
|
|
324
|
+
# 388 => :KEY_SEXIT,
|
|
325
|
+
# 389 => :KEY_SFIND,
|
|
326
|
+
# 390 => :KEY_SHELP,
|
|
327
|
+
# 391 => :KEY_SHOME,
|
|
328
|
+
# 392 => :KEY_SIC,
|
|
329
|
+
# 393 => :KEY_SLEFT,
|
|
330
|
+
# 394 => :KEY_SMESSAGE,
|
|
331
|
+
# 395 => :KEY_SMOVE,
|
|
332
|
+
# 396 => :KEY_SNEXT,
|
|
333
|
+
# 397 => :KEY_SOPTIONS,
|
|
334
|
+
# 398 => :KEY_SPREVIOUS,
|
|
335
|
+
# 399 => :KEY_SPRINT,
|
|
336
|
+
# 400 => :KEY_SREDO,
|
|
337
|
+
# 401 => :KEY_SREPLACE,
|
|
338
|
+
# 402 => :KEY_SRIGHT,
|
|
339
|
+
# 403 => :KEY_SRSUME,
|
|
340
|
+
# 404 => :KEY_SSAVE,
|
|
341
|
+
# 405 => :KEY_SSUSPEND,
|
|
342
|
+
# 406 => :KEY_SUNDO,
|
|
343
|
+
# 407 => :KEY_SUSPEND,
|
|
344
|
+
# 408 => :KEY_UNDO,
|
|
345
|
+
# 410 => :KEY_RESIZE,
|
|
346
|
+
# 511 => :KEY_MAX,
|
|
347
|
+
# 1 => :KEY_CTRL_A,
|
|
348
|
+
# 2 => :KEY_CTRL_B,
|
|
349
|
+
# 3 => :KEY_CTRL_C,
|
|
350
|
+
# 4 => :KEY_CTRL_D,
|
|
351
|
+
# 5 => :KEY_CTRL_E,
|
|
352
|
+
# 6 => :KEY_CTRL_F,
|
|
353
|
+
# 7 => :KEY_CTRL_G,
|
|
354
|
+
# 8 => :KEY_CTRL_H,
|
|
355
|
+
# 9 => :KEY_CTRL_I,
|
|
356
|
+
# 10 => :KEY_CTRL_J,
|
|
357
|
+
# 11 => :KEY_CTRL_K,
|
|
358
|
+
# 12 => :KEY_CTRL_L,
|
|
359
|
+
# 13 => :KEY_CTRL_M,
|
|
360
|
+
# 14 => :KEY_CTRL_N,
|
|
361
|
+
# 15 => :KEY_CTRL_O,
|
|
362
|
+
# 16 => :KEY_CTRL_P,
|
|
363
|
+
# 17 => :KEY_CTRL_Q,
|
|
364
|
+
# 18 => :KEY_CTRL_R,
|
|
365
|
+
# 19 => :KEY_CTRL_S,
|
|
366
|
+
# 20 => :KEY_CTRL_T,
|
|
367
|
+
# 21 => :KEY_CTRL_U,
|
|
368
|
+
# 22 => :KEY_CTRL_V,
|
|
369
|
+
# 23 => :KEY_CTRL_W,
|
|
370
|
+
# 24 => :KEY_CTRL_X,
|
|
371
|
+
# 25 => :KEY_CTRL_Y,
|
|
372
|
+
# 26 => :KEY_CTRL_Z
|
|
373
|
+
# }
|
|
374
|
+
|
|
375
|
+
# MAP = {
|
|
376
|
+
# 9 => Fatty::KeyEvent.new(key: :tab),
|
|
377
|
+
# 353 => Fatty::KeyEvent.new(key: :backtab),
|
|
378
|
+
# 265 => Fatty::KeyEvent.new(key: :f1),
|
|
379
|
+
# 277 => Fatty::KeyEvent.new(key: :f1, shift: true),
|
|
380
|
+
# 289 => Fatty::KeyEvent.new(key: :f1, ctrl: true),
|
|
381
|
+
# 301 => Fatty::KeyEvent.new(key: :f1, shift: true, ctrl: true),
|
|
382
|
+
# 313 => Fatty::KeyEvent.new(key: :f1, meta: true),
|
|
383
|
+
# 325 => Fatty::KeyEvent.new(key: :f1, shift: true, meta: true),
|
|
384
|
+
# 266 => Fatty::KeyEvent.new(key: :f2),
|
|
385
|
+
# 278 => Fatty::KeyEvent.new(key: :f2, shift: true),
|
|
386
|
+
# 290 => Fatty::KeyEvent.new(key: :f2, ctrl: true),
|
|
387
|
+
# 302 => Fatty::KeyEvent.new(key: :f2, shift: true, ctrl: true),
|
|
388
|
+
# 314 => Fatty::KeyEvent.new(key: :f2, meta: true),
|
|
389
|
+
# 326 => Fatty::KeyEvent.new(key: :f2, shift: true, meta: true),
|
|
390
|
+
# 267 => Fatty::KeyEvent.new(key: :f3),
|
|
391
|
+
# 279 => Fatty::KeyEvent.new(key: :f3, shift: true),
|
|
392
|
+
# 291 => Fatty::KeyEvent.new(key: :f3, ctrl: true),
|
|
393
|
+
# 303 => Fatty::KeyEvent.new(key: :f3, shift: true, ctrl: true),
|
|
394
|
+
# 315 => Fatty::KeyEvent.new(key: :f3, meta: true),
|
|
395
|
+
# 327 => Fatty::KeyEvent.new(key: :f3, shift: true, meta: true),
|
|
396
|
+
# 268 => Fatty::KeyEvent.new(key: :f4),
|
|
397
|
+
# 280 => Fatty::KeyEvent.new(key: :f4, shift: true),
|
|
398
|
+
# 292 => Fatty::KeyEvent.new(key: :f4, ctrl: true),
|
|
399
|
+
# 304 => Fatty::KeyEvent.new(key: :f4, shift: true, ctrl: true),
|
|
400
|
+
# 316 => Fatty::KeyEvent.new(key: :f4, meta: true),
|
|
401
|
+
# 328 => Fatty::KeyEvent.new(key: :f4, shift: true, meta: true),
|
|
402
|
+
# 269 => Fatty::KeyEvent.new(key: :f5),
|
|
403
|
+
# 281 => Fatty::KeyEvent.new(key: :f5, shift: true),
|
|
404
|
+
# 293 => Fatty::KeyEvent.new(key: :f5, ctrl: true),
|
|
405
|
+
# 305 => Fatty::KeyEvent.new(key: :f5, shift: true, ctrl: true),
|
|
406
|
+
# 317 => Fatty::KeyEvent.new(key: :f5, meta: true),
|
|
407
|
+
# 329 => Fatty::KeyEvent.new(key: :f5, shift: true, meta: true),
|
|
408
|
+
# 270 => Fatty::KeyEvent.new(key: :f6),
|
|
409
|
+
# 282 => Fatty::KeyEvent.new(key: :f6, shift: true),
|
|
410
|
+
# 294 => Fatty::KeyEvent.new(key: :f6, ctrl: true),
|
|
411
|
+
# 306 => Fatty::KeyEvent.new(key: :f6, shift: true, ctrl: true),
|
|
412
|
+
# 318 => Fatty::KeyEvent.new(key: :f6, meta: true),
|
|
413
|
+
# # 330 duplicates the :delete key
|
|
414
|
+
# # 330 => Fatty::KeyEvent.new(key: :f6, shift: true, meta: true),
|
|
415
|
+
# 271 => Fatty::KeyEvent.new(key: :f7),
|
|
416
|
+
# 283 => Fatty::KeyEvent.new(key: :f7, shift: true),
|
|
417
|
+
# 295 => Fatty::KeyEvent.new(key: :f7, ctrl: true),
|
|
418
|
+
# 307 => Fatty::KeyEvent.new(key: :f7, shift: true, ctrl: true),
|
|
419
|
+
# 319 => Fatty::KeyEvent.new(key: :f7, meta: true),
|
|
420
|
+
# # 331 duplicates the :insert key
|
|
421
|
+
# # 331 => Fatty::KeyEvent.new(key: :f7, shift: true, meta: true),
|
|
422
|
+
# 272 => Fatty::KeyEvent.new(key: :f8),
|
|
423
|
+
# 284 => Fatty::KeyEvent.new(key: :f8, shift: true),
|
|
424
|
+
# 296 => Fatty::KeyEvent.new(key: :f8, ctrl: true),
|
|
425
|
+
# 308 => Fatty::KeyEvent.new(key: :f8, shift: true, ctrl: true),
|
|
426
|
+
# 320 => Fatty::KeyEvent.new(key: :f8, meta: true),
|
|
427
|
+
# 332 => Fatty::KeyEvent.new(key: :f8, shift: true, meta: true),
|
|
428
|
+
# 273 => Fatty::KeyEvent.new(key: :f9),
|
|
429
|
+
# 285 => Fatty::KeyEvent.new(key: :f9, shift: true),
|
|
430
|
+
# 297 => Fatty::KeyEvent.new(key: :f9, ctrl: true),
|
|
431
|
+
# 309 => Fatty::KeyEvent.new(key: :f9, shift: true, ctrl: true),
|
|
432
|
+
# 321 => Fatty::KeyEvent.new(key: :f9, meta: true),
|
|
433
|
+
# 333 => Fatty::KeyEvent.new(key: :f9, shift: true, meta: true),
|
|
434
|
+
# 274 => Fatty::KeyEvent.new(key: :f10),
|
|
435
|
+
# 286 => Fatty::KeyEvent.new(key: :f10, shift: true),
|
|
436
|
+
# 298 => Fatty::KeyEvent.new(key: :f10, ctrl: true),
|
|
437
|
+
# 310 => Fatty::KeyEvent.new(key: :f10, shift: true, ctrl: true),
|
|
438
|
+
# 322 => Fatty::KeyEvent.new(key: :f10, meta: true),
|
|
439
|
+
# 334 => Fatty::KeyEvent.new(key: :f10, shift: true, meta: true),
|
|
440
|
+
# 275 => Fatty::KeyEvent.new(key: :f11),
|
|
441
|
+
# 287 => Fatty::KeyEvent.new(key: :f11, shift: true),
|
|
442
|
+
# 299 => Fatty::KeyEvent.new(key: :f11, ctrl: true),
|
|
443
|
+
# 311 => Fatty::KeyEvent.new(key: :f11, shift: true, ctrl: true),
|
|
444
|
+
# 323 => Fatty::KeyEvent.new(key: :f11, meta: true),
|
|
445
|
+
# 335 => Fatty::KeyEvent.new(key: :f11, shift: true, meta: true),
|
|
446
|
+
# 276 => Fatty::KeyEvent.new(key: :f12),
|
|
447
|
+
# 288 => Fatty::KeyEvent.new(key: :f12, shift: true),
|
|
448
|
+
# 300 => Fatty::KeyEvent.new(key: :f12, ctrl: true),
|
|
449
|
+
# 312 => Fatty::KeyEvent.new(key: :f12, shift: true, ctrl: true),
|
|
450
|
+
# 324 => Fatty::KeyEvent.new(key: :f12, meta: true),
|
|
451
|
+
# # 336 duplicates the :down key
|
|
452
|
+
# # 336 => Fatty::KeyEvent.new(key: :f12, shift: true, meta: true),
|
|
453
|
+
|
|
454
|
+
# 331 => Fatty::KeyEvent.new(key: :insert),
|
|
455
|
+
# 392 => Fatty::KeyEvent.new(key: :insert, shift: true),
|
|
456
|
+
# 550 => Fatty::KeyEvent.new(key: :insert, meta: true),
|
|
457
|
+
# 551 => Fatty::KeyEvent.new(key: :insert, shift: true, meta: true),
|
|
458
|
+
# 552 => Fatty::KeyEvent.new(key: :insert, ctrl: true),
|
|
459
|
+
# 553 => Fatty::KeyEvent.new(key: :insert, shift: true, ctrl: true),
|
|
460
|
+
# 330 => Fatty::KeyEvent.new(key: :delete),
|
|
461
|
+
# 383 => Fatty::KeyEvent.new(key: :delete, shift: true),
|
|
462
|
+
# 531 => Fatty::KeyEvent.new(key: :delete, meta: true),
|
|
463
|
+
# 532 => Fatty::KeyEvent.new(key: :delete, shift: true, meta: true),
|
|
464
|
+
# 533 => Fatty::KeyEvent.new(key: :delete, ctrl: true),
|
|
465
|
+
# 534 => Fatty::KeyEvent.new(key: :delete, shift: true, ctrl: true),
|
|
466
|
+
# 262 => Fatty::KeyEvent.new(key: :home),
|
|
467
|
+
# 391 => Fatty::KeyEvent.new(key: :home, shift: true),
|
|
468
|
+
# 545 => Fatty::KeyEvent.new(key: :home, meta: true),
|
|
469
|
+
# 546 => Fatty::KeyEvent.new(key: :home, shift: true, meta: true),
|
|
470
|
+
# 547 => Fatty::KeyEvent.new(key: :home, ctrl: true),
|
|
471
|
+
# 548 => Fatty::KeyEvent.new(key: :home, shift: true, ctrl: true),
|
|
472
|
+
# 360 => Fatty::KeyEvent.new(key: :end),
|
|
473
|
+
# 386 => Fatty::KeyEvent.new(key: :end, shift: true),
|
|
474
|
+
# 540 => Fatty::KeyEvent.new(key: :end, meta: true),
|
|
475
|
+
# 541 => Fatty::KeyEvent.new(key: :end, shift: true, meta: true),
|
|
476
|
+
# 542 => Fatty::KeyEvent.new(key: :end, ctrl: true),
|
|
477
|
+
# 543 => Fatty::KeyEvent.new(key: :end, shift: true, ctrl: true),
|
|
478
|
+
# 339 => Fatty::KeyEvent.new(key: :page_up),
|
|
479
|
+
# 398 => Fatty::KeyEvent.new(key: :page_up, shift: true),
|
|
480
|
+
# 565 => Fatty::KeyEvent.new(key: :page_up, meta: true),
|
|
481
|
+
# 566 => Fatty::KeyEvent.new(key: :page_up, shift: true, meta: true),
|
|
482
|
+
# 567 => Fatty::KeyEvent.new(key: :page_up, ctrl: true),
|
|
483
|
+
# 568 => Fatty::KeyEvent.new(key: :page_up, shift: true, ctrl: true),
|
|
484
|
+
# 338 => Fatty::KeyEvent.new(key: :page_down),
|
|
485
|
+
# 396 => Fatty::KeyEvent.new(key: :page_down, shift: true),
|
|
486
|
+
# 560 => Fatty::KeyEvent.new(key: :page_down, meta: true),
|
|
487
|
+
# 561 => Fatty::KeyEvent.new(key: :page_down, shift: true, meta: true),
|
|
488
|
+
# 562 => Fatty::KeyEvent.new(key: :page_down, ctrl: true),
|
|
489
|
+
# 563 => Fatty::KeyEvent.new(key: :page_down, shift: true, ctrl: true),
|
|
490
|
+
|
|
491
|
+
# 258 => Fatty::KeyEvent.new(key: :down),
|
|
492
|
+
# 336 => Fatty::KeyEvent.new(key: :down, shift: true),
|
|
493
|
+
# 535 => Fatty::KeyEvent.new(key: :down, meta: true),
|
|
494
|
+
# 536 => Fatty::KeyEvent.new(key: :down, shift: true, meta: true),
|
|
495
|
+
# 537 => Fatty::KeyEvent.new(key: :down, ctrl: true),
|
|
496
|
+
# 538 => Fatty::KeyEvent.new(key: :down, shift: true, ctrl: true),
|
|
497
|
+
# 259 => Fatty::KeyEvent.new(key: :up),
|
|
498
|
+
# 337 => Fatty::KeyEvent.new(key: :up, shift: true),
|
|
499
|
+
# 576 => Fatty::KeyEvent.new(key: :up, meta: true),
|
|
500
|
+
# 577 => Fatty::KeyEvent.new(key: :up, shift: true, meta: true),
|
|
501
|
+
# 578 => Fatty::KeyEvent.new(key: :up, ctrl: true),
|
|
502
|
+
# 579 => Fatty::KeyEvent.new(key: :up, shift: true, ctrl: true),
|
|
503
|
+
# 260 => Fatty::KeyEvent.new(key: :left),
|
|
504
|
+
# 393 => Fatty::KeyEvent.new(key: :left, shift: true),
|
|
505
|
+
# 555 => Fatty::KeyEvent.new(key: :left, meta: true),
|
|
506
|
+
# 556 => Fatty::KeyEvent.new(key: :left, shift: true, meta: true),
|
|
507
|
+
# 557 => Fatty::KeyEvent.new(key: :left, ctrl: true),
|
|
508
|
+
# 558 => Fatty::KeyEvent.new(key: :left, shift: true, ctrl: true),
|
|
509
|
+
# 261 => Fatty::KeyEvent.new(key: :right),
|
|
510
|
+
# 402 => Fatty::KeyEvent.new(key: :right, shift: true),
|
|
511
|
+
# 570 => Fatty::KeyEvent.new(key: :right, meta: true),
|
|
512
|
+
# 571 => Fatty::KeyEvent.new(key: :right, shift: true, meta: true),
|
|
513
|
+
# 572 => Fatty::KeyEvent.new(key: :right, ctrl: true),
|
|
514
|
+
# 573 => Fatty::KeyEvent.new(key: :right, shift: true, ctrl: true),
|
|
515
|
+
# }
|
|
516
|
+
|
|
517
|
+
# require_relative "../../key_event"
|
|
518
|
+
|
|
519
|
+
require 'curses'
|
|
520
|
+
|
|
521
|
+
module Fatty
|
|
522
|
+
module Curses
|
|
523
|
+
# These come from special handling in KeyDecoder#fallback_decode.
|
|
524
|
+
COMMON_KEYNAMES = %i[
|
|
525
|
+
enter
|
|
526
|
+
escape
|
|
527
|
+
return
|
|
528
|
+
space
|
|
529
|
+
].freeze
|
|
530
|
+
|
|
531
|
+
# After this list is read in, return an Array of the known key names.
|
|
532
|
+
def self.valid_keynames
|
|
533
|
+
(
|
|
534
|
+
CURSES_TO_EVENT.values.filter_map(&:key) +
|
|
535
|
+
COMMON_KEYNAMES
|
|
536
|
+
).map(&:to_s).uniq.sort
|
|
537
|
+
end
|
|
538
|
+
|
|
539
|
+
CURSES_TO_EVENT = {
|
|
540
|
+
# Special case for TAB. Curses::KEY_CTRL_I may not get defined on all
|
|
541
|
+
# platforms.
|
|
542
|
+
9 => Fatty::KeyEvent.new(key: :tab, raw: 9),
|
|
543
|
+
::Curses::KEY_RESIZE => Fatty::KeyEvent.new(key: :resize, raw: ::Curses::KEY_RESIZE),
|
|
544
|
+
::Curses::KEY_BTAB => Fatty::KeyEvent.new(key: :tab, shift: true, raw: ::Curses::KEY_BTAB),
|
|
545
|
+
::Curses::KEY_BACKSPACE => Fatty::KeyEvent.new(key: :backspace, raw: ::Curses::KEY_BACKSPACE),
|
|
546
|
+
::Curses::KEY_F1 => Fatty::KeyEvent.new(key: :f1, raw: ::Curses::KEY_F1),
|
|
547
|
+
::Curses::KEY_F13 => Fatty::KeyEvent.new(key: :f1, shift: true, raw: ::Curses::KEY_F13),
|
|
548
|
+
::Curses::KEY_F25 => Fatty::KeyEvent.new(key: :f1, ctrl: true, raw: ::Curses::KEY_F25),
|
|
549
|
+
::Curses::KEY_F37 => Fatty::KeyEvent.new(key: :f1, shift: true, ctrl: true, raw: ::Curses::KEY_F37),
|
|
550
|
+
::Curses::KEY_F49 => Fatty::KeyEvent.new(key: :f1, meta: true, raw: ::Curses::KEY_F49),
|
|
551
|
+
::Curses::KEY_F61 => Fatty::KeyEvent.new(key: :f1, shift: true, meta: true, raw: ::Curses::KEY_F61),
|
|
552
|
+
::Curses::KEY_F2 => Fatty::KeyEvent.new(key: :f2, raw: ::Curses::KEY_F2),
|
|
553
|
+
::Curses::KEY_F14 => Fatty::KeyEvent.new(key: :f2, shift: true, raw: ::Curses::KEY_F14),
|
|
554
|
+
::Curses::KEY_F26 => Fatty::KeyEvent.new(key: :f2, ctrl: true, raw: ::Curses::KEY_F26),
|
|
555
|
+
::Curses::KEY_F38 => Fatty::KeyEvent.new(key: :f2, shift: true, ctrl: true, raw: ::Curses::KEY_F38),
|
|
556
|
+
::Curses::KEY_F50 => Fatty::KeyEvent.new(key: :f2, meta: true, raw: ::Curses::KEY_F50),
|
|
557
|
+
::Curses::KEY_F62 => Fatty::KeyEvent.new(key: :f2, shift: true, meta: true, raw: ::Curses::KEY_F62),
|
|
558
|
+
::Curses::KEY_F3 => Fatty::KeyEvent.new(key: :f3, raw: ::Curses::KEY_F3),
|
|
559
|
+
::Curses::KEY_F15 => Fatty::KeyEvent.new(key: :f3, shift: true, raw: ::Curses::KEY_F15),
|
|
560
|
+
::Curses::KEY_F27 => Fatty::KeyEvent.new(key: :f3, ctrl: true, raw: ::Curses::KEY_F27),
|
|
561
|
+
::Curses::KEY_F39 => Fatty::KeyEvent.new(key: :f3, shift: true, ctrl: true, raw: ::Curses::KEY_F39),
|
|
562
|
+
::Curses::KEY_F51 => Fatty::KeyEvent.new(key: :f3, meta: true, raw: ::Curses::KEY_F51),
|
|
563
|
+
::Curses::KEY_F63 => Fatty::KeyEvent.new(key: :f3, shift: true, meta: true, raw: ::Curses::KEY_F63),
|
|
564
|
+
::Curses::KEY_F4 => Fatty::KeyEvent.new(key: :f4, raw: ::Curses::KEY_F4),
|
|
565
|
+
::Curses::KEY_F16 => Fatty::KeyEvent.new(key: :f4, shift: true, raw: ::Curses::KEY_F16),
|
|
566
|
+
::Curses::KEY_F28 => Fatty::KeyEvent.new(key: :f4, ctrl: true, raw: ::Curses::KEY_F28),
|
|
567
|
+
::Curses::KEY_F40 => Fatty::KeyEvent.new(key: :f4, shift: true, ctrl: true, raw: ::Curses::KEY_F40),
|
|
568
|
+
::Curses::KEY_F52 => Fatty::KeyEvent.new(key: :f4, meta: true, raw: ::Curses::KEY_F52),
|
|
569
|
+
# KEY_DL: 328 => Fatty::KeyEvent.new(key: :f4, shift: true, meta: true, raw: KEY_DL: 328),
|
|
570
|
+
::Curses::KEY_F5 => Fatty::KeyEvent.new(key: :f5, raw: ::Curses::KEY_F5),
|
|
571
|
+
::Curses::KEY_F17 => Fatty::KeyEvent.new(key: :f5, shift: true, raw: ::Curses::KEY_F17),
|
|
572
|
+
::Curses::KEY_F29 => Fatty::KeyEvent.new(key: :f5, ctrl: true, raw: ::Curses::KEY_F29),
|
|
573
|
+
::Curses::KEY_F41 => Fatty::KeyEvent.new(key: :f5, shift: true, ctrl: true, raw: ::Curses::KEY_F41),
|
|
574
|
+
::Curses::KEY_F53 => Fatty::KeyEvent.new(key: :f5, meta: true, raw: ::Curses::KEY_F53),
|
|
575
|
+
# KEY_IL: 329 => Fatty::KeyEvent.new(key: :f5, shift: true, meta: true, raw: KEY_IL: 329),
|
|
576
|
+
::Curses::KEY_F6 => Fatty::KeyEvent.new(key: :f6, raw: ::Curses::KEY_F6),
|
|
577
|
+
::Curses::KEY_F18 => Fatty::KeyEvent.new(key: :f6, shift: true, raw: ::Curses::KEY_F18),
|
|
578
|
+
::Curses::KEY_F30 => Fatty::KeyEvent.new(key: :f6, ctrl: true, raw: ::Curses::KEY_F30),
|
|
579
|
+
::Curses::KEY_F42 => Fatty::KeyEvent.new(key: :f6, shift: true, ctrl: true, raw: ::Curses::KEY_F42),
|
|
580
|
+
::Curses::KEY_F54 => Fatty::KeyEvent.new(key: :f6, meta: true, raw: ::Curses::KEY_F54),
|
|
581
|
+
# 330 duplicates the :delete key
|
|
582
|
+
# KEY_DC: 330 => Fatty::KeyEvent.new(key: :f6, shift: true, meta: true, raw: 330 duplicates the :delete key
|
|
583
|
+
# KEY_DC: 330),
|
|
584
|
+
::Curses::KEY_F7 => Fatty::KeyEvent.new(key: :f7, raw: ::Curses::KEY_F7),
|
|
585
|
+
::Curses::KEY_F19 => Fatty::KeyEvent.new(key: :f7, shift: true, raw: ::Curses::KEY_F19),
|
|
586
|
+
::Curses::KEY_F31 => Fatty::KeyEvent.new(key: :f7, ctrl: true, raw: ::Curses::KEY_F31),
|
|
587
|
+
::Curses::KEY_F43 => Fatty::KeyEvent.new(key: :f7, shift: true, ctrl: true, raw: ::Curses::KEY_F43),
|
|
588
|
+
::Curses::KEY_F55 => Fatty::KeyEvent.new(key: :f7, meta: true, raw: ::Curses::KEY_F55),
|
|
589
|
+
# 331 duplicates the :insert key
|
|
590
|
+
# KEY_IC: 331 => Fatty::KeyEvent.new(key: :f7, shift: true, meta: true),
|
|
591
|
+
::Curses::KEY_F8 => Fatty::KeyEvent.new(key: :f8, raw: ::Curses::KEY_F8),
|
|
592
|
+
::Curses::KEY_F20 => Fatty::KeyEvent.new(key: :f8, shift: true, raw: ::Curses::KEY_F20),
|
|
593
|
+
::Curses::KEY_F32 => Fatty::KeyEvent.new(key: :f8, ctrl: true, raw: ::Curses::KEY_F32),
|
|
594
|
+
::Curses::KEY_F44 => Fatty::KeyEvent.new(key: :f8, shift: true, ctrl: true, raw: ::Curses::KEY_F44),
|
|
595
|
+
::Curses::KEY_F56 => Fatty::KeyEvent.new(key: :f8, meta: true, raw: ::Curses::KEY_F56),
|
|
596
|
+
# KEY_EIC: 332 => Fatty::KeyEvent.new(key: :f8, shift: true, meta: true),
|
|
597
|
+
::Curses::KEY_F9 => Fatty::KeyEvent.new(key: :f9, raw: ::Curses::KEY_F9),
|
|
598
|
+
::Curses::KEY_F21 => Fatty::KeyEvent.new(key: :f9, shift: true, raw: ::Curses::KEY_F21),
|
|
599
|
+
::Curses::KEY_F33 => Fatty::KeyEvent.new(key: :f9, ctrl: true, raw: ::Curses::KEY_F33),
|
|
600
|
+
::Curses::KEY_F45 => Fatty::KeyEvent.new(key: :f9, shift: true, ctrl: true, raw: ::Curses::KEY_F45),
|
|
601
|
+
::Curses::KEY_F57 => Fatty::KeyEvent.new(key: :f9, meta: true, raw: ::Curses::KEY_F57),
|
|
602
|
+
# KEY_CLEAR: 333 => Fatty::KeyEvent.new(key: :f9, shift: true, meta: true),
|
|
603
|
+
::Curses::KEY_F10 => Fatty::KeyEvent.new(key: :f10, raw: ::Curses::KEY_F10),
|
|
604
|
+
::Curses::KEY_F22 => Fatty::KeyEvent.new(key: :f10, shift: true, raw: ::Curses::KEY_F22),
|
|
605
|
+
::Curses::KEY_F34 => Fatty::KeyEvent.new(key: :f10, ctrl: true, raw: ::Curses::KEY_F34),
|
|
606
|
+
::Curses::KEY_F46 => Fatty::KeyEvent.new(key: :f10, shift: true, ctrl: true, raw: ::Curses::KEY_F46),
|
|
607
|
+
::Curses::KEY_F58 => Fatty::KeyEvent.new(key: :f10, meta: true, raw: ::Curses::KEY_F58),
|
|
608
|
+
# KEY_EOS: 334 => Fatty::KeyEvent.new(key: :f10, shift: true, meta: true),
|
|
609
|
+
::Curses::KEY_F11 => Fatty::KeyEvent.new(key: :f11, raw: ::Curses::KEY_F11),
|
|
610
|
+
::Curses::KEY_F23 => Fatty::KeyEvent.new(key: :f11, shift: true, raw: ::Curses::KEY_F23),
|
|
611
|
+
::Curses::KEY_F35 => Fatty::KeyEvent.new(key: :f11, ctrl: true, raw: ::Curses::KEY_F35),
|
|
612
|
+
::Curses::KEY_F47 => Fatty::KeyEvent.new(key: :f11, shift: true, ctrl: true, raw: ::Curses::KEY_F47),
|
|
613
|
+
::Curses::KEY_F59 => Fatty::KeyEvent.new(key: :f11, meta: true, raw: ::Curses::KEY_F59),
|
|
614
|
+
# KEY_EOL: 335 => Fatty::KeyEvent.new(key: :f11, shift: true, meta: true),
|
|
615
|
+
::Curses::KEY_F12 => Fatty::KeyEvent.new(key: :f12, raw: ::Curses::KEY_F12),
|
|
616
|
+
::Curses::KEY_F24 => Fatty::KeyEvent.new(key: :f12, shift: true, raw: ::Curses::KEY_F24),
|
|
617
|
+
::Curses::KEY_F36 => Fatty::KeyEvent.new(key: :f12, ctrl: true, raw: ::Curses::KEY_F36),
|
|
618
|
+
::Curses::KEY_F48 => Fatty::KeyEvent.new(key: :f12, shift: true, ctrl: true, raw: ::Curses::KEY_F48),
|
|
619
|
+
::Curses::KEY_F60 => Fatty::KeyEvent.new(key: :f12, meta: true, raw: ::Curses::KEY_F60),
|
|
620
|
+
# 336 duplicates the :down key
|
|
621
|
+
# KEY_SF: 336 => Fatty::KeyEvent.new(key: :f12, shift: true, meta: true),
|
|
622
|
+
::Curses::KEY_IC => Fatty::KeyEvent.new(key: :insert, raw: ::Curses::KEY_IC),
|
|
623
|
+
::Curses::KEY_SIC => Fatty::KeyEvent.new(key: :insert, shift: true, raw: ::Curses::KEY_SIC),
|
|
624
|
+
# 550 => Fatty::KeyEvent.new(key: :insert, meta: true, raw: 550),
|
|
625
|
+
# 551 => Fatty::KeyEvent.new(key: :insert, shift: true, meta: true),
|
|
626
|
+
# 552 => Fatty::KeyEvent.new(key: :insert, ctrl: true),
|
|
627
|
+
# 553 => Fatty::KeyEvent.new(key: :insert, shift: true, ctrl: true),
|
|
628
|
+
::Curses::KEY_DC => Fatty::KeyEvent.new(key: :delete, raw: ::Curses::KEY_DC),
|
|
629
|
+
::Curses::KEY_SDC => Fatty::KeyEvent.new(key: :delete, shift: true, raw: ::Curses::KEY_SDC),
|
|
630
|
+
# 531 => Fatty::KeyEvent.new(key: :delete, meta: true),
|
|
631
|
+
# 532 => Fatty::KeyEvent.new(key: :delete, shift: true, meta: true),
|
|
632
|
+
# 533 => Fatty::KeyEvent.new(key: :delete, ctrl: true),
|
|
633
|
+
# 534 => Fatty::KeyEvent.new(key: :delete, shift: true, ctrl: true),
|
|
634
|
+
::Curses::KEY_HOME => Fatty::KeyEvent.new(key: :home, raw: ::Curses::KEY_HOME),
|
|
635
|
+
::Curses::KEY_SHOME => Fatty::KeyEvent.new(key: :home, shift: true, raw: ::Curses::KEY_SHOME),
|
|
636
|
+
# 545 => Fatty::KeyEvent.new(key: :home, meta: true),
|
|
637
|
+
# 546 => Fatty::KeyEvent.new(key: :home, shift: true, meta: true),
|
|
638
|
+
# 547 => Fatty::KeyEvent.new(key: :home, ctrl: true),
|
|
639
|
+
# 548 => Fatty::KeyEvent.new(key: :home, shift: true, ctrl: true),
|
|
640
|
+
::Curses::KEY_END => Fatty::KeyEvent.new(key: :end, raw: ::Curses::KEY_END),
|
|
641
|
+
::Curses::KEY_SEND => Fatty::KeyEvent.new(key: :end, shift: true, raw: ::Curses::KEY_SEND),
|
|
642
|
+
# 540 => Fatty::KeyEvent.new(key: :end, meta: true),
|
|
643
|
+
# 541 => Fatty::KeyEvent.new(key: :end, shift: true, meta: true),
|
|
644
|
+
# 542 => Fatty::KeyEvent.new(key: :end, ctrl: true),
|
|
645
|
+
# 543 => Fatty::KeyEvent.new(key: :end, shift: true, ctrl: true),
|
|
646
|
+
::Curses::KEY_PPAGE => Fatty::KeyEvent.new(key: :page_up, raw: ::Curses::KEY_PPAGE),
|
|
647
|
+
::Curses::KEY_SPREVIOUS => Fatty::KeyEvent.new(key: :page_up, shift: true, raw: ::Curses::KEY_SPREVIOUS),
|
|
648
|
+
# 565 => Fatty::KeyEvent.new(key: :page_up, meta: true),
|
|
649
|
+
# 566 => Fatty::KeyEvent.new(key: :page_up, shift: true, meta: true),
|
|
650
|
+
# 567 => Fatty::KeyEvent.new(key: :page_up, ctrl: true),
|
|
651
|
+
# 568 => Fatty::KeyEvent.new(key: :page_up, shift: true, ctrl: true),
|
|
652
|
+
::Curses::KEY_NPAGE => Fatty::KeyEvent.new(key: :page_down, raw: ::Curses::KEY_NPAGE),
|
|
653
|
+
::Curses::KEY_SNEXT => Fatty::KeyEvent.new(key: :page_down, shift: true, raw: ::Curses::KEY_SNEXT),
|
|
654
|
+
# 560 => Fatty::KeyEvent.new(key: :page_down, meta: true),
|
|
655
|
+
# 561 => Fatty::KeyEvent.new(key: :page_down, shift: true, meta: true),
|
|
656
|
+
# 562 => Fatty::KeyEvent.new(key: :page_down, ctrl: true),
|
|
657
|
+
# 563 => Fatty::KeyEvent.new(key: :page_down, shift: true, ctrl: true),
|
|
658
|
+
::Curses::KEY_DOWN => Fatty::KeyEvent.new(key: :down, raw: ::Curses::KEY_DOWN),
|
|
659
|
+
::Curses::KEY_SF => Fatty::KeyEvent.new(key: :down, shift: true, raw: ::Curses::KEY_SF),
|
|
660
|
+
# 535 => Fatty::KeyEvent.new(key: :down, meta: true),
|
|
661
|
+
# 536 => Fatty::KeyEvent.new(key: :down, shift: true, meta: true),
|
|
662
|
+
# 537 => Fatty::KeyEvent.new(key: :down, ctrl: true),
|
|
663
|
+
# 538 => Fatty::KeyEvent.new(key: :down, shift: true, ctrl: true),
|
|
664
|
+
::Curses::KEY_UP => Fatty::KeyEvent.new(key: :up, raw: ::Curses::KEY_UP),
|
|
665
|
+
::Curses::KEY_SR => Fatty::KeyEvent.new(key: :up, shift: true, raw: ::Curses::KEY_SR),
|
|
666
|
+
# 576 => Fatty::KeyEvent.new(key: :up, meta: true),
|
|
667
|
+
# 577 => Fatty::KeyEvent.new(key: :up, shift: true, meta: true),
|
|
668
|
+
# 578 => Fatty::KeyEvent.new(key: :up, ctrl: true),
|
|
669
|
+
# 579 => Fatty::KeyEvent.new(key: :up, shift: true, ctrl: true),
|
|
670
|
+
::Curses::KEY_LEFT => Fatty::KeyEvent.new(key: :left, raw: ::Curses::KEY_LEFT),
|
|
671
|
+
::Curses::KEY_SLEFT => Fatty::KeyEvent.new(key: :left, shift: true, raw: ::Curses::KEY_SLEFT),
|
|
672
|
+
# 555 => Fatty::KeyEvent.new(key: :left, meta: true),
|
|
673
|
+
# 556 => Fatty::KeyEvent.new(key: :left, shift: true, meta: true),
|
|
674
|
+
# 557 => Fatty::KeyEvent.new(key: :left, ctrl: true),
|
|
675
|
+
# 558 => Fatty::KeyEvent.new(key: :left, shift: true, ctrl: true),
|
|
676
|
+
::Curses::KEY_RIGHT => Fatty::KeyEvent.new(key: :right, raw: ::Curses::KEY_RIGHT),
|
|
677
|
+
::Curses::KEY_SRIGHT => Fatty::KeyEvent.new(key: :right, shift: true, raw: ::Curses::KEY_SRIGHT),
|
|
678
|
+
# 570 => Fatty::KeyEvent.new(key: :right, meta: true),
|
|
679
|
+
# 571 => Fatty::KeyEvent.new(key: :right, shift: true, meta: true),
|
|
680
|
+
# 572 => Fatty::KeyEvent.new(key: :right, ctrl: true),
|
|
681
|
+
# 573 => Fatty::KeyEvent.new(key: :right, shift: true, ctrl: true),
|
|
682
|
+
}
|
|
683
|
+
end
|
|
684
|
+
end
|