Tiny Core Linux

Tiny Core Extensions => TCE Talk => Extension requests => Topic started by: pq5190362 on October 02, 2016, 11:59:48 AM

Title: "Onboard" virtual on-screen keyboard?
Post by: pq5190362 on October 02, 2016, 11:59:48 AM
Hi,

any chance you could add the "Onboard" virtual on-screen keyboard to the Tiny Core Linux repo:

https://launchpad.net/onboard

?

It's the default virtual on-screen keyboard in Ubuntu and it is pretty nice.

Unfortunately the only virtual on-screen keyboard that seems to be currently available from the Tiny Core Linux repo, is xvkbd (http://t-sato.in.coocan.jp/xvkbd/), which is much worse than Onboard and feels very outdated.

Onboard even has features like auto-hide and it can pop up near to the text input field and even has word predictions and so on.

Any chance you could add it?

Regards
Title: Re: "Onboard" virtual on-screen keyboard?
Post by: Misalf on October 03, 2016, 06:19:48 AM
Yes, xvkbd isn't my favorite either.
I tried to build Onboard, which succeeded, but I'm getting
Code: [Select]
$ onboard
Traceback (most recent call last):
  File "/usr/local/bin/onboard", line 32, in <module>
    from Onboard.Exceptions import chain_handler
  File "/usr/local/lib/python3.5/site-packages/Onboard/__init__.py", line 23, in <module>
    from Onboard.utils import Translation
  File "/usr/local/lib/python3.5/site-packages/Onboard/utils.py", line 38, in <module>
    from gi.repository import GLib
ImportError: No module named 'gi'

The web says I'm missing python-gobject but that's installed.
Title: Re: "Onboard" virtual on-screen keyboard?
Post by: bmarkus on October 03, 2016, 06:42:57 AM
What is missing is the gobject-introspection module.
Title: Re: "Onboard" virtual on-screen keyboard?
Post by: Misalf on October 03, 2016, 07:03:58 AM
Have that loaded as well.
Title: Re: "Onboard" virtual on-screen keyboard?
Post by: Juanito on October 05, 2016, 06:26:23 AM
pygobject compiled for python3 is what is missing, see:

http://tinycorelinux.net/7.x/x86_64/tcz/src/py3gobject/compile_py3gobject

..note that you'll need to decide whether to compile against python3.4 or 3.5 and you'll also need pycairo compiled for the same version of python3, see:

http://tinycorelinux.net/6.x/x86_64/tcz/src/py3cairo/compile_py3cairo

have fun  :)
Title: Re: "Onboard" virtual on-screen keyboard?
Post by: Juanito on October 05, 2016, 09:39:58 AM
since it looked like an easier task..

...python3-onboard posted to the corepure64 repo
Title: Re: "Onboard" virtual on-screen keyboard?
Post by: Misalf on October 05, 2016, 04:53:36 PM
Quote
have fun  :)
:p

compile_py3cairo  mentions two patches, which I found here: http://www.linuxfromscratch.org/blfs/view/svn/general/python-modules.html#pycairo
I guess I don't necessarily need pushd and popd?

I'm getting an error that tells me nothing.
Code: [Select]
#!/bin/sh  ::  Tiny Core 7.2  ::  Linux 4.2.9-tinycore

22:48:32 tc@box:/tmp/pycairo-1.10.0/$> patch -Np1 -i ../pycairo-1.10.0-waf_unpack-1.patch
patching file waf
Hunk #1 succeeded at 153 with fuzz 2.
22:48:50 tc@box:/tmp/pycairo-1.10.0/$> PYTHON=/usr/local/bin/python3.5 ./waf unpack
/tmp/pycairo-1.10.0/.waf3-1.6.4-e3c1e08604b18a10567cfcd2d02eb6e6
22:49:02 tc@box:/tmp/pycairo-1.10.0/$> cd /tmp/pycairo-1.10.0/.waf3-1.6.4-e3c1e08604b18a10567cfcd2d02eb6e6/
22:49:10 tc@box:/tmp/pycairo-1.10.0/.waf3-1.6.4-e3c1e08604b18a10567cfcd2d02eb6e6/$> patch -Np1 -i ../../pycairo-1.10.0-waf_python_3_4-1.patch
patching file waflib/Tools/python.py
22:49:23 tc@box:/tmp/pycairo-1.10.0/.waf3-1.6.4-e3c1e08604b18a10567cfcd2d02eb6e6/$> cd ..
22:49:28 tc@box:/tmp/pycairo-1.10.0/$> PYTHON=/usr/local/bin/python3.5 ./waf configure --prefix=/usr/local
  ./options()
Setting top to                           : /tmp/pycairo-1.10.0
Setting out to                           : /tmp/pycairo-1.10.0/build_directory
  ./configure()
Checking for 'gcc' (c compiler)          : ok
Checking for program python              : /usr/local/bin/python3.5
python executable '/usr/local/bin/python3.5' different from sys.executable '/usr/local/bin/python'
Checking for python version              : (3, 5, 2, 'final', 0)
Traceback (most recent call last):
  File "/tmp/pycairo-1.10.0/.waf3-1.6.4-e3c1e08604b18a10567cfcd2d02eb6e6/waflib/Scripting.py", line 93, in waf_entry_point
    run_commands()
  File "/tmp/pycairo-1.10.0/.waf3-1.6.4-e3c1e08604b18a10567cfcd2d02eb6e6/waflib/Scripting.py", line 145, in run_commands
    run_command(cmd_name)
  File "/tmp/pycairo-1.10.0/.waf3-1.6.4-e3c1e08604b18a10567cfcd2d02eb6e6/waflib/Scripting.py", line 138, in run_command
    ctx.execute()
  File "/tmp/pycairo-1.10.0/.waf3-1.6.4-e3c1e08604b18a10567cfcd2d02eb6e6/waflib/Configure.py", line 124, in execute
    super(ConfigurationContext,self).execute()
  File "/tmp/pycairo-1.10.0/.waf3-1.6.4-e3c1e08604b18a10567cfcd2d02eb6e6/waflib/Context.py", line 87, in execute
    self.recurse([os.path.dirname(g_module.root_path)])
  File "/tmp/pycairo-1.10.0/.waf3-1.6.4-e3c1e08604b18a10567cfcd2d02eb6e6/waflib/Context.py", line 127, in recurse
    user_function(self)
  File "/tmp/pycairo-1.10.0/wscript", line 29, in configure
    ctx.check_python_headers()
  File "/tmp/pycairo-1.10.0/.waf3-1.6.4-e3c1e08604b18a10567cfcd2d02eb6e6/waflib/Configure.py", line 217, in fun
    return f(*k,**kw)
  File "/tmp/pycairo-1.10.0/.waf3-1.6.4-e3c1e08604b18a10567cfcd2d02eb6e6/waflib/Tools/python.py", line 146, in check_python_headers
    result=conf.check(lib=name,uselib='PYEMBED',libpath=path,mandatory=False,msg='Checking for library %s in LIBDIR'%name)
  File "/tmp/pycairo-1.10.0/.waf3-1.6.4-e3c1e08604b18a10567cfcd2d02eb6e6/waflib/Configure.py", line 217, in fun
    return f(*k,**kw)
  File "/tmp/pycairo-1.10.0/.waf3-1.6.4-e3c1e08604b18a10567cfcd2d02eb6e6/waflib/Tools/c_config.py", line 357, in check
    ret=self.run_c_code(*k,**kw)
  File "/tmp/pycairo-1.10.0/.waf3-1.6.4-e3c1e08604b18a10567cfcd2d02eb6e6/waflib/Configure.py", line 217, in fun
    return f(*k,**kw)
  File "/tmp/pycairo-1.10.0/.waf3-1.6.4-e3c1e08604b18a10567cfcd2d02eb6e6/waflib/Tools/c_config.py", line 435, in run_c_code
    bld.compile()
  File "/tmp/pycairo-1.10.0/.waf3-1.6.4-e3c1e08604b18a10567cfcd2d02eb6e6/waflib/Build.py", line 190, in compile
    self.store()
  File "/tmp/pycairo-1.10.0/.waf3-1.6.4-e3c1e08604b18a10567cfcd2d02eb6e6/waflib/Utils.py", line 300, in f
    ret=fun(*k,**kw)
  File "/tmp/pycairo-1.10.0/.waf3-1.6.4-e3c1e08604b18a10567cfcd2d02eb6e6/waflib/Build.py", line 164, in store
    cPickle.dump(data,f)
AttributeError: Can't pickle local object 'Context.__init__.<locals>.node_class'
Checking for library python3.5 in LIBDIR : 22:49:51!tc@box:/tmp/pycairo-1.10.0/$>
Title: Re: "Onboard" virtual on-screen keyboard?
Post by: Juanito on October 06, 2016, 02:41:08 AM
a couple more patches are needed for python3.5:

http://tinycorelinux.net/7.x/x86/tcz/src/py3cairo

py3cairo posted
Title: Re: "Onboard" virtual on-screen keyboard?
Post by: Misalf on October 06, 2016, 06:58:43 AM
Ah, gobject-introspection too old..
Title: Re: "Onboard" virtual on-screen keyboard?
Post by: Juanito on October 06, 2016, 07:25:25 AM
too old for python3.5 you mean?
Title: Re: "Onboard" virtual on-screen keyboard?
Post by: Misalf on October 06, 2016, 07:44:31 AM
pygobject-3.22.0
Code: [Select]
Requested 'gobject-introspection-1.0 >= 1.46.0' but version of gobject-introspection is 1.42.0
Title: Re: "Onboard" virtual on-screen keyboard?
Post by: Juanito on October 06, 2016, 07:47:19 AM
I'd suggest to use pygobject-3.14, which more closely matches the vintage of the other gtk+ stuff?
Title: Re: "Onboard" virtual on-screen keyboard?
Post by: Misalf on October 06, 2016, 08:10:45 AM
pygobject-3.16.2 built successfully.
Title: Re: "Onboard" virtual on-screen keyboard?
Post by: Juanito on October 06, 2016, 08:21:14 AM
Great  :)

note the deps needed to get the corepure64 version working:

http://tinycorelinux.net/7.x/x86_64/tcz/python3-onboard.tcz.dep
Title: Re: "Onboard" virtual on-screen keyboard?
Post by: Misalf on October 06, 2016, 08:43:53 AM
Aha, gtk3-gir.tcz was missing and dbus needs to be running.
but
Code: [Select]
onboard
14:41:31.001 WARNING OnboardGtk: D-Bus bindings unavailable  Onboard will start with reduced functionality. Single-instance check, D-Bus service and hover click are disabled.
14:41:31.009 ERROR Config: gsettings schema for 'org.onboard.keyboard' is not installed
Title: Re: "Onboard" virtual on-screen keyboard?
Post by: Juanito on October 06, 2016, 09:03:48 AM
dbus doesn't need to be running, but you do need this in the extension start-up script:
Code: [Select]
#!/bin/sh
glib-compile-schemas /usr/local/share/glib-2.0/schemas
gtk-update-icon-cache -q -f -t /usr/local/share/icons/hicolor
gtk-update-icon-cache -q -f -t /usr/local/share/icons/HighContrast
Title: Re: "Onboard" virtual on-screen keyboard?
Post by: Juanito on October 06, 2016, 09:07:02 AM
..and as per the dep file, you'll need dbus-python3 for the added dbus functionality  ;)
Title: Re: "Onboard" virtual on-screen keyboard?
Post by: Misalf on October 06, 2016, 09:19:52 AM
Never ending story... Thanks for holding my hand. I'll keep digging.
Title: Re: "Onboard" virtual on-screen keyboard?
Post by: pq5190362 on October 22, 2016, 09:42:15 AM
Just wondering:

Have you had any success with this in the meantime  ;) ?
Title: Re: "Onboard" virtual on-screen keyboard?
Post by: Misalf on October 22, 2016, 11:01:16 AM
Got distracted by other things. Will return to this soon. I need an easy onscreen keyboard too.
Title: Re: "Onboard" virtual on-screen keyboard?
Post by: nitram on October 22, 2016, 08:30:14 PM
Not sure if this is helpful. Imported  onboard  in dCore-xenial, complex, 192 packages, didn't even launch. Imported  florence  , 154 packages, launched okay but crashed when using it, might just need some configuration, maybe florcence is an easier alternative to compile.
Code: [Select]
** (florence:17981): WARNING **: Error retrieving accessibility bus address: org.freedesktop.DBus.Error.ServiceUnknown: The name org.a11y.Bus was not provided by any .service files

** (florence:17981): ERROR **: AT-SPI: Couldn't connect to accessibility bus. Is at-spi-bus-launcher running?
Title: Re: "Onboard" virtual on-screen keyboard?
Post by: pq5190362 on October 23, 2016, 08:34:53 AM
Not intending to offend anyone, but Florence is a joke compared to Onboard. If you want to see if for yourself, just boot up Ubuntu 16.10 or one of it's variants in a virtual machine or via a live CD. The latest versions of Onboard and Florence are both available in the Ubuntu Yakkety repositories (or use the Onboard PPA (https://launchpad.net/~onboard/+archive/ubuntu/stable) when you are on 16.04 Xenial).

By the way, just noticed that the Qt Virtual Keyboard has been open sourced this year:

http://code.qt.io/cgit/qt/qtvirtualkeyboard.git/
http://doc.qt.io/QtVirtualKeyboard/index.html
http://blog.qt.io/blog/2016/01/13/new-agreement-with-the-kde-free-qt-foundation/
http://plfiorini.blogspot.de/2016/04/qt-virtual-keyboard-support-on-hawaii.html?m=1

It looks pretty incredible and even better than Onboard, see following two videos:

https://youtu.be/yIsQHinTw00
https://youtu.be/EyeDZLGIwbM

 :)

Maybe Qt Virtual Keyboard would be an even better option  :)?

Wasn't able to try it out yet, since unfortunately no Linux distribution seems to have packaged it yet...  :(
Title: Re: "Onboard" virtual on-screen keyboard?
Post by: pq5190362 on October 24, 2016, 07:02:49 AM
Looks like the Qt Virtual Keyboard seems to be part of Qt 5.7:

https://lists.debian.org/debian-kde/2016/03/msg00033.html

 :D

Qt 5.7 is available in the 64-bit repo:

http://repo.tinycorelinux.net/7.x/x86_64/tcz/qt-5.x-all.tcz.info

But has anyone any idea how to actually start the Qt Virtual Keyboard?

Did:

Code: [Select]
export QT_IM_MODULE=qtvirtualkeyboard
export GTK_IM_MODULE=qtvirtualkeyboard

as suggested on:

http://plfiorini.blogspot.com/2016/04/qt-virtual-keyboard-support-on-hawaii.html

but it doesn't seem to work.

The keyboard is not showing up when putting the cursor in a text field.

Anyone here who has more luck?

Entering qtvirtualkeyboard into a terminal also does not launch the keyboard.
Title: Re: "Onboard" virtual on-screen keyboard?
Post by: Misalf on October 24, 2016, 07:42:04 AM
Florence seems to be tightened to gnome. Don't know how many dependency holes I would encounter. I'm not interested in building that.
Qt Virtual Keyboard doesn't seem to be a stand alone app? Also quite some heavy deps just for a keyboard.
Title: Re: "Onboard" virtual on-screen keyboard?
Post by: pq5190362 on January 31, 2017, 04:14:51 AM
Did you succeed in building it?
Title: Re: "Onboard" virtual on-screen keyboard?
Post by: Misalf on January 31, 2017, 05:16:30 AM
No. I'll stick with XVKBD for now. It's old but works and doesn't need a ton of deps.