summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTeruaki Kawashima <teru@rockbox.org>2010-01-16 13:54:10 +0000
committerTeruaki Kawashima <teru@rockbox.org>2010-01-16 13:54:10 +0000
commitb7f728d13880b3c92650c2f5d7bcd0f369e1089c (patch)
tree683fde2be3414207af36b717c2c3cc6d12a2f96a
parentcf5178a5b1549464f50f52361c1243b21a3e308f (diff)
downloadrockbox-b7f728d13880b3c92650c2f5d7bcd0f369e1089c.tar.gz
rockbox-b7f728d13880b3c92650c2f5d7bcd0f369e1089c.zip
FS#10785: Add new context CONTEXT_MORSE_INPUT for keymaps which is used during morse input mode in virtual keyboard.
This will enable to use morse input on targets that doesn't have enough key for both the keyboard and morse input in one context. Enable morse input on archosondio as an example. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24250 a1c6a512-1295-4272-9138-f99709370657
-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}