Google Voice Typing on Android 16+ is a standalone IME with zero
subtypes, so the old code (scanning subtypes for mode='voice')
never found it. Also detect IMEs with getSubtypeCount()==0 and
handle null subtype in switchInputMethod() and get_display_name().
- Initialize MornKeyboardSwipeAdapter on Keyboard2.onCreate()
- Load en_US.gilde dictionary from res/raw/
- Create SwipeInputHandler and wire to Keyboard2View in create_keyboard_view()
- Add MornSwipeReceiver that commits top candidate via InputConnection
- Call notifySwipeLayoutChanged() on layout changes
- Clean up on onDestroy()
- Full debug build verified (82 tasks)
- '!' moved to bottom-left of '1' (q sw), removed from e ne
- Dash on o sw, underscore on o se
- ':' on l sw (replaced backslash)
- Bottom row: Ctrl | Alt | Space | Fn | Enter
- Fn moved right of space bar, corner swipes cleaned up
- Voice typing moved from Enter to Fn bottom-left (key6)
- Clipboard on Ctrl bottom-left (key6)
- New 'tux' key: META modifier displayed as Tux penguin (0xE002)
from special_font/002.svg, toggleable (latch+double-tap lock)
- Enter only has action corner (key2), no voice typing
- Config (settings) kept on Fn up-swipe (key1)
- Top row numbers moved from ne (top-right) to nw (top-left) per request
- Existing nw symbols (tilde, !) shifted to ne positions
- Shift restored in z-row (normal key width)
- Backspace now normal key width (no more 1.5x)
- Fn key now has corner swipes: config, change_method, emoji, switch_numeric
- Bottom row: Fn | Ctrl | Alt | Space | Enter
- Joypad no longer uses displacement-accumulation (useless on space bar).
- After long-press space bar, determine direction from finger offset vs origin.
- Direction locks, fires one cursor event, then auto-repeats at
longPressInterval rate via _longpress_handler.
- Changing finger direction updates the lock (fires in new dir immediately).
- Returning finger to dead zone stops auto-repeat.
- Removed SPEED_VERTICAL_MULT and startup threshold:space bar has no room.
- Space bar icon changed to 0xE001 (4-directional arrows).
- Space bar long-press now activates Joypad cursor mode
(long-press detected in handleLongPress before key-repeat)
- Removed separate cursor_joystick key from bottom row
- Widened space bar (4.2 → 6.0) to compensate
- Bottom row: Shift | Fn | Ctrl | Alt | Space (joypad on long-press) | Enter
- Removed redundant shift key from latn_qwerty_us.xml third row
(shift is now on the bottom row only)
- Rebuilt assets/special_font.ttf to include 001.svg (4-directional
joystick icon at codepoint 0xE001)