abouttreesummaryrefslogcommitdiff
path: root/srcs
AgeCommit message (Collapse)AuthorFilesLines
2022-04-02Compute the swipe distance from the physical dpiJules Aguillon1-3/+5
The previous computation was very different depending on the device's screen and accessibility options. Given that the keyboard is supposed to fill all the space in one dimension, the dpi unit makes little sense. The formula doesn't mean anything in particular, it takes into account both dimensions (x and y) and should be close to the dpi in the diagonals (which is the direction of swipe). This changes the actual value, on a 1920x1080 480dpi screen, the value is increased by 20%.
2022-03-31µ, æ and œ also generated by FnArenaL51-7/+4
2022-03-31Add arrowsArenaL51-0/+8
Add simple arrows to the numeric keypad. Using the Fn key with these arrows will output double arrows.
2022-03-31Add non-breaking space as Fn+SpaceArenaL52-0/+2
2022-03-31Add extra symbols to FnArenaL51-46/+25
Also removed almost all combinations of diacritics and symbols to create extra symbols.
2022-03-25Add glyphs for Tab, Backspace and DeleteJules Aguillon4-3/+20
Tab is from IcoMoon. Backspace and Delete are from materialdesignicons.
2022-03-24Improve glyphs for accentsJules Aguillon11-694/+107
The accents are taken from the Roboto Regular font (Apache 2.0), added the dotted circle and exported with FontForge. The argument to FontForge's Import function are changed, the fifth argument controls the accuracy and needed to be lowered otherwise the grave accent wouldn't be rendered at all.
2022-03-24Update Home and End glyphsRaphael2-6/+18
Revert them to previous version, but now using SVG icons instead of a ttf font file
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).