summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--apps/action.h1
-rw-r--r--apps/keymaps/keymap-creativezv.c1
-rw-r--r--apps/keymaps/keymap-creativezvm.c1
-rw-r--r--apps/keymaps/keymap-e200.c1
-rw-r--r--apps/keymaps/keymap-fuze.c1
-rw-r--r--apps/keymaps/keymap-gigabeat-s.c2
-rw-r--r--apps/keymaps/keymap-gigabeat.c1
-rw-r--r--apps/keymaps/keymap-h10.c1
-rw-r--r--apps/keymaps/keymap-h1x0_h3x0.c2
-rw-r--r--apps/keymaps/keymap-hdd1630.c1
-rw-r--r--apps/keymaps/keymap-hdd6330.c1
-rw-r--r--apps/keymaps/keymap-ipod.c1
-rw-r--r--apps/keymaps/keymap-m200.c1
-rw-r--r--apps/keymaps/keymap-meizu-m6sl.c1
-rw-r--r--apps/keymaps/keymap-mr100.c1
-rw-r--r--apps/keymaps/keymap-mr500.c1
-rw-r--r--apps/keymaps/keymap-ondio.c20
-rw-r--r--apps/keymaps/keymap-recorder.c1
-rw-r--r--apps/keymaps/keymap-sa9200.c4
-rw-r--r--apps/keymaps/keymap-x5.c3
-rw-r--r--apps/recorder/keyboard.c6
-rw-r--r--firmware/export/config/archosondiofm.h3
-rw-r--r--firmware/export/config/archosondiosp.h3
-rw-r--r--manual/platform/keymap-archosondio.tex1
24 files changed, 55 insertions, 4 deletions
diff --git a/apps/action.h b/apps/action.h
index ea15b536a7..cea9384ec2 100644
--- a/apps/action.h
+++ b/apps/action.h
@@ -75,6 +75,7 @@ enum {
75 CONTEXT_YESNOSCREEN, /*NOTE: make sure your target has this and ACTION_YESNO_ACCEPT */ 75 CONTEXT_YESNOSCREEN, /*NOTE: make sure your target has this and ACTION_YESNO_ACCEPT */
76 CONTEXT_RECSCREEN, 76 CONTEXT_RECSCREEN,
77 CONTEXT_KEYBOARD, 77 CONTEXT_KEYBOARD,
78 CONTEXT_MORSE_INPUT,
78 CONTEXT_FM, 79 CONTEXT_FM,
79 CONTEXT_USB_HID, 80 CONTEXT_USB_HID,
80 CONTEXT_USB_HID_MODE_MULTIMEDIA, 81 CONTEXT_USB_HID_MODE_MULTIMEDIA,
diff --git a/apps/keymaps/keymap-creativezv.c b/apps/keymaps/keymap-creativezv.c
index b88c1409cd..fb8e542520 100644
--- a/apps/keymaps/keymap-creativezv.c
+++ b/apps/keymaps/keymap-creativezv.c
@@ -251,6 +251,7 @@ const struct button_mapping* get_context_mapping(int context)
251 case CONTEXT_PITCHSCREEN: 251 case CONTEXT_PITCHSCREEN:
252 return button_context_pitchscreen; 252 return button_context_pitchscreen;
253 case CONTEXT_KEYBOARD: 253 case CONTEXT_KEYBOARD:
254 case CONTEXT_MORSE_INPUT:
254 return button_context_keyboard; 255 return button_context_keyboard;
255 } 256 }
256 return button_context_standard; 257 return button_context_standard;
diff --git a/apps/keymaps/keymap-creativezvm.c b/apps/keymaps/keymap-creativezvm.c
index b355018892..37563248a1 100644
--- a/apps/keymaps/keymap-creativezvm.c
+++ b/apps/keymaps/keymap-creativezvm.c
@@ -250,6 +250,7 @@ const struct button_mapping* get_context_mapping(int context)
250 case CONTEXT_PITCHSCREEN: 250 case CONTEXT_PITCHSCREEN:
251 return button_context_pitchscreen; 251 return button_context_pitchscreen;
252 case CONTEXT_KEYBOARD: 252 case CONTEXT_KEYBOARD:
253 case CONTEXT_MORSE_INPUT:
253 return button_context_keyboard; 254 return button_context_keyboard;
254 } 255 }
255 return button_context_standard; 256 return button_context_standard;
diff --git a/apps/keymaps/keymap-e200.c b/apps/keymaps/keymap-e200.c
index 2deac631ac..f6972223fd 100644
--- a/apps/keymaps/keymap-e200.c
+++ b/apps/keymaps/keymap-e200.c
@@ -425,6 +425,7 @@ const struct button_mapping* get_context_mapping(int context)
425 case CONTEXT_RECSCREEN: 425 case CONTEXT_RECSCREEN:
426 return button_context_recscreen; 426 return button_context_recscreen;
427 case CONTEXT_KEYBOARD: 427 case CONTEXT_KEYBOARD:
428 case CONTEXT_MORSE_INPUT:
428 return button_context_keyboard; 429 return button_context_keyboard;
429#ifdef USB_ENABLE_HID 430#ifdef USB_ENABLE_HID
430 case CONTEXT_USB_HID: 431 case CONTEXT_USB_HID:
diff --git a/apps/keymaps/keymap-fuze.c b/apps/keymaps/keymap-fuze.c
index 3e89cc595f..0f7937abb1 100644
--- a/apps/keymaps/keymap-fuze.c
+++ b/apps/keymaps/keymap-fuze.c
@@ -325,6 +325,7 @@ const struct button_mapping* get_context_mapping(int context)
325 return button_context_recscreen; 325 return button_context_recscreen;
326#endif 326#endif
327 case CONTEXT_KEYBOARD: 327 case CONTEXT_KEYBOARD:
328 case CONTEXT_MORSE_INPUT:
328 return button_context_keyboard; 329 return button_context_keyboard;
329 330
330 default: 331 default:
diff --git a/apps/keymaps/keymap-gigabeat-s.c b/apps/keymaps/keymap-gigabeat-s.c
index cf150bb6d9..0793f7bfbf 100644
--- a/apps/keymaps/keymap-gigabeat-s.c
+++ b/apps/keymaps/keymap-gigabeat-s.c
@@ -691,6 +691,7 @@ static const struct button_mapping* get_context_mapping_remote( int context )
691 return remote_button_context_recscreen; 691 return remote_button_context_recscreen;
692 692
693 case CONTEXT_KEYBOARD: 693 case CONTEXT_KEYBOARD:
694 case CONTEXT_MORSE_INPUT:
694 return ACTION_NONE; /* Any sensible mapping for this remote? */ 695 return ACTION_NONE; /* Any sensible mapping for this remote? */
695 696
696 case CONTEXT_FM: 697 case CONTEXT_FM:
@@ -769,6 +770,7 @@ const struct button_mapping* get_context_mapping(int context)
769 return button_context_settings_right_is_inc; 770 return button_context_settings_right_is_inc;
770 771
771 case CONTEXT_KEYBOARD: 772 case CONTEXT_KEYBOARD:
773 case CONTEXT_MORSE_INPUT:
772 return button_context_keyboard; 774 return button_context_keyboard;
773 775
774 case CONTEXT_FM: 776 case CONTEXT_FM:
diff --git a/apps/keymaps/keymap-gigabeat.c b/apps/keymaps/keymap-gigabeat.c
index a1a38a9600..ccb6084ada 100644
--- a/apps/keymaps/keymap-gigabeat.c
+++ b/apps/keymaps/keymap-gigabeat.c
@@ -378,6 +378,7 @@ const struct button_mapping* get_context_mapping(int context)
378 case CONTEXT_PITCHSCREEN: 378 case CONTEXT_PITCHSCREEN:
379 return button_context_pitchscreen; 379 return button_context_pitchscreen;
380 case CONTEXT_KEYBOARD: 380 case CONTEXT_KEYBOARD:
381 case CONTEXT_MORSE_INPUT:
381 return button_context_keyboard; 382 return button_context_keyboard;
382 } 383 }
383 return button_context_standard; 384 return button_context_standard;
diff --git a/apps/keymaps/keymap-h10.c b/apps/keymaps/keymap-h10.c
index c1f3033a2b..315f28c213 100644
--- a/apps/keymaps/keymap-h10.c
+++ b/apps/keymaps/keymap-h10.c
@@ -506,6 +506,7 @@ const struct button_mapping* get_context_mapping(int context)
506 case CONTEXT_PITCHSCREEN: 506 case CONTEXT_PITCHSCREEN:
507 return button_context_pitchscreen; 507 return button_context_pitchscreen;
508 case CONTEXT_KEYBOARD: 508 case CONTEXT_KEYBOARD:
509 case CONTEXT_MORSE_INPUT:
509 return button_context_keyboard; 510 return button_context_keyboard;
510 case CONTEXT_RECSCREEN: 511 case CONTEXT_RECSCREEN:
511 return button_context_recscreen; 512 return button_context_recscreen;
diff --git a/apps/keymaps/keymap-h1x0_h3x0.c b/apps/keymaps/keymap-h1x0_h3x0.c
index 62cd940460..d3b76ee3ad 100644
--- a/apps/keymaps/keymap-h1x0_h3x0.c
+++ b/apps/keymaps/keymap-h1x0_h3x0.c
@@ -918,6 +918,7 @@ static const struct button_mapping* get_context_mapping_remote(int context)
918 case CONTEXT_RECSCREEN: 918 case CONTEXT_RECSCREEN:
919 return remote_btn_ctxt_recscreen; 919 return remote_btn_ctxt_recscreen;
920 case CONTEXT_KEYBOARD: 920 case CONTEXT_KEYBOARD:
921 case CONTEXT_MORSE_INPUT:
921 return remote_btn_ctxt_keyboard; 922 return remote_btn_ctxt_keyboard;
922 case CONTEXT_FM: 923 case CONTEXT_FM:
923 return remote_btn_ctxt_radio; 924 return remote_btn_ctxt_radio;
@@ -973,6 +974,7 @@ const struct button_mapping* get_context_mapping(int context)
973 case CONTEXT_RECSCREEN: 974 case CONTEXT_RECSCREEN:
974 return button_context_recscreen; 975 return button_context_recscreen;
975 case CONTEXT_KEYBOARD: 976 case CONTEXT_KEYBOARD:
977 case CONTEXT_MORSE_INPUT:
976 return button_context_keyboard; 978 return button_context_keyboard;
977 case CONTEXT_FM: 979 case CONTEXT_FM:
978 return button_context_radio; 980 return button_context_radio;
diff --git a/apps/keymaps/keymap-hdd1630.c b/apps/keymaps/keymap-hdd1630.c
index f6f9ab9c8c..d43fcd837d 100644
--- a/apps/keymaps/keymap-hdd1630.c
+++ b/apps/keymaps/keymap-hdd1630.c
@@ -441,6 +441,7 @@ const struct button_mapping* get_context_mapping(int context)
441 case CONTEXT_PITCHSCREEN: 441 case CONTEXT_PITCHSCREEN:
442 return button_context_pitchscreen; 442 return button_context_pitchscreen;
443 case CONTEXT_KEYBOARD: 443 case CONTEXT_KEYBOARD:
444 case CONTEXT_MORSE_INPUT:
444 return button_context_keyboard; 445 return button_context_keyboard;
445#if CONFIG_TUNER 446#if CONFIG_TUNER
446 case CONTEXT_FM: 447 case CONTEXT_FM:
diff --git a/apps/keymaps/keymap-hdd6330.c b/apps/keymaps/keymap-hdd6330.c
index f6f9ab9c8c..d43fcd837d 100644
--- a/apps/keymaps/keymap-hdd6330.c
+++ b/apps/keymaps/keymap-hdd6330.c
@@ -441,6 +441,7 @@ const struct button_mapping* get_context_mapping(int context)
441 case CONTEXT_PITCHSCREEN: 441 case CONTEXT_PITCHSCREEN:
442 return button_context_pitchscreen; 442 return button_context_pitchscreen;
443 case CONTEXT_KEYBOARD: 443 case CONTEXT_KEYBOARD:
444 case CONTEXT_MORSE_INPUT:
444 return button_context_keyboard; 445 return button_context_keyboard;
445#if CONFIG_TUNER 446#if CONFIG_TUNER
446 case CONTEXT_FM: 447 case CONTEXT_FM:
diff --git a/apps/keymaps/keymap-ipod.c b/apps/keymaps/keymap-ipod.c
index d49f95b66c..4f987777b4 100644
--- a/apps/keymaps/keymap-ipod.c
+++ b/apps/keymaps/keymap-ipod.c
@@ -414,6 +414,7 @@ const struct button_mapping* get_context_mapping(int context)
414 case CONTEXT_PITCHSCREEN: 414 case CONTEXT_PITCHSCREEN:
415 return button_context_pitchscreen; 415 return button_context_pitchscreen;
416 case CONTEXT_KEYBOARD: 416 case CONTEXT_KEYBOARD:
417 case CONTEXT_MORSE_INPUT:
417 return button_context_keyboard; 418 return button_context_keyboard;
418#ifdef HAVE_RECORDING 419#ifdef HAVE_RECORDING
419 case CONTEXT_RECSCREEN: 420 case CONTEXT_RECSCREEN:
diff --git a/apps/keymaps/keymap-m200.c b/apps/keymaps/keymap-m200.c
index e3aa093a81..d1e6f626fd 100644
--- a/apps/keymaps/keymap-m200.c
+++ b/apps/keymaps/keymap-m200.c
@@ -333,6 +333,7 @@ const struct button_mapping* get_context_mapping(int context)
333 return button_context_recscreen; 333 return button_context_recscreen;
334#endif 334#endif
335 case CONTEXT_KEYBOARD: 335 case CONTEXT_KEYBOARD:
336 case CONTEXT_MORSE_INPUT:
336 return button_context_keyboard; 337 return button_context_keyboard;
337 338
338 default: 339 default:
diff --git a/apps/keymaps/keymap-meizu-m6sl.c b/apps/keymaps/keymap-meizu-m6sl.c
index 988f8a21fe..2dcb81bec0 100644
--- a/apps/keymaps/keymap-meizu-m6sl.c
+++ b/apps/keymaps/keymap-meizu-m6sl.c
@@ -301,6 +301,7 @@ const struct button_mapping* get_context_mapping(int context)
301 case CONTEXT_PITCHSCREEN: 301 case CONTEXT_PITCHSCREEN:
302 return button_context_pitchscreen; 302 return button_context_pitchscreen;
303 case CONTEXT_KEYBOARD: 303 case CONTEXT_KEYBOARD:
304 case CONTEXT_MORSE_INPUT:
304 return button_context_keyboard; 305 return button_context_keyboard;
305 } 306 }
306 return button_context_standard; 307 return button_context_standard;
diff --git a/apps/keymaps/keymap-mr100.c b/apps/keymaps/keymap-mr100.c
index ede3d5ef1b..dd2539f381 100644
--- a/apps/keymaps/keymap-mr100.c
+++ b/apps/keymaps/keymap-mr100.c
@@ -582,6 +582,7 @@ const struct button_mapping* get_context_mapping(int context)
582 case CONTEXT_PITCHSCREEN: 582 case CONTEXT_PITCHSCREEN:
583 return button_context_pitchscreen; 583 return button_context_pitchscreen;
584 case CONTEXT_KEYBOARD: 584 case CONTEXT_KEYBOARD:
585 case CONTEXT_MORSE_INPUT:
585 return button_context_keyboard; 586 return button_context_keyboard;
586#ifdef USB_ENABLE_HID 587#ifdef USB_ENABLE_HID
587 case CONTEXT_USB_HID: 588 case CONTEXT_USB_HID:
diff --git a/apps/keymaps/keymap-mr500.c b/apps/keymaps/keymap-mr500.c
index 11e1e60d61..b35c9c1dfc 100644
--- a/apps/keymaps/keymap-mr500.c
+++ b/apps/keymaps/keymap-mr500.c
@@ -238,6 +238,7 @@ const struct button_mapping* target_get_context_mapping(int context)
238 case CONTEXT_PITCHSCREEN: 238 case CONTEXT_PITCHSCREEN:
239 return button_context_pitchscreen; 239 return button_context_pitchscreen;
240 case CONTEXT_KEYBOARD: 240 case CONTEXT_KEYBOARD:
241 case CONTEXT_MORSE_INPUT:
241 return button_context_keyboard; 242 return button_context_keyboard;
242 } 243 }
243 return button_context_standard; 244 return button_context_standard;
diff --git a/apps/keymaps/keymap-ondio.c b/apps/keymaps/keymap-ondio.c
index 5e56117298..45938138ed 100644
--- a/apps/keymaps/keymap-ondio.c
+++ b/apps/keymaps/keymap-ondio.c
@@ -155,7 +155,7 @@ static const struct button_mapping button_context_recscreen[] = {
155 155
156static const struct button_mapping button_context_keyboard[] = { 156static const struct button_mapping button_context_keyboard[] = {
157 { ACTION_KBD_LEFT, BUTTON_LEFT, BUTTON_NONE }, 157 { ACTION_KBD_LEFT, BUTTON_LEFT, BUTTON_NONE },
158 { ACTION_KBD_LEFT, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE }, 158 { ACTION_KBD_LEFT, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE },
159 { ACTION_KBD_RIGHT, BUTTON_RIGHT, BUTTON_NONE }, 159 { ACTION_KBD_RIGHT, BUTTON_RIGHT, BUTTON_NONE },
160 { ACTION_KBD_RIGHT, BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE }, 160 { ACTION_KBD_RIGHT, BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE },
161 { ACTION_KBD_SELECT, BUTTON_MENU|BUTTON_REL, BUTTON_MENU }, 161 { ACTION_KBD_SELECT, BUTTON_MENU|BUTTON_REL, BUTTON_MENU },
@@ -169,6 +169,22 @@ static const struct button_mapping button_context_keyboard[] = {
169 LAST_ITEM_IN_LIST 169 LAST_ITEM_IN_LIST
170}; /* button_context_keyboard */ 170}; /* button_context_keyboard */
171 171
172static const struct button_mapping button_context_morse_input[] = {
173 { ACTION_KBD_CURSOR_LEFT, BUTTON_LEFT, BUTTON_NONE },
174 { ACTION_KBD_CURSOR_LEFT, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE },
175 { ACTION_KBD_CURSOR_RIGHT, BUTTON_RIGHT, BUTTON_NONE },
176 { ACTION_KBD_CURSOR_RIGHT, BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE },
177 { ACTION_KBD_BACKSPACE, BUTTON_MENU|BUTTON_REL, BUTTON_MENU },
178 { ACTION_KBD_DONE, BUTTON_MENU|BUTTON_REPEAT, BUTTON_NONE },
179 { ACTION_KBD_ABORT, BUTTON_OFF, BUTTON_NONE },
180 { ACTION_KBD_DOWN, BUTTON_DOWN, BUTTON_NONE },
181 { ACTION_KBD_DOWN, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE },
182 { ACTION_KBD_SELECT, BUTTON_UP, BUTTON_NONE },
183 { ACTION_KBD_MORSE_SELECT, BUTTON_UP|BUTTON_REL, BUTTON_NONE },
184
185 LAST_ITEM_IN_LIST
186}; /* button_context_morse_input */
187
172#if CONFIG_TUNER 188#if CONFIG_TUNER
173static const struct button_mapping button_context_radio[] = { 189static const struct button_mapping button_context_radio[] = {
174 { ACTION_FM_MENU, BUTTON_MENU | BUTTON_REPEAT, BUTTON_NONE }, 190 { ACTION_FM_MENU, BUTTON_MENU | BUTTON_REPEAT, BUTTON_NONE },
@@ -223,6 +239,8 @@ const struct button_mapping* get_context_mapping( int context )
223#endif 239#endif
224 case CONTEXT_KEYBOARD: 240 case CONTEXT_KEYBOARD:
225 return button_context_keyboard; 241 return button_context_keyboard;
242 case CONTEXT_MORSE_INPUT:
243 return button_context_morse_input;
226#if CONFIG_TUNER 244#if CONFIG_TUNER
227 case CONTEXT_FM: 245 case CONTEXT_FM:
228 return button_context_radio; 246 return button_context_radio;
diff --git a/apps/keymaps/keymap-recorder.c b/apps/keymaps/keymap-recorder.c
index 0ab0e5f8c6..859f4feeb4 100644
--- a/apps/keymaps/keymap-recorder.c
+++ b/apps/keymaps/keymap-recorder.c
@@ -302,6 +302,7 @@ const struct button_mapping* get_context_mapping( int context )
302 case CONTEXT_SETTINGS_RECTRIGGER: 302 case CONTEXT_SETTINGS_RECTRIGGER:
303 return button_context_recscreen; 303 return button_context_recscreen;
304 case CONTEXT_KEYBOARD: 304 case CONTEXT_KEYBOARD:
305 case CONTEXT_MORSE_INPUT:
305 return button_context_keyboard; 306 return button_context_keyboard;
306 case CONTEXT_FM: 307 case CONTEXT_FM:
307 return button_context_radio; 308 return button_context_radio;
diff --git a/apps/keymaps/keymap-sa9200.c b/apps/keymaps/keymap-sa9200.c
index 6df9d6c1ed..d7405588b5 100644
--- a/apps/keymaps/keymap-sa9200.c
+++ b/apps/keymaps/keymap-sa9200.c
@@ -270,7 +270,7 @@ static const struct button_mapping button_context_keyboard[] = {
270 270
271 { ACTION_KBD_PAGE_FLIP, BUTTON_VOL_DOWN, BUTTON_NONE }, 271 { ACTION_KBD_PAGE_FLIP, BUTTON_VOL_DOWN, BUTTON_NONE },
272 272
273 { ACTION_KBD_MORSE_INPUT, BUTTON_MENU|BUTTON_REPEAT, BUTTON_NONE }, 273 { ACTION_KBD_MORSE_INPUT, BUTTON_MENU|BUTTON_PLAY, BUTTON_NONE },
274 { ACTION_KBD_MORSE_SELECT, BUTTON_MENU|BUTTON_REL, BUTTON_NONE }, 274 { ACTION_KBD_MORSE_SELECT, BUTTON_MENU|BUTTON_REL, BUTTON_NONE },
275 275
276 LAST_ITEM_IN_LIST 276 LAST_ITEM_IN_LIST
@@ -427,7 +427,9 @@ const struct button_mapping* get_context_mapping(int context)
427 return button_context_pitchscreen; 427 return button_context_pitchscreen;
428 428
429 case CONTEXT_KEYBOARD: 429 case CONTEXT_KEYBOARD:
430 case CONTEXT_MORSE_INPUT:
430 return button_context_keyboard; 431 return button_context_keyboard;
432
431#ifdef USB_ENABLE_HID 433#ifdef USB_ENABLE_HID
432 case CONTEXT_USB_HID: 434 case CONTEXT_USB_HID:
433 return button_context_usb_hid; 435 return button_context_usb_hid;
diff --git a/apps/keymaps/keymap-x5.c b/apps/keymaps/keymap-x5.c
index 69602d7ca7..059a3f25b5 100644
--- a/apps/keymaps/keymap-x5.c
+++ b/apps/keymaps/keymap-x5.c
@@ -433,6 +433,7 @@ static const struct button_mapping* get_context_mapping_remote( int context )
433 return remote_button_context_radio; 433 return remote_button_context_radio;
434 434
435 case CONTEXT_KEYBOARD: 435 case CONTEXT_KEYBOARD:
436 case CONTEXT_MORSE_INPUT:
436 return remote_button_context_keyboard; 437 return remote_button_context_keyboard;
437 438
438 case CONTEXT_PITCHSCREEN: 439 case CONTEXT_PITCHSCREEN:
@@ -489,9 +490,9 @@ const struct button_mapping* get_context_mapping( int context )
489 return button_context_radio; 490 return button_context_radio;
490 491
491 case CONTEXT_KEYBOARD: 492 case CONTEXT_KEYBOARD:
493 case CONTEXT_MORSE_INPUT:
492 return button_context_keyboard; 494 return button_context_keyboard;
493 495
494
495 case CONTEXT_PITCHSCREEN: 496 case CONTEXT_PITCHSCREEN:
496 return button_context_pitchscreen; 497 return button_context_pitchscreen;
497 498
diff --git a/apps/recorder/keyboard.c b/apps/recorder/keyboard.c
index 1ca0069735..5bfb1024b3 100644
--- a/apps/recorder/keyboard.c
+++ b/apps/recorder/keyboard.c
@@ -735,7 +735,11 @@ int kbd_input(char* text, int buflen)
735 FOR_NB_SCREENS(l) 735 FOR_NB_SCREENS(l)
736 screens[l].update(); 736 screens[l].update();
737 737
738 button = get_action(CONTEXT_KEYBOARD, HZ/2); 738 button = get_action(
739#ifdef HAVE_MORSE_INPUT
740 morse_mode? CONTEXT_MORSE_INPUT:
741#endif
742 CONTEXT_KEYBOARD, HZ/2);
739#if NB_SCREENS > 1 743#if NB_SCREENS > 1
740 button_screen = (get_action_statuscode(NULL) & ACTION_REMOTE) ? 1 : 0; 744 button_screen = (get_action_statuscode(NULL) & ACTION_REMOTE) ? 1 : 0;
741#endif 745#endif
diff --git a/firmware/export/config/archosondiofm.h b/firmware/export/config/archosondiofm.h
index b14f113244..c49f11a473 100644
--- a/firmware/export/config/archosondiofm.h
+++ b/firmware/export/config/archosondiofm.h
@@ -38,6 +38,9 @@
38/* define this if you have an Ondio style 6-key keyboard */ 38/* define this if you have an Ondio style 6-key keyboard */
39#define CONFIG_KEYPAD ONDIO_PAD 39#define CONFIG_KEYPAD ONDIO_PAD
40 40
41/* Define this to enable morse code input */
42#define HAVE_MORSE_INPUT
43
41#define AB_REPEAT_ENABLE 1 44#define AB_REPEAT_ENABLE 1
42#define ACTION_WPSAB_SINGLE ACTION_WPS_BROWSE 45#define ACTION_WPSAB_SINGLE ACTION_WPS_BROWSE
43 46
diff --git a/firmware/export/config/archosondiosp.h b/firmware/export/config/archosondiosp.h
index 452b47b78e..867bc1358c 100644
--- a/firmware/export/config/archosondiosp.h
+++ b/firmware/export/config/archosondiosp.h
@@ -31,6 +31,9 @@
31/* define this if you have an Ondio style 6-key keyboard */ 31/* define this if you have an Ondio style 6-key keyboard */
32#define CONFIG_KEYPAD ONDIO_PAD 32#define CONFIG_KEYPAD ONDIO_PAD
33 33
34/* Define this to enable morse code input */
35#define HAVE_MORSE_INPUT
36
34#define AB_REPEAT_ENABLE 1 37#define AB_REPEAT_ENABLE 1
35#define ACTION_WPSAB_SINGLE ACTION_WPS_BROWSE 38#define ACTION_WPSAB_SINGLE ACTION_WPS_BROWSE
36 39
diff --git a/manual/platform/keymap-archosondio.tex b/manual/platform/keymap-archosondio.tex
index dd0cf25061..9eefe691f7 100644
--- a/manual/platform/keymap-archosondio.tex
+++ b/manual/platform/keymap-archosondio.tex
@@ -51,6 +51,7 @@
51\newcommand{\ActionKbdAbort}{\ButtonOff} 51\newcommand{\ActionKbdAbort}{\ButtonOff}
52\newcommand{\ActionKbdUp}{\ButtonUp} 52\newcommand{\ActionKbdUp}{\ButtonUp}
53\newcommand{\ActionKbdDown}{\ButtonDown} 53\newcommand{\ActionKbdDown}{\ButtonDown}
54\newcommand{\ActionKbdMorseSelect}{\ButtonUp}
54 55
55%Button actions, Pitch Screen context 56%Button actions, Pitch Screen context
56\newcommand{\ActionPsToggleMode}{Long \ButtonMenu} 57\newcommand{\ActionPsToggleMode}{Long \ButtonMenu}