Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Provide a virtual keyboard #17

Open
parazyd opened this issue Oct 19, 2017 · 24 comments
Assignees

Comments

@parazyd
Copy link
Member

@parazyd parazyd commented Oct 19, 2017

Since the A33 tablets are missing a hardware keyboard unlike N900 and Droid4, we need to figure out a good way to provide a virtual keyboard. My guess is that the one from maemo is probably reusable for this task.

@freemangordon freemangordon self-assigned this Oct 19, 2017
@freemangordon

This comment has been minimized.

Copy link

@freemangordon freemangordon commented Oct 19, 2017

Will look at what is the status of hildon-im, most if not all of it should be FOSS/REed

@MerlijnWajer

This comment has been minimized.

Copy link
Member

@MerlijnWajer MerlijnWajer commented Oct 25, 2017

18:04 * parazyd would like a virtual keyboard soon tbh
18:04 < freemangordon> parazyd: you may start working on it, if you wish, most of the code is REed
18:05 < parazyd> where is it?
18:06 < freemangordon> https://github.com/community-ssu/hildon-input-method-plugins
18:06 < parazyd> thanks, i'll give it a look
18:06 < freemangordon> https://github.com/community-ssu/hildon-im-vkbrenderer3
18:06 < parazyd> anything i should know?
18:06 < freemangordon> and hildon-input-method itself, which should be FOSS, iirc
18:07 < parazyd> perhaps i'll ask jonwil too
18:07 < freemangordon> it was long time ago I REed that, cant recall anything specific
18:07 < parazyd> ack
18:07 < freemangordon> parazyd: also, http://repository.maemo.org/pool/fremantle/free/h/
18:07 < freemangordon> for hildon-input-method code
18:08 < parazyd> got it
18:08 < freemangordon> I think I have access to git repo as well, but don;t have time now

@MerlijnWajer

This comment has been minimized.

Copy link
Member

@MerlijnWajer MerlijnWajer commented Oct 25, 2017

hildon-input-method-framework-dev seems to be required too

@jonwil

This comment has been minimized.

Copy link

@jonwil jonwil commented Oct 26, 2017

There are still quite a few bits of hildon-input-method and the input subsystem that aren't FOSS/in CSSU:
hildon-im-common-virtual-settings
hildon-im-keyboard-assistant
hildon-im-keyboard-assistant-scv
hildon-im-plugin-base-settings (contains no binaries)
hildon-im-virtual-keyboard-layouts (contains no binaries)
hildon-input-method-configurator
hildon-input-method-plugins-western (contains no binaries)
hildon-input-method-widgets (contains no binaries)
imengines-ezitext
libezitext
libimengines4
libimengines-wp4
libimlayouts0
maemo-input-sounds
osso-applet-textinput
ezitext-czech
ezitext-danish
ezitext-dutch
ezitext-english-gb
ezitext-english-us
ezitext-essential-plugins
ezitext-finnish
ezitext-french-ca
ezitext-french-fr
ezitext-german
ezitext-greek
ezitext-italian
ezitext-norwegian
ezitext-polish
ezitext-portuguese-pt
ezitext-russian
ezitext-spanish-es
ezitext-spanish-us
ezitext-swedish

We probably dont need the ezitext and all that word prediction stuff (unless we want word prediction and there are no alternative choices available) and we can probably get away without the control panel stuff for now but other stuff on that list looks important.

@freemangordon

This comment has been minimized.

Copy link

@freemangordon freemangordon commented Oct 26, 2017

Maybe this one https://github.com/joaquimrocha/text-predictor-input-method worths looking at, as ezitext replacement

@dderby

This comment has been minimized.

Copy link
Member

@dderby dderby commented Feb 6, 2018

This may not be a priority but I'd like to have a virtual keyboard for the console. I know of these two:
https://github.com/julianwi/fbkeyboard
https://github.com/postmarketOS/osk-sdl

@MerlijnWajer

This comment has been minimized.

Copy link
Member

@MerlijnWajer MerlijnWajer commented Feb 6, 2018

Right. Perhaps it'd be sensible to make a separate issue for that one? This one is about a keyboard in X.

Side note: If you want such a keyboard to unlock an encrypted partition, we are thinking about tackling that slightly different, much like google chromeos does, with dm-verity. Maybe we should make a separate ticket for that too.

@dderby

This comment has been minimized.

Copy link
Member

@dderby dderby commented Feb 18, 2018

Did the Nokia 770 or N800 come with a virtual keyboard we could use?

@dderby

This comment has been minimized.

Copy link
Member

@dderby dderby commented Feb 18, 2018

I've opened #79 for the console virtual keyboard.

@MerlijnWajer

This comment has been minimized.

Copy link
Member

@MerlijnWajer MerlijnWajer commented Jul 14, 2018

Here are the steps/instructions for doing this on the raspi or n900, it's all WIP, and we'll try to have most of it packaged soon:


Packages:

* libimengines4
* hildon-im-fkb
* hildon-im-plugin-base-settings
* hildon-input-method-configurator
* hildon-input-method
* hildon-im-keyboard-assistant
* libhildon-im-vkbrenderer3
* osso-applet-textinput

Install them.

/etc/default/keyboard
  
    XKBMODEL="nokiarx51"

Copy /usr/share/keyboards from fremantle.
Copy /usr/share/hildon-input-method/himrc from fremantle.
Replace "sapwood" with "pixmap" in himrc (for now)

Run:

* hildon-input-method-configurator.bin (as root)

Reboot.

Start hildon-input-method as user
Open settings, text input, enable virtual keyboard

On n900, you currently need:

    gconftool --type bool -s /system/osso/af/keyboard-attached false
@MerlijnWajer

This comment has been minimized.

Copy link
Member

@MerlijnWajer MerlijnWajer commented Aug 2, 2018

I think we're getting pretty close. I've just created hildon-input-meta repo and will turn that into a meta package. That should help us with the next image.

@MerlijnWajer

This comment has been minimized.

Copy link
Member

@MerlijnWajer MerlijnWajer commented Aug 2, 2018

@parazyd - can you prepare arm-sdk with the few required 'hacks':

  • /etc/default/keyboard
  • copy /usr/share/keyboards from fremantle
  • copy /usr/share/hildon-input-method/himrc from fremantle
  • replace "sapwood" with "pixmap" in himrc

I've just made a hildon-input-meta package that you can use to get all the required packages installed.

@MerlijnWajer

This comment has been minimized.

Copy link
Member

@MerlijnWajer MerlijnWajer commented Aug 2, 2018

22:22 < Wizzup> freemangordon: I guess /etc/default(s)/keyboard needs to be set before the configurator thing is run, right
22:41 <+freemangordon> yes
22:41 <+freemangordon> Wizzup: ^^^

So those files should ideally be in place before the apt packages are installed.

@freemangordon

This comment has been minimized.

Copy link

@freemangordon freemangordon commented Aug 3, 2018

It should be there before first boot actually

@MerlijnWajer

This comment has been minimized.

Copy link
Member

@MerlijnWajer MerlijnWajer commented Aug 4, 2018

I'll place them in the maemo leste image buulder on post package install then.

@MerlijnWajer

This comment has been minimized.

Copy link
Member

@MerlijnWajer MerlijnWajer commented Aug 25, 2018

Latest image-builder contains all the required input packages, as well as the files mentioned above. There is one thing preventing it from working. The controlpanel text applet segfaults because available_languages is not set to anything. I am not sure if that is a problem or not, but more than that, I am not sure what tool is supposed to set that key (is it set based on /usr/share/keyboards, and when?)

@MerlijnWajer

This comment has been minimized.

Copy link
Member

@MerlijnWajer MerlijnWajer commented Aug 25, 2018

Once I issued this, I was able to enter the controlpanel applet and enable vkb, after which it popped up nicely:

gconftool --list-type string --type list -s /apps/osso/inputmethod '[fi_FI,en_GB,no_NO,da_DK,el_GR,it_IT,pt_PT,es_MX,nl_NL,fr_FR,fr_CA,bg_BG,sv_SE,pl_PL,en_US]

@MerlijnWajer

This comment has been minimized.

Copy link
Member

@MerlijnWajer MerlijnWajer commented Aug 25, 2018

Another note. I added the required extra files -only- to the n900 rootfs-overlay, for now.

@MerlijnWajer

This comment has been minimized.

Copy link
Member

@MerlijnWajer MerlijnWajer commented Aug 28, 2018

With the new hildon-input-meta in place that depends on the package that provides this gconf key, now the only issue remaining is that on first boot, hildon-input-method-configurator is run, but somehow the keys are not yet reflected in the running (system) state. Rebooting the fresh image once it has booted will return in (on second boot) everything working as expected. gconf caching messing with us? Or is there something else running that doesn't re-read the keys?

@MerlijnWajer

This comment has been minimized.

Copy link
Member

@MerlijnWajer MerlijnWajer commented Sep 11, 2018

We should also have the piece of ke-recv in place to set the keyboard slide gconf key.

@parazyd

This comment has been minimized.

Copy link
Member Author

@parazyd parazyd commented Mar 30, 2019

What is the status of this?

@MerlijnWajer

This comment has been minimized.

Copy link
Member

@MerlijnWajer MerlijnWajer commented Mar 30, 2019

We still need keyboard slide monitoring (to change the slide value in gconf) and I think the device still needs a reboot after running the configurator things.

@MerlijnWajer

This comment has been minimized.

Copy link
Member

@MerlijnWajer MerlijnWajer commented Sep 5, 2019

As far as I can see there are a few things to do:

  1. ke-recv-extra only checks once for attached (or not attached) keyboards. Once on startup. It needs to check on input/events. This is key /system/osso/af/keyboard-attached.
  2. ke-recv currently doesn't read/check the slide state of the keyboard at all. It needs to monitor input devices that match certain caps and set the slide key when the slide state changes. This is key /system/osso/af/slide-open.

They could both share/use code from mce's mce-io, I suppose.

@MerlijnWajer

This comment has been minimized.

Copy link
Member

@MerlijnWajer MerlijnWajer commented Sep 5, 2019

That, and we also need to see if we can share the evdev / input-device matching and searching code.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
5 participants
You can’t perform that action at this time.