abouttreesummaryrefslogcommitdiff
path: root/srcs
AgeCommit message (Collapse)AuthorFilesLines
2022-03-21Correct displayed value when cancelling settings modificationArenaL52-0/+8
When changing any numeric setting and cancelling this change, the change would not be persisted, but the summary in the setting screen would show the last position of the slider instead of the correct unchanged value. This commit fixes this on the most simple way by resetting the slider position to the persisted value.
2022-03-19Add F11 and F12Jules Aguillon2-14/+28
These keys are shown only when Fn is activated, "placeholder" keys are placed in the layouts.
2022-03-19Allow modifiers to hide keysJules Aguillon4-36/+66
Modifiers can temporarily remove a key from the layout by returning 'null'. Make sure pointer handling code handle these modified keys gracefully and doesn't trigger a key event and a vibration for the removed key.
2022-03-18Add glyphs for accent keysJules Aguillon11-9/+713
The "dotted circle" character combined with the accent was badly rendered on many devices.
2022-03-18Build all special glyphs from SVGJules Aguillon13-15/+55
Recover the provenance of each glyphs and remove the base_font.ttf file.
2022-03-17Stateless build of the special font fileJules Aguillon9-5/+68
Keep the glyphs in SVG format and build the font using a FontForge script. A part of the previous font is kept because the sources is lost. This adds a new dependency to the build system, fontforge.
2022-03-17Avoid ghost touches while holding modulated keysJules Aguillon1-0/+15
On some devices, bogus touch events can be sent while holding a key. With modulated keys, it can happens on top of other keys. Ignore every new pointers when a modulated key is pressed.
2022-03-16Show the switching key if there's several languagesJules Aguillon1-1/+4
Ensure the switching key is shown when there's several subtypes enabled, even if Android says not to show it.
2022-03-15Brazilian portuguese layout (#91)igorSilCar1-0/+1
* Providing a comprehensible Brazilian Portuguese keyboard layout removed cedille as it is already provided by an independent key; changed layout to correspond to the locale
2022-03-15Handle CANCEL touch eventsJules Aguillon2-3/+16
Handling this event is part of the API but was never done. This caused unstoppable key-repeat. This event isn't common, the only way I found on Android 10 is to switch to the emoji keyboard while holding a key. Some apps might cause this event more often.
2022-03-15Add Swedish layoutJacob Strömgren1-5/+6
2022-03-15Log editor infos while debuggingJules Aguillon1-0/+19
Useful when debugging why the keyboard doesn't work as expected with a specific app.
2022-03-13Fix crash since 2ea256eJules Aguillon1-1/+1
2022-03-13Improve symbols for Sup, Sub and OrdJules Aguillon1-3/+3
2022-03-13Make superscript and subscript modifiers lockableJules Aguillon1-1/+3
2022-03-13Avoid showing some symbols twice in Fn modeJules Aguillon3-27/+25
2022-03-13Define localized keys as a set instead of flagsJules Aguillon3-64/+40
Using flags for removing keys like € and ß need too many flags and won't scale to more localized keys.
2022-03-12Fix inconsistent highlighting of lockable keysJules Aguillon1-1/+1
Pointers.getKeyFlags might receive a different KeyValue than what's stored in the pointer due to caching. Compare names instead.
2022-03-06Make the font smaller for the action keyJules Aguillon2-3/+8
2022-03-05Fix action key not updating when switching fieldJules Aguillon1-1/+2
The keyboard was updated before the action key is.
2022-03-05Clicking twice on CTRL or ALT will lock them in 'ON' state (#72)Raphael2-3/+20
* Clicking twice on CTRL or ALT will lock them in 'ON' state * Make Locking behaviour optional, configurable in preferences * Nest the new settings into a different page To avoid spamming the settings page and repetition in the summaries. Cannot be a popup unfortunately because that would require API >= 11. * Add Fn and Meta Co-authored-by: Jules Aguillon <jules@j3s.fr>
2022-03-05Improve the code for dynamic updates of the layoutJules Aguillon4-88/+36
2022-02-27Reduce the text size for some keysJules Aguillon2-15/+19
The symbols are now smaller for Shift, Space, Backspace, Delete and some keys on the bottom row. The previous rule was to make the text smaller for symbols made of several characters. This is changed to a flag approach.
2022-02-27Compute text size depending on actual row heightJules Aguillon1-19/+25
Use the height of the row currently being rendered instead of the base row size. Concretely, the bottom row is slightly smaller and will get slightly smaller text. Also: - Rewrite the label rendering code - Render labels at the middle of the key (was slightly off)
2022-02-27Compute text size relative to key heightJules Aguillon3-15/+12
Instead of a fixed size that don't work at all for bigger screens. Other tweaks: - Use the value-land dimens to vary 'extra_horizontal_margin' - Move label size to Config, because it can change at runtime (rotation) - Slightly decrease the size of "long" symbols
2022-02-26Update symbols from unicode to font-IconRaphael1-7/+6
2022-02-22Tweak repeat timing for modulated keysJules Aguillon1-3/+11
Make modulated keys repeat twice as slow by default and start repeating twice as early.
2022-02-22Send key events for the modifiersJules Aguillon2-19/+38
Before sending a key event while modifiers are active, send events for the modifier keys. Some applications don't look at the "metaState" flags but instead keep track of the up and down events for the modifiers. For example, the basic text views that are in every applications correctly handle the "metaState" flags except for one binding: Selecting text with the arrows while pressing shift.
2022-02-22Update the spanish localeJules Aguillon1-0/+1
To use the new layout.
2022-02-21Improve modulated key repeatJules Aguillon2-11/+31
Change the formula: don't use an external constant, add a state. It's now the ratio between where the finger is at the first repeat and where it is now. Keep the repeat going when swiping into an other key. Currently only for arrows: It's now possible to go from an arrow to an other without waiting again for the key repeat timeout. The backspace and delete keys don't work well with this.
2022-02-20Move pointer handling code to its own classJules Aguillon3-269/+355
Separate the concerns and have a clearer interface between the two parts of the code.
2022-02-19Localize € and £Jules Aguillon3-5/+10
Show these characters only for users that have the corresponding locale installed (a supported eu language for €, en-GB for £). Add these characters to most layouts.
2022-02-19Add Ord+* = °Jules Aguillon1-0/+1
2022-02-19add-ordinal-numbers-symbol-systemRaphael2-2/+21
2022-02-13Define the height of the keyboard relative to the screen sizeJules Aguillon1-4/+19
Depending on the pixel density isn't ideal for a keyboard, which would render differently depending on the "scaling" accessibility option. Landscape mode needs a special values. At the same time, increase the horizontal margin when landscape.
2022-02-13Add Russian layout (#66)Vladimir Chernov1-0/+1
* Add Russian layout Co-authored-by: Jules Aguillon <jules@j3s.fr>
2022-02-13Use the improved font for shift, globe, enter and spaceJules Aguillon1-5/+11
These glyph were available in the custom font but not used yet.
2022-02-13Scale the bottom row depending on the host layoutJules Aguillon1-10/+31
1ff8526 added a bug for layouts that weren't 10 units wide.
2022-02-07Define the bottom row separatelyJules Aguillon2-75/+79
Avoid divergences when the bottom row is modified.
2022-02-07Dvorak layout (#16)AlexandraAlter1-0/+1
2022-02-06Replace unusual return symbolMax Schillinger1-1/+1
2022-02-06Allow egde keys instead of corner keys (swipe vertically/horizontally)Max Schillinger3-21/+68
Add a new boolean parameter "edgekeys" for defining keys that have the additional (swipe) keys on the edges (top, right, left, bottom) instead of at the corners (top left, top right, bottom left, bottom right).
2022-02-06Add the Meta keyJules Aguillon2-1/+5
Currently using the diamond symbol like the history meta key: https://en.wikipedia.org/wiki/Meta_key However, this key is actually interpreted as the Super/Windows key but Android calls it "meta" internally.
2022-01-30Add options for the spacing between the keysJules Aguillon1-6/+10
Two options: vertical and horizontal.
2022-01-30Select theme depending on system settingsJules Aguillon2-17/+41
Automatically choose between the Dark and Light themes.
2022-01-30Improve Action key detectionJules Aguillon2-11/+4
There were two problems: - The Action key was swapped when it shouldn't be. The flag 'IME_FLAG_NO_ENTER_ACTION' wasn't interpreted correctly for inputs that specified both an action and this flag. - The value 'IME_ACTION_UNSPECIFIED' should remove the Action key.
2022-01-29Fn+Tab to send the tab characterJules Aguillon2-0/+2
2022-01-29Add support for the Bulgarian language and layoutJules Aguillon1-0/+1
Thanks Zdravko Iskrenov for the contribution.
2022-01-29Fix modifier not working on non-ASCIIJules Aguillon1-1/+2
Characters defined in layouts that aren't defined in KeyValue weren't recognized as character keys. Not working with modifiers.
2022-01-29Add Latvian specific QWERTY layoutEdgars1-0/+1
A customised Latvian specific QWERTY layout (QWERTY (Latvian)) was added to access all Latvian diacritic characters with a swipe. Additionally caron, cedille and macron accents were enabled for this layout.