Skip to content

Cherry-pick isolated HeliBoard settings (content-audit findings) #74

Description

@AsafMah

Summary

Content-level audit (tree diff, not version numbers) of Helium314/HeliBoard main vs this fork found a set of isolated, low-coupling settings present upstream but absent here. These are the only clean cherry-pick candidates — the rest (theming/typeface refactor, foldable split, floating rework, emoji-search rework) are entangled with HeliBoard infra this fork's base predates, and the gesture-data-gathering subsystem is deliberately excluded (see the other issue).

Method: diff of PREF_* keys in Settings.java (HeliBoard 137 vs fork 174) + tree diff of latin/utils, settings/screens, assets/layouts.

Cheap pulls (each ~self-contained)

  • Autocorrect confidence threshold — auto_correct_confidence
  • Punctuation suggestions toggle — punctuation_suggestions
  • Spell-checker suggestions — spellcheck_suggest
  • Swipe down on toolbar to hide keyboard — toolbar_swipe_down_to_hide
  • Toolbar-only with hardware keyboard — only_toolbar_with_hw_keyboard
  • Touchpad / space-bar edge scroll — touchpad_edge_scroll (+ keyboard/TouchpadHandler.java)
  • Key-gap / bottom-row scaling — key_gap_scale, bottom_row_scale (+ settings/preferences/KeyboardScalePreference.kt)
  • HCESAR layout — assets/layouts/main/hcesar.json (single file, trivial)

Entangled — evaluate, likely skip

  • Foldable split keyboard (split_keyboard_folded[_landscape] + FoldableUtils.kt)
  • Floating-keyboard rework (floating_* prefs + FloatingKeyboardUtils.kt) — conflicts with the fork's existing floating keyboard; this is a replacement, not an add. Needs a decision before touching.
  • Theming/typeface system (Theme.kt, Icons.kt, KeyboardTypeface.kt) — infra refactor, not a single feature. Pulling it is a project, not a cherry-pick.
  • Emoji search rework (emoji/EmojiSearchActivity.kt + common/Emoji.kt) — fork already has a variant.

Notes / caveats

  • Each pull MUST follow the 5-file settings pattern here (Settings.java / Defaults.kt / SettingsValues.java / strings.xml / a *Screen.kt entry) + add a SettingsContainerTest.kt case.
  • Strategic ordering caveat: the priority direction is sending fixes up to LeanBitLab, not pulling features down piecemeal. Treat this as opportunistic, low-priority QoL.
  • Each is small enough for a single-responsibility PR; do not batch.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions