OSK Enhancements Proposals
-
@kugiigi Thanks for that post. I, as a long years user of Canonical UT, and since a few weeks of UBports, was not aware of this cursor mover.
-
@kugiigi said in OSK Enhancements Proposals:
The idea is to also use the "cursor mover" feature for text selections/manipulations.
Yes please!
-
@doniks Then help me recompile maliit LOL
-
But that could be too much settings?
If you think, that there will be too much settings for an non-advanced user, you can always make it to get OSK settings upgrade from some file, to let more advanced user decide... you know, like, if file ~/.config/osk/setings.json exists, update default config from it.
-
I vote for including in Settings the choice of selecting different options for the space bar hidden function since....I like ALL the implementations and workarounds actual and future you invented Kugi I'm testing the gesture listed at the point 1 and I find it very useful. Good job indeed and keep going on!
-
@kugiigi said in OSK Enhancements Proposals:
@doniks Then help me recompile maliit LOL
not promising that I know how, but happy to think along. where are you at?
-
@doniks successfully compiled via crossbuild but I'm trying to figure out which files only to copy to my device
I don't want install everything cause it might break my OSK and I won't be able to bring it back to working -
@kugiigi said in OSK Enhancements Proposals:
@doniks successfully compiled via crossbuild
mind pasting some more concrete steps?
but I'm trying to figure out which files only to copy to my device
I don't want install everything cause it might break my OSK and I won't be able to bring it back to workingshouldnt it build a deb? then youd getv exactly what you need to install
-
@doniks I cloned the repo locally and compiled via crossbuilder. Crossbuilder is quite easy to use although I had some errors deploying yo my device.
At first, I didn't installed the debs and just picked some files (i.e. *.so) from them and installed manually to my device however that didn't work so reverted back the original files.
Last night, I tried deploying to my other UT install on Nexus 5, however it broke my OSK LOL
And now I don't know how revert it back.
Then I noticed on my main UT install where I manually installed files, that whenever I switch layout, the OSK restarts.I think it's safe to say that I messed up the compilation LOL
-
@kugiigi said in OSK Enhancements Proposals:
@doniks I cloned the repo locally and compiled via crossbuilder.
I'm trying. I'm stuck at this:
ubuntu-keyboard_1.100+17.04.20170320-0ubuntu1local~1540929546_armhf.deb Upgrading packages already installed on device with newly built ones. adb: error: remote object '/tmp/repo/create_repository.sh' does not exist [100%] /tmp/repo/create_repository.sh + where=/tmp/repo + origin=local + label=repo + cd /tmp/repo + apt-ftparchive sources . + gzip -9 + tee /tmp/repo/Sources + apt-ftparchive packages /tmp/repo + gzip -9 + sed s@/tmp/repo@@ + tee /tmp/repo/Packages + apt-ftparchive -oAPT::FTPArchive::Release::Origin=local -oAPT::FTPArchive::Release::Label=repo -oAPT::FTPArchive::Release::Codename=/tmp/repo release /tmp/repo Package: * Pin: release o=local Pin-Priority: 2000 Package: * Pin: release a=xenial* Pin-Priority: 50sed: can't read /etc/apt/preferences.d/extra-ppas.pref: No such file or directory Get:1 file:/tmp/repo InRelease Ign:1 file:/tmp/repo InRelease Get:2 file:/tmp/repo Release [2,004 B] Get:2 file:/tmp/repo Release [2,004 B] Get:3 file:/tmp/repo Release.gpg Ign:3 file:/tmp/repo Release.gpg Get:4 file:/tmp/repo Packages [10.3 kB] Reading package lists... Done W: The repository 'file:/tmp/repo Release' is not signed. N: Data from such a repository can't be authenticated and is therefore potentially dangerous to use. N: See apt-secure(8) manpage for repository creation and user configuration details. Reading package lists... Done Building dependency tree Reading state information... Done You might want to run 'apt-get -f install' to correct these. The following packages have unmet dependencies: repowerd : Depends: repowerd-data (= 2018.03+1ubports1+0~20181026092453.6~1.gbpae2cfa) but 2018.03+1ubports1+0~20180417175046.5~1.gbp3909fb is installed E: Unmet dependencies. Try using -f. sed: can't read /etc/apt/preferences.d/extra-ppas.pref: No such file or directory If a script named .crossbuilder/post_deploy existed, it would be executed on device after every deploy.
-
Finally got it to compile. The working branch is xenial.
Now let's see if I can put my ideas into reality -
I would appreciate if someone can help find out how to support modifiers such as shift and control. At the moment, I'm reading the codes and trying to find out where I can add this and having a hard time so far
-
The onscreen-keyboard could be improved by adding a Select All, Copy, Cut and Paste functionality.
This would greatly accelerate transferring text between UI elements.- The
?123
-key is modifed, such that it acts on theTouchEnd
event, rather thanTouchBegin
. Pressing any other key in the meantime cancels the action. - Touch-and-hold the
?123
, then touch-and-release thea
button selects all text in the current focus UI element. - Touch-and-hold the
?123
, then touch-and-release thec
button copies selected text. - Touch-and-hold the
?123
, then touch-and-release thex
button cuts selected text. - Touch-and-hold the
?123
, then touch-and-release thev
button pastes the current clipboard content.
Basically like a conventional keyboard, but the
ctrl
key is simulated by?123
.What do you think?
- The
-
Another feature which could help many users would be an emoji search.
Many OSes do it. I think it's very convenient.It could be achieved with the existing "word suggestion" feature. For example, if you type "ok" as text it suggests (U+1F44C), or (U+1F984) for "unicorn". Touching the suggested Emoji replaces the typed character sequence.
It also probably is a good idea to provide an "enable" option in the keyboard settings for users who don't like it.
-
@haveaniceday That's a nice idea but I'm not sure if the symbol switcher button is the good place to put it.
What I have in mind right now is to put the buttons where the word ribbon is and they will be displayed only while in "selection mode" AKA as "cursor move" mover at the moment.
If we have these options from the OSK, it's easier to copy and paster things even on currently non-supported (text operations only) toolkits such as QQC2 and Kirigami.But again, my blocking point is implementing modifier support in the OSK
-
I was finally successful building the keyboard component via crossbuilder.
The key was to build the xenial branch and not the master. Thanks to @myii ! (if that's really you?)So, I guess I've done enough work and in the state of "is this good enough or does it make sense".
I would like to know your opinion, inputs, suggestions, violent reactions
The codes aren't final as most of the logic are in a "hacky" way of things
And I would greatly appreciate any help on the UI/UX design part as I am really bad with themHere's a couple of screenshots of the current state.
If you're willing to take the risk, you may try it from this branch (ignore the branch name...I messed it up, should've been xenial_-_advanced LOL)
Github link -
@kugiigi I haven't understood very well how it would work, but I'd put the back button over the space bar and the two arrows instead of the numbers button (?123) and the enter button
-
I've listed short descriptions of the functionalities that I added in the branch I linked.
The "back" button exits the "cursor mover" mode without waiting for the timeout. The arrow keys work like Home and End keys. i originally put them at the bottom but there are tendencies where the user activate the cursor mover swipe and then reswipe again on the same spot so putting the back button there would be a hindrance. The arrow keys would be good to be at the bottom though. -
Here's a very clear and professionally created video showing the things I've implemented in the OSK so far
Next thing I will experiment with is the dark mode which I've already shown in the telegram groups.
Please note that all my works aren't yet PR-ready and on the "hacky" side of things -
Here's some screenshots from my tinkering with dark mode (SuruDark).
Numpad
Normal
Extended Keys
Magnifier