Skip to content

Release 0.0.5-beta.1: crisp adjustable haptics, key sound fix, 中/英 on the right - #125

Merged
Slacker-LLC merged 1 commit into
mainfrom
feat/crisp-haptics-lang-key-right
Oct 4, 2026
Merged

Slacker-LLC merged 1 commit into
mainfrom
feat/crisp-haptics-lang-key-right

Conversation

@Slacker-LLC

Copy link
Copy Markdown
Owner

Summary

  • Key haptics drive the vibrator directly: PRIMITIVE_CLICK on API 30+, EFFECT_CLICK on API 29, a 20 ms one-shot before that, tagged as touch feedback. Since Android 14 QPR3 KEYBOARD_TAP plays at a fixed, often low keyboard amplitude; commercial IMEs drive the vibrator themselves.
  • New 震动强度 slider (10–100%, default 100%) in preferences and on the keyboard settings panel's first screen; it previews while dragged and is included in the user-data archive.
  • Fix key sound: playSoundEffect(effect, volume) plays even when the system "touch sounds" setting is off, as AOSP LatinIME does.
  • 26-key bottom row: 中/英 and ,。 swap, so it reads 123 | ,。 | 空格 | 中/英 | 确定 in Chinese and English.
  • Remove the undo after swipe-up clear (gesture, banner and gateway snapshot); the toolbar undo button stays.
  • Split 关于与数据 into 关于 (privacy, diagnostics, version) and 数据管理 (export/import, voice word lists, uninstall note). Tools panel drops 语音输入 and 切换键盘 and gains 数据管理.

Test plan

  • testDebugUnitTest 374/374, lintDebug with no errors
  • Emulator (API 36): vibrator log shows Primitive=CLICK(scale=1.00) with usage TOUCH, and scaled clicks while dragging the slider; key sound plays with system touch sounds off; bottom row, clear without undo banner, tools panel and both new pages checked on screen
  • Instrumented SpaceCursorAndLetterHints + AuditInteraction 67/67 (the first full-suite run had 5 failures, 3 of them timeouts, while another session shared the emulator; both classes passed on rerun)
  • Not covered locally: full instrumented suite after the strength slider (left to CI), real-device haptic feel

🤖 Generated with Claude Code

… the right

- Key haptics drive the vibrator directly (PRIMITIVE_CLICK on API 30+,
  EFFECT_CLICK on API 29, a 20 ms one-shot before) instead of the system's
  fixed keyboard amplitude, tagged as touch feedback. A 震动强度 slider
  (10-100%, default 100%) scales it, previews while dragged, and is part of
  the user-data archive.
- Key clicks use playSoundEffect(effect, volume) so the in-app switch works
  when the system "touch sounds" setting is off (as AOSP LatinIME does).
- 26-key bottom row is now 123 | ,。 | 空格 | 中/英 | 确定 in both languages.
- Remove the undo-after-clear: no swipe-down restore, no "已清空 · 撤销"
  banner and no gateway snapshot. The toolbar undo button stays.
- Split 关于与数据 into AboutActivity (privacy, diagnostics, version) and
  DataManagementActivity (export/import, voice word lists, uninstall note);
  the settings section 关于与数据 lists both.
- Tools panel drops 语音输入 and 切换键盘 and gains 数据管理.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@Slacker-LLC
Slacker-LLC merged commit 13359b2 into main Oct 4, 2026
7 checks passed
@Slacker-LLC
Slacker-LLC deleted the feat/crisp-haptics-lang-key-right branch October 4, 2026 22:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant