UBports Robot Logo UBports Forum
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Search
    • Register
    • Login

    OSK Enhancements Proposals

    Scheduled Pinned Locked Moved OS
    92 Posts 21 Posters 34.3k Views 5 Watching
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
      Reply
      • Reply as topic
      Log in to reply
      This topic has been deleted. Only users with topic management privileges can see it.
      • K Offline
        kugiigi @doniks
        last edited by

        @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

        1 Reply Last reply Reply Quote 1
        • D Offline
          doniks
          last edited by

          @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.
          
          1 Reply Last reply Reply Quote 0
          • K Offline
            kugiigi
            last edited by

            Finally got it to compile. The working branch is xenial.
            Now let's see if I can put my ideas into reality 😄

            1 Reply Last reply Reply Quote 0
            • K Offline
              kugiigi
              last edited by

              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 😛

              1 Reply Last reply Reply Quote 0
              • H Offline
                haveaniceday
                last edited by haveaniceday

                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 the TouchEnd event, rather than TouchBegin. Pressing any other key in the meantime cancels the action.
                • Touch-and-hold the ?123, then touch-and-release the a button selects all text in the current focus UI element.
                • Touch-and-hold the ?123, then touch-and-release the c button copies selected text.
                • Touch-and-hold the ?123, then touch-and-release the x button cuts selected text.
                • Touch-and-hold the ?123, then touch-and-release the v button pastes the current clipboard content.

                Basically like a conventional keyboard, but the ctrl key is simulated by ?123.

                What do you think?

                K 1 Reply Last reply Reply Quote 0
                • H Offline
                  haveaniceday
                  last edited by

                  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.

                  1 Reply Last reply Reply Quote 1
                  • K Offline
                    kugiigi @haveaniceday
                    last edited by

                    @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 🙂

                    1 Reply Last reply Reply Quote 0
                    • K Offline
                      kugiigi
                      last edited by kugiigi

                      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 them 🙂

                      Here's a couple of screenshots of the current state.

                      0_1543262059798_screenshot20181127_031257251.png
                      1_1543262059800_screenshot20181127_031307113.png

                      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

                      mymikeM 1 Reply Last reply Reply Quote 3
                      • mymikeM Offline
                        mymike @kugiigi
                        last edited by

                        @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

                        1 Reply Last reply Reply Quote 0
                        • K Offline
                          kugiigi
                          last edited by

                          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.

                          1 Reply Last reply Reply Quote 1
                          • K Offline
                            kugiigi
                            last edited by kugiigi

                            Here's a very clear and professionally created video showing the things I've implemented in the OSK so far 😄

                            Video Demo

                            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 😄

                            jezekJ 1 Reply Last reply Reply Quote 1
                            • K Offline
                              kugiigi
                              last edited by

                              Here's some screenshots from my tinkering with dark mode (SuruDark).

                              Numpad
                              0_1543392600525_screenshot20181128_160615413.png

                              Normal
                              0_1543392603412_screenshot20181128_160627316.png

                              Extended Keys
                              0_1543392605705_screenshot20181128_160657009.png

                              Magnifier
                              0_1543392607756_screenshot20181128_160706316.png

                              1 Reply Last reply Reply Quote 2
                              • D Offline
                                doniks
                                last edited by

                                Niiice. Got a screenshot with a darkmode app?

                                1 Reply Last reply Reply Quote 0
                                • K Offline
                                  kugiigi
                                  last edited by

                                  @doniks
                                  Here 🙂

                                  0_1543397765622_screenshot20181128_173447104.png

                                  1 Reply Last reply Reply Quote 1
                                  • jezekJ Offline
                                    jezek @kugiigi
                                    last edited by

                                    @kugiigi said in OSK Enhancements Proposals:

                                    Here's a very clear and professionally created video showing the things I've implemented in the OSK so far 😄

                                    Video Demo

                                    Thumbs up. Does it work with terminal app too?

                                    jEzEk

                                    K 1 Reply Last reply Reply Quote 0
                                    • mymikeM Offline
                                      mymike
                                      last edited by

                                      but in selection mode you can move only one of the two cursor, am I right?
                                      starting dragging the thumb from the left part of the osk could move the start-selection cursor while starting dragging in the right part could move the end one

                                      1 Reply Last reply Reply Quote 0
                                      • K Offline
                                        kugiigi @jezek
                                        last edited by

                                        @jezek most likely they will work but the terminal app already has the keyboard shortcuts which are actually more and more useful there.

                                        @mymike That would be cool but I don't now if there are keyboard shortcuts that do those. Currently, the keys/shortcuts in the OSK are just mapped to actual keyboard shortcuts.

                                        1 Reply Last reply Reply Quote 0
                                        • K Offline
                                          kugiigi
                                          last edited by

                                          Here's a better version of a demo video. This already includes all the work I've done so far. Please ignore my incorrect grammars and bad typing 😛

                                          Better Demo Video

                                          1 Reply Last reply Reply Quote 1
                                          • L Offline
                                            L-00117 Banned @matteo
                                            last edited by

                                            This post is deleted!
                                            K 1 Reply Last reply Reply Quote 0
                                            • K Offline
                                              kugiigi @L-00117
                                              last edited by

                                              @marvolichko Compiling creates deb files (if no-debs parameter was not used) and you'll have to use crossbuilder deploy to copy to your device via ADB. I get an error though for the actual installation so I do them manually.
                                              As for your concern, unfortunately you really can't pick things to install aside from the languages. Trying this out will always have the risk to break your OSK. In case of breakage, you can build the xenial branch from the original repo and install from there 🙂

                                              1 Reply Last reply Reply Quote 1
                                              • First post
                                                Last post