Commit 4d1e80c
v1.2: Shift+Tab on soft keyboard + swap ASR to Qwen3-ASR-Flash
Two independent improvements from real-device testing:
1. Shift+Tab — softkb.c
The 3DS soft keyboard's Tab key now respects the physical L (Shift)
modifier. Holding L while tapping Tab emits CSI Z ("\x1b[Z"), the
terminal-standard escape sequence for "cursor backward tabulation"
that most TUIs interpret as Shift+Tab — useful for reverse-cycling
completions in vim/zsh, walking backwards through tmux panes after
Ctrl-B q, and similar.
Touch is two lines in the KIND_SEQ dispatch: when L is held AND the
sequence is literally "\t", swap for "\x1b[Z" before returning.
Plain Tab (no modifier) still emits "\t" unchanged. Only "\t" is
special-cased; other KIND_SEQ bindings pass through verbatim.
2. ASR model swap — tools/whisper_shim.py
OPENROUTER_AUDIO_MODEL changed from "openai/whisper-large-v3-turbo"
to "qwen/qwen3-asr-flash-2026-02-10". Same JSON request / response
shape on OpenRouter's /v1/audio/transcriptions endpoint, so no
protocol or parsing changes. Motivations:
- User report: OpenRouter's Whisper Turbo provider occasionally
blocks / rate-limits requests from certain IPs, where the same
audio through Qwen ASR succeeds.
- Qwen tends to emit more idiomatic Chinese punctuation
("你好,世界。" vs Whisper's "你好世界,").
- Pinning the dated snapshot (2026-02-10) because OpenRouter does
not expose an unpinned alias for this model.
Pricing roughly 2× higher (~$0.13/audio-hour vs $0.067) but still
negligible at personal-use volumes.
Both verified on real 3DS hardware before push.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>1 parent 1f6becf commit 4d1e80c
2 files changed
Lines changed: 18 additions & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
459 | 459 | | |
460 | 460 | | |
461 | 461 | | |
| 462 | + | |
| 463 | + | |
| 464 | + | |
| 465 | + | |
| 466 | + | |
| 467 | + | |
| 468 | + | |
| 469 | + | |
462 | 470 | | |
463 | 471 | | |
464 | 472 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
50 | 50 | | |
51 | 51 | | |
52 | 52 | | |
53 | | - | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
54 | 63 | | |
55 | 64 | | |
56 | 65 | | |
| |||
0 commit comments