foobnix / LibreraReader

Book Reader for Android
http://librera.mobi
Other
3.04k stars 314 forks source link

Keyboard and Controllers not fully supported #1301

Open SermanGavin opened 3 months ago

SermanGavin commented 3 months ago

Use case: Ability to turn pages using wireless/wired keyboard or a Bluetooth controller (e.g., Xbox, PS5, Switch). This supports assistive technology and users unable or impaired in using touchscreens.

Issue: Currently unable to turn pages using a physical keyboard or Bluetooth controller. Without first selecting all pages in a highlight mode.

Workarounds: The user muse open the book, then press TAB to highlight all pages. This selection changes text and background colors. Once highlighted, users can navigate pages using the left and right arrows. However, this highlighting and color change persist across all pages.

Expected behaviour: After opening a book using a keyboard or controller, users should be able to navigate pages directly using the left and right arrows without needing to press TAB to highlight pages.

Suggested improvements

  1. Enhanced Navigation: Enable page navigation using left and right arrow keys immediately after opening a book.
  2. Consistent Functionality: Expand keyboard bindings to include common features.
  3. Documentation: Publish a list of keybindings for reference.

Current Keybindings: When a book is open, the following keyboard bindings are available (others may exist):

Suggested Keybindings: In addition to current keybindings, consider adding:

duncanawoods commented 2 months ago

I am using a keyboard through scrcpy. I find that Tab and Shift-tab works for page navigation without any special effort. My reader mode is "full-screen". However, it's a surprising enough key choice that I only tried it after reading your comments!

I haven't tried Librera with a book that has links/footnotes/references but I would normally expect tab to navigate the links within a page which are then opened by pressing enter.

I am surprised that more common keys do not navigate pages e.g.

When none of those did anything I assumed there was no keyboard support at all.

I like that librera doesn't skimp on settings. Ideally the key-map would be editable because page/chapter/bookmark navigation preferences likely differ.

Some standard pc type key mappings I would appreciate include:

Feedback on @SermanGavin's suggestions: