Commit Graph

112 Commits

Author SHA1 Message Date
Belarusan
fab3a4383e Add 'u with breve' (ŭ, Ŭ) from Belarusan Latin alphabet in keyboard popup under 'u' and 'U' (#13425)
Some checks failed
macos / macOS 13 x86-64 🔨15.2 🎯10.15 (push) Has been cancelled
macos / macOS 14 ARM64 🔨15.4 🎯11.0 (push) Has been cancelled
2025-03-16 10:14:38 +01:00
Karol Bieńkowski
a8c1c8fefd PL keyboard layout: move "ó" and "Ó" to east on keypopup (#13347)
Some checks are pending
macos / macOS 13 x86-64 🔨15.2 🎯10.15 (push) Waiting to run
macos / macOS 14 ARM64 🔨15.4 🎯11.0 (push) Waiting to run
... in order to keep it consistent with other Polish characters.
2025-03-01 21:47:06 +01:00
NiLuJe
da74691515 Chore: Don't cache static data tables (ui/elements, ui/data, kb layouts & co) (#12519)
Using `require` didn't make much sense since most of them are only used in a single place anyway, and it takes care of a few weird interactions in the process (besides not polluting `package.loaded` with useless crap ;)).
2024-09-16 17:11:42 +02:00
Ichnilatis
00984ba6bc Keyboard: update el_popup.lua (#12463)
Some minor changes for consistency.
2024-09-04 15:31:30 +02:00
jonnyl2
844d1393e7 Fix Arabic keyboard layout (ظ key) (#12063)
Closes #12005.
2024-06-21 14:53:18 +02:00
Frans de Jonge
8977e5e12f [minor] Remove whitespace from last line in zh_stroke_data (#11956)
The busted install failure in #11620 came before those checks.
2024-06-01 22:38:26 +02:00
weijiuqiao
8f1b476444 Chinese keyboard: accept kanji stroke order too (#11620)
This will make the stroke-based Chinese character keyboard compatible with Japanese kanji stroke order, with an increase of the data file by about 80kb.

This could be a temporary solution for Japanese users to type kanji before better methods are implemented.

The stroke order data are extracted from this repo: https://github.com/KanjiVG/kanjivg.
2024-06-01 22:29:08 +02:00
sdasda7777
8530282d38 Add Czech keyboard layout (#11769)
Fixes #11339.
2024-05-08 11:04:23 +02:00
cookiebit
e3b4cbe71a Virtual keyboard: add Scandinavian layouts (Norwegian, Swedish & Danish) (#11365) 2024-01-16 22:33:15 +01:00
sonix-github
87915de32b Fix missing diacritics on first row of Slovak keyboard layout (#11343) 2024-01-12 22:19:16 +01:00
ichnilatis-gr
583ae40e46 Greek keyboard: update to the new keyboard layout (#10734) 2023-08-02 00:34:48 +02:00
ichnilatis-gr
0f3aeb7628 Keyboard: some transpositions in el_popup for practical reasons (#10144) 2023-02-20 10:15:32 +01:00
Mnkach
730857fc5e Keyboard: add Ukrainian virtual keyboard (#10037) 2023-01-23 16:00:57 +01:00
Frans de Jonge
b5e7ade880 [i18n] Fix Arabic translations (#9857)
They were still on the old ar_AA, notified in <https://github.com/koreader/koreader/pull/9822#issuecomment-1335439759>.
2022-12-02 18:39:47 +01:00
weijiuqiao
02c9f26f6c Keyboard: add Chinese pinyin input-method (#9843) 2022-12-02 16:59:31 +01:00
weijiuqiao
42d4056f8f Virtual keyboard: auto releasable Shift and keypopups (#9659)
Long-press on Shift to keep it non-auto-released.
2022-10-31 15:48:05 +01:00
sonix-github
eb56948fac Keyboard: add Slovak virtual keyboard (#9656) 2022-10-25 13:44:19 +02:00
weijiuqiao
bb03cf7310 Chinese keyboard: fix harmless typo (#9633) 2022-10-20 21:15:54 +02:00
weijiuqiao
effddbc1ee zh_keyboard: make number pad symbol mode (#9654)
This PR makes zh_keyboard's number pad symbol mode instead of shift mode, so that numbers are shown when the keyboard is called expecting numeral input.
2022-10-20 19:37:22 +02:00
weijiuqiao
ae8156ff9e Vietnamese keyboard: TELEX method backed by generic_ime 2022-10-12 23:41:48 +02:00
weijiuqiao
6a5a13dfc8 Generic keyboard IME bump: supports auto seperation when code is unique 2022-10-12 23:41:48 +02:00
NiLuJe
da65ac8b02 Cleanup various varargs shenanigans (#9624)
* Iterate over varargs directly via select if possible
* Use table.pack otherwise (https://github.com/koreader/koreader-base/pull/1535).
* This allows us to simplify a few Logger calls, as logger now handles nil values.
2022-10-12 19:59:48 +02:00
weijiuqiao
8508689cea [feat] Add Thai keyboard (#9620)
This PR adds support for a Thai keyboard. Layout mostly copied from my phone, with difference in diacritics placements: phone has only one key for all of them, while here we have a couple more. Swipe in different directions needed for inputing them.
2022-10-12 11:25:43 +02:00
NiLuJe
fadee1f5dc Clarify our OOP semantics across the codebase (#9586)
Basically:

* Use `extend` for class definitions
* Use `new` for object instantiations

That includes some minor code cleanups along the way:

* Updated `Widget`'s docs to make the semantics clearer.
* Removed `should_restrict_JIT` (it's been dead code since https://github.com/koreader/android-luajit-launcher/pull/283)
* Minor refactoring of LuaSettings/LuaData/LuaDefaults/DocSettings to behave (mostly, they are instantiated via `open` instead of `new`) like everything else and handle inheritance properly (i.e., DocSettings is now a proper LuaSettings subclass).
* Default to `WidgetContainer` instead of `InputContainer` for stuff that doesn't actually setup key/gesture events.
* Ditto for explicit `*Listener` only classes, make sure they're based on `EventListener` instead of something uselessly fancier.
* Unless absolutely necessary, do not store references in class objects, ever; only values. Instead, always store references in instances, to avoid both sneaky inheritance issues, and sneaky GC pinning of stale references.
  * ReaderUI: Fix one such issue with its `active_widgets` array, with critical implications, as it essentially pinned *all* of ReaderUI's modules, including their reference to the `Document` instance (i.e., that was a big-ass leak).
* Terminal: Make sure the shell is killed on plugin teardown.
* InputText: Fix Home/End/Del physical keys to behave sensibly.
* InputContainer/WidgetContainer: If necessary, compute self.dimen at paintTo time (previously, only InputContainers did, which might have had something to do with random widgets unconcerned about input using it as a baseclass instead of WidgetContainer...).
* OverlapGroup: Compute self.dimen at *init* time, because for some reason it needs to do that, but do it directly in OverlapGroup instead of going through a weird WidgetContainer method that it was the sole user of.
* ReaderCropping: Under no circumstances should a Document instance member (here, self.bbox) risk being `nil`ed!
* Kobo: Minor code cleanups.
2022-10-06 02:14:48 +02:00
weijiuqiao
91e5123ff0 Chinese keyboard: character level deletion apply to the last 2 chars 2022-10-03 01:23:00 +02:00
weijiuqiao
05aba404b7 Keyboard: add Chinese stroke-based layout (#9572)
Basically it uses 5 keys for 5 basic stroke types and
inputs characters by their stroke order.
See https://en.wikipedia.org/wiki/Stroke_count_method
2022-10-02 01:58:36 +02:00
zwim
d5d5867d4e DoubleSpinWidget, SpinWidget: add units, make usage more consistent (#9046) 2022-05-24 00:25:50 +02:00
zwim
9b9cfe29a4 [feat] Replace TimeVal (RIP) with time, fixed point time seconds (#8999) 2022-05-05 21:00:22 +02:00
Utsob Roy
357bc65217 Keyboard: add Bengali Probhat layout (#8887)
Add keyboard with Bengali Probhat layout.
Bump koreader-fonts for added Noto Sans Bengali UI,
and include it among our fallback fonts.
2022-03-15 23:13:13 +01:00
hius07
a7842d134c ja_keyboard spinwidget: no default value in description 2022-01-24 22:27:45 +01:00
ichnilatis-gr
7163a392a8 Update el_keyboard.lua (#8622)
Adding some combinations with accents and breathings.
2022-01-06 16:26:09 +01:00
ichnilatis-gr
59eaa471e6 Greek keyboard: ancient Greek numerals addition (#8554)
Added the Greek numerals for 6, 90 and 900, they are used
even today when we write numbers with Greek letters.
2021-12-16 10:39:41 +01:00
Aleksa Sarai
7e611ac50c keyboard: japanese: always put digits as the south gesture for latin (#8443)
This is to match GBoard's layout for the latin keyboard mode.

Signed-off-by: Aleksa Sarai <cyphar@cyphar.com>
2021-11-14 14:10:25 +01:00
Aleksa Sarai
cdae66a661 keyboard: japanese: switch to 12-key flick layout
This layout is far more commonly used on mobile devices, and allows for
much easier typing. The keyboard primarily functions through gestures in
the four cardinal directions to select which vowel kana to select. In
addition, users can cycle through each kana row by tapping the key
within a 2-second window (this is the equivalent to T9 input for
Japanese phone keyboards).

This also resolves the long-standing issue that the old keyboard did not
correctly handle dakuten (there was a standalone dakuten key which added
a stray dakuten mark, and the umlat mode which added dakuten to all of
the keys it could) and could not input handakuten characters at all.

In order to allow adding dakuten and cycling through the various
modifiers for the previous kana, we need to wrap the input-box (similar
to korean) but luckily we don't need any state machine magic since we
just need to modify the last character in the character buffer. However
because the tap timeout for T9-like-cycling needs to be reset after any
non-tap key we need to add some basic wrappers around a few other
input-box methods.

Signed-off-by: Aleksa Sarai <cyphar@cyphar.com>
2021-11-07 19:23:56 +01:00
ichnilatis-gr
a1e0d87c62 Greek keyboard: minor updates (#8319)
New popup menu on the Greek acute key for Greek numeral signs.
2021-10-14 11:33:33 +02:00
ichnilatis-gr
23be2f278c [UX] Keyboard: Fix Greek Y popup (#8308)
Correction of the "Υ" popup, where instead of Greek upsilon (as was written) there was the Greek capital tau ("Τ").
2021-10-06 19:24:32 +02:00
ichnilatis-gr
e4337d1306 Greek keyboard: minor updates (#8292)
Adds Greek semicolon (upper dot) to the dot pop-up menu.
2021-10-03 10:37:15 +02:00
ichnilatis-gr
c6b3d5d3a5 Greek keyboard: minor updates (#8291)
Adds Greek semicolon (upper dot) to the dot pop-up menu.
2021-10-03 10:36:49 +02:00
ichnilatis-gr
84baf00416 Greek keyboard: minor updates (#8258) 2021-09-25 12:15:44 +02:00
ichnilatis-gr
785200d76b VirtualKeyboard: Update el_keyboard.lua (#8148) 2021-08-29 18:15:43 +02:00
yparitcher
c6a8dc34a2 [UX] HE keyboard: Use updated symbols from new layout (#8131) 2021-08-25 09:20:09 +02:00
mergen3107
fdae07e2cc VirtualKeyboard: redesign and enhancements (#8089)
See #8089 for all the details.
2021-08-24 23:51:39 +02:00
ichnilatis-gr
4b7ac191dc Greek keyboard: translate Space key (#7974) 2021-07-15 10:26:25 +02:00
jimman2003
a7bbf24f87 Greek keyboard: tweak popup keys (#7930)
By @ichnilatis-gr
2021-07-03 20:57:39 +02:00
poire-z
c0386e5dd0 Greek keyboard: add more diacritics (polytonic) (#7906)
Provided by @ichnilatis-gr
2021-06-30 20:47:41 +02:00
zwim
e955a28796 Uppercase sharp s (#7741) 2021-05-23 12:36:28 +02:00
josdion
3d8d40d797 Add Bulgarian keyboard layout (#7367) 2021-02-28 19:59:02 +01:00
Frans de Jonge
893026a2ef [chore] Fix a few Persian keyboard luacheck issues (#7253)
Cf. <https://github.com/koreader/koreader/pulls#issuecomment-774345230>.
2021-02-06 16:27:02 +01:00
Monirzadeh
6f50d67b5d [UX] Add Persian keyboard (#7222)
Fixes #5791.
2021-02-05 21:30:09 +01:00
poire-z
cdafd9438c Georgian keyboard: remove unused variable (luacheck) 2021-02-01 23:57:47 +01:00