On Sun, Aug 02, 2020 at 03:46:05PM +0200, Maarten van Gompel wrote: > This is v2 of a big patch for svkbd. The overall intention is to make > svkbd viable keyboard on a smartphone (the pinephone in particular). > Svkbd is the keyboard of choice in the SXMO project > (https://sr.ht/~mil/Sxmo/) by Miles Alan. > > On request by Hiltjo I squashed less commits so the incremental history > should be clearer, although this does result in a much longer patch series > (14 now). > > This message summarizes all of the changes. I incorporated all the > feedback I received from Hiltjo, but be aware this occurs in patches 12 > and 13 of this series, so bear with me as you work through the earlier > patches. It's an incremental/evolutionary path. > > Miles had forked svkbd to make it more mobile friendly (smaller layout etc), > the first > few patches are his unaltered contributions, I hope they come through > correctly > as-such when I send them with git-send-mail (thought I had some issues last > time > but all turned out well in the end). > > I expanded upon his work by adding the following functionality: > > * Added Xft and Xinerama support > * Changed default fonts and layouts (default dark theme) > * Multiple layers, svkbd now support as many layers as you want and there's a > button to cycle between them. > * Overlay support, you can now long-press (>1s) certain keys and > an overlay will be put on the keyboard allowing you to enter variants > of the pressed letter. This is used e.g. for input of diacritics or > emojis. The overlay dissappears again as soon as a key is pressed. > (note: this functionality inevitably affects the ability to press > and without release hold certain keys and have them outputted on repeat) > * Added a degree of configurability using command line parameters and > environment variables, > because some run-time flexibility is needed on mobile devices. Layers can > be enabled/disabled on program start, overlay functionality can be disabled > on program start or on the fly (with a button). > * Made the original layouts compatible with the new implementation > > The result is now that there are two new layouts: > > * mobile-intl - A small international layout optimised for mobile devices. > This layout consists of multiple layers which > can be switched on the fly, and overlays that appear on long-press of > certain keys, adding input ability for > diacritics and other variants, as well as some emoji. The available > layers in this layout are: > * a basic qwerty layer > * a layer for numeric input, arrows, and punctuation > * a layer for function keys, media keys, and arrows > * a cyrillic layer (ЙЦУКЕН) > * a dialer/numeric layer > * mobile-plain - This is the original English layout for sxmo with only a > qwerty layer and numeric/punctuation layer. > > I made the new 'mobile-intl' layout the default, as it provides most of the > features > one would expect on a mobile device. The older layouts should also work as > they > did, and do not use any layers or overlays. > > The README has been updated with more details. > > This patch was also submitted downstream to SXMO and partially applied, > see the discussion here: > https://lists.sr.ht/~mil/sxmo-devel/%3C20200718122732.1192398-1-proycon%40anaproy.nl%3E > and here: > https://lists.sr.ht/~mil/sxmo-devel/%3C20200802123647.845631-1-proycon%40anaproy.nl%3E > . But I think it makes most sense to incorporate these changes in svkbd > itself rather than maintain a fork. > > >
Oops and to add: The environment variables should also be documented: SVKBD_LAYER, SVKBD_HEIGHTFACTOR, SVKBD_ENABLEOVERLAYS -- Kind regards, Hiltjo