Index: apps/recorder/keyboard.c =================================================================== --- apps/recorder/keyboard.c (revision 23621) +++ apps/recorder/keyboard.c (working copy) @@ -92,10 +92,15 @@ #define KBD_TOGGLE_INPUT #endif +#ifdef HAVE_SCROLLWHEEL +#define SCROLL_1D +#endif + struct keyboard_parameters { const unsigned char* default_kbd; int DEFAULT_LINES; + int DEFAULT_WIDTH; unsigned short kbd_buf[KBD_BUF_SIZE]; int nchars; int font_w; @@ -295,6 +300,14 @@ FOR_NB_SCREENS(l) { struct keyboard_parameters *pm = ¶m[l]; +#ifdef SCROLL_1D + { pm->default_kbd = " abcdefghijklmnopqrstuvwxyz\n" + " ABCDEFGHIJKLMNOPQRSTUVWXYZ\n" + " 0123456789 !@#$%^&*().,;:'\n"; + pm->DEFAULT_LINES = 3; + pm->DEFAULT_WIDTH = 27; + } +#else #if LCD_WIDTH >= 160 && LCD_HEIGHT >= 96 struct screen *sc = &screens[l]; @@ -333,6 +346,7 @@ pm->DEFAULT_LINES = 4; } +#endif } char outline[256]; @@ -409,6 +423,10 @@ int i = 0; pm->max_chars = sc->getwidth() / pm->font_w; +#ifdef SCROLL_1D + if ( pm->max_chars > pm->DEFAULT_WIDTH ) + pm->max_chars = pm->DEFAULT_WIDTH; +#endif /* Pad lines with spaces */ while (i < pm->nchars) @@ -482,6 +500,10 @@ pm->max_chars_text = sc_w / pm->text_w - 2; pm->lines = (sc_h - BUTTONBAR_HEIGHT) / pm->font_h - 1; +#ifdef SCROLL_1D + if ( pm->lines > pm->DEFAULT_LINES ) + pm->lines = pm->DEFAULT_LINES; +#endif if (!kbd_loaded && pm->lines > pm->DEFAULT_LINES) pm->lines = pm->DEFAULT_LINES; @@ -817,6 +839,10 @@ pm->page = 0; #endif pm->x = 0; +#ifdef SCROLL_1D + if (++pm->y >= pm->lines) + pm->y = 0; +#endif /* SCROLL_1D */ } ch = get_kbd_ch(pm); @@ -832,6 +858,10 @@ pm->page = pm->pages - 1; #endif pm->x = pm->max_chars - 1; +#ifdef SCROLL_1D + if (--pm->y < 0 ) + pm->y = pm->lines-1; +#endif /* SCROLL_1D */ } ch = get_kbd_ch(pm); Index: apps/keymaps/keymap-e200.c =================================================================== --- apps/keymaps/keymap-e200.c (revision 23621) +++ apps/keymaps/keymap-e200.c (working copy) @@ -245,20 +245,18 @@ }; /* button_context_radio */ static const struct button_mapping button_context_keyboard[] = { - { ACTION_KBD_LEFT, BUTTON_LEFT, BUTTON_NONE }, - { ACTION_KBD_LEFT, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE }, - { ACTION_KBD_RIGHT, BUTTON_RIGHT, BUTTON_NONE }, - { ACTION_KBD_RIGHT, BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE }, - + { ACTION_KBD_CURSOR_LEFT, BUTTON_LEFT, BUTTON_NONE }, + { ACTION_KBD_CURSOR_LEFT, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE }, + { ACTION_KBD_CURSOR_RIGHT, BUTTON_RIGHT, BUTTON_NONE }, + { ACTION_KBD_CURSOR_RIGHT, BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE }, { ACTION_KBD_CURSOR_LEFT, BUTTON_REC|BUTTON_LEFT, BUTTON_NONE }, { ACTION_KBD_CURSOR_LEFT, BUTTON_REC|BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE }, { ACTION_KBD_CURSOR_RIGHT, BUTTON_REC|BUTTON_RIGHT, BUTTON_NONE }, { ACTION_KBD_CURSOR_RIGHT, BUTTON_REC|BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE }, - - { ACTION_KBD_UP, BUTTON_SCROLL_BACK, BUTTON_NONE }, - { ACTION_KBD_UP, BUTTON_SCROLL_BACK|BUTTON_REPEAT, BUTTON_NONE }, - { ACTION_KBD_DOWN, BUTTON_SCROLL_FWD, BUTTON_NONE }, - { ACTION_KBD_DOWN, BUTTON_SCROLL_FWD|BUTTON_REPEAT, BUTTON_NONE }, + { ACTION_KBD_LEFT, BUTTON_SCROLL_BACK, BUTTON_NONE }, + { ACTION_KBD_LEFT, BUTTON_SCROLL_BACK|BUTTON_REPEAT, BUTTON_NONE }, + { ACTION_KBD_RIGHT, BUTTON_SCROLL_FWD, BUTTON_NONE }, + { ACTION_KBD_RIGHT, BUTTON_SCROLL_FWD|BUTTON_REPEAT, BUTTON_NONE }, { ACTION_KBD_PAGE_FLIP, BUTTON_REC|BUTTON_SELECT, BUTTON_REC }, { ACTION_KBD_BACKSPACE, BUTTON_DOWN, BUTTON_NONE }, { ACTION_KBD_BACKSPACE, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE }, Index: apps/keymaps/keymap-ipod.c =================================================================== --- apps/keymaps/keymap-ipod.c (revision 23621) +++ apps/keymaps/keymap-ipod.c (working copy) @@ -156,17 +156,17 @@ }; /* button_context_pitchscreen */ static const struct button_mapping button_context_keyboard[] = { - { ACTION_KBD_LEFT, BUTTON_LEFT, BUTTON_NONE }, - { ACTION_KBD_LEFT, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE }, - { ACTION_KBD_RIGHT, BUTTON_RIGHT, BUTTON_NONE }, - { ACTION_KBD_RIGHT, BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE }, + { ACTION_KBD_CURSOR_LEFT, BUTTON_LEFT, BUTTON_NONE }, + { ACTION_KBD_CURSOR_LEFT, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE }, + { ACTION_KBD_CURSOR_RIGHT, BUTTON_RIGHT, BUTTON_NONE }, + { ACTION_KBD_CURSOR_RIGHT, BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE }, { ACTION_KBD_SELECT, BUTTON_SELECT, BUTTON_NONE }, { ACTION_KBD_DONE, BUTTON_PLAY, BUTTON_NONE }, { ACTION_KBD_ABORT, BUTTON_MENU|BUTTON_REL, BUTTON_MENU }, - { ACTION_KBD_UP, BUTTON_SCROLL_BACK, BUTTON_NONE }, - { ACTION_KBD_UP, BUTTON_SCROLL_BACK|BUTTON_REPEAT, BUTTON_NONE }, - { ACTION_KBD_DOWN, BUTTON_SCROLL_FWD, BUTTON_NONE }, - { ACTION_KBD_DOWN, BUTTON_SCROLL_FWD|BUTTON_REPEAT, BUTTON_NONE }, + { ACTION_KBD_LEFT, BUTTON_SCROLL_BACK, BUTTON_NONE }, + { ACTION_KBD_LEFT, BUTTON_SCROLL_BACK|BUTTON_REPEAT, BUTTON_NONE }, + { ACTION_KBD_RIGHT, BUTTON_SCROLL_FWD, BUTTON_NONE }, + { ACTION_KBD_RIGHT, BUTTON_SCROLL_FWD|BUTTON_REPEAT, BUTTON_NONE }, { ACTION_KBD_MORSE_INPUT, BUTTON_MENU|BUTTON_REPEAT, BUTTON_MENU }, { ACTION_KBD_MORSE_SELECT, BUTTON_SELECT|BUTTON_REL, BUTTON_NONE }, LAST_ITEM_IN_LIST Index: apps/keymaps/keymap-fuze.c =================================================================== --- apps/keymaps/keymap-fuze.c (revision 23621) +++ apps/keymaps/keymap-fuze.c (working copy) @@ -246,20 +246,18 @@ }; /* button_context_radio */ static const struct button_mapping button_context_keyboard[] = { - { ACTION_KBD_LEFT, BUTTON_LEFT, BUTTON_NONE }, - { ACTION_KBD_LEFT, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE }, - { ACTION_KBD_RIGHT, BUTTON_RIGHT, BUTTON_NONE }, - { ACTION_KBD_RIGHT, BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE }, - + { ACTION_KBD_CURSOR_LEFT, BUTTON_LEFT, BUTTON_NONE }, + { ACTION_KBD_CURSOR_LEFT, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE }, + { ACTION_KBD_CURSOR_RIGHT, BUTTON_RIGHT, BUTTON_NONE }, + { ACTION_KBD_CURSOR_RIGHT, BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE }, { ACTION_KBD_CURSOR_LEFT, BUTTON_HOME|BUTTON_LEFT, BUTTON_NONE }, { ACTION_KBD_CURSOR_LEFT, BUTTON_HOME|BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE }, { ACTION_KBD_CURSOR_RIGHT, BUTTON_HOME|BUTTON_RIGHT, BUTTON_NONE }, { ACTION_KBD_CURSOR_RIGHT, BUTTON_HOME|BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE }, - - { ACTION_KBD_UP, BUTTON_SCROLL_BACK, BUTTON_NONE }, - { ACTION_KBD_UP, BUTTON_SCROLL_BACK|BUTTON_REPEAT, BUTTON_NONE }, - { ACTION_KBD_DOWN, BUTTON_SCROLL_FWD, BUTTON_NONE }, - { ACTION_KBD_DOWN, BUTTON_SCROLL_FWD|BUTTON_REPEAT, BUTTON_NONE }, + { ACTION_KBD_LEFT, BUTTON_SCROLL_BACK, BUTTON_NONE }, + { ACTION_KBD_LEFT, BUTTON_SCROLL_BACK|BUTTON_REPEAT, BUTTON_NONE }, + { ACTION_KBD_RIGHT, BUTTON_SCROLL_FWD, BUTTON_NONE }, + { ACTION_KBD_RIGHT, BUTTON_SCROLL_FWD|BUTTON_REPEAT, BUTTON_NONE }, { ACTION_KBD_PAGE_FLIP, BUTTON_HOME|BUTTON_SELECT, BUTTON_HOME }, { ACTION_KBD_BACKSPACE, BUTTON_DOWN, BUTTON_NONE }, { ACTION_KBD_BACKSPACE, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE },