Index: trunk/apps/recorder/keyboard.c =================================================================== --- trunk.orig/apps/recorder/keyboard.c +++ trunk/apps/recorder/keyboard.c @@ -32,6 +32,8 @@ #include "hangul.h" #include "action.h" #include "icon.h" +#include "pcmbuf.h" +#include "lang.h" #ifndef O_BINARY #define O_BINARY 0 @@ -188,12 +190,18 @@ int load_kbd(unsigned char* filename) /* helper function to spell a char if voice UI is enabled */ static void kbd_spellchar(unsigned short c) { - static char spell_char[2] = "\0\0"; /* store char to pass to talk_spell */ + unsigned char tmp[5]; + unsigned char* utf8; + + /* store char to pass to talk_spell */ + utf8 = utf8encode(c, tmp); + *utf8 = 0; - if (talk_menus_enabled() && c < 128) /* voice UI? */ + if (talk_menus_enabled()) /* voice UI? */ { - spell_char[0] = (char)c; - talk_spell(spell_char, false); + if(c == ' ') + talk_id(VOICE_BLANK, false); + else talk_spell(tmp, false); } } @@ -814,7 +822,8 @@ int kbd_input(char* text, int buflen) { int c = utf8seek(text, ++editpos); kbd_spellchar(text[c]); - } + } else if(global_settings.beep) + pcmbuf_beep(1000, 150, 1500*global_settings.beep); } else #endif /* KBD_MODES */ @@ -855,7 +864,8 @@ int kbd_input(char* text, int buflen) { int c = utf8seek(text, --editpos); kbd_spellchar(text[c]); - } + } else if(global_settings.beep) + pcmbuf_beep(1000, 150, 1500*global_settings.beep); } else #endif /* KBD_MODES */ @@ -884,7 +894,11 @@ int kbd_input(char* text, int buflen) #ifdef KBD_MORSE_INPUT #ifdef KBD_MODES if (morse_mode) + { pm->line_edit = !pm->line_edit; + if(pm->line_edit && talk_menus_enabled()) + talk_id(VOICE_EDIT, false); + } else #else if (morse_mode) @@ -902,7 +916,11 @@ int kbd_input(char* text, int buflen) #endif if (++pm->y >= pm->lines) #ifdef KBD_MODES + { pm->line_edit = true; + if(talk_menus_enabled()) + talk_id(VOICE_EDIT, false); + } #else pm->y = 0; #endif @@ -920,7 +938,11 @@ int kbd_input(char* text, int buflen) #ifdef KBD_MORSE_INPUT #ifdef KBD_MODES if (morse_mode) + { pm->line_edit = !pm->line_edit; + if(pm->line_edit && talk_menus_enabled()) + talk_id(VOICE_EDIT, false); + } else #else if (morse_mode) @@ -938,7 +960,11 @@ int kbd_input(char* text, int buflen) #endif if (--pm->y < 0) #ifdef KBD_MODES + { pm->line_edit = true; + if(talk_menus_enabled()) + talk_id(VOICE_EDIT, false); + } #else pm->y = pm->lines - 1; #endif Index: trunk/apps/lang/english.lang =================================================================== --- trunk.orig/apps/lang/english.lang +++ trunk/apps/lang/english.lang @@ -11581,3 +11581,31 @@ *: "If bookmark file already exists" + + id: VOICE_EDIT + desc: keyboard + user: + + *: "" + + + *: "" + + + *: "Edit" + + + + id: VOICE_BLANK + desc: keyboard + user: + + *: "" + + + *: "" + + + *: "Blank" + +