WelcomeWelcome | FAQFAQ | DownloadsDownloads | WikiWiki

Author Topic: On screen keyboard  (Read 1719 times)

Online Paul_123

  • Administrator
  • Hero Member
  • *****
  • Posts: 1239
On screen keyboard
« on: June 21, 2023, 09:04:21 PM »
Anyone know of a working on screen keyboard for Firefox in kiosk mode?  I only have a touchscreeen connected.

Firefox runs nicely in Xorg, without a window manager.   There are onscreen keyboard extensions for Firefox, but they don’t appear to work.

Offline Rich

  • Administrator
  • Hero Member
  • *****
  • Posts: 11573
Re: On screen keyboard
« Reply #1 on: June 21, 2023, 11:56:33 PM »
Hi Paul_123
I just tried  xvkbd.tcz  on a netbook with a touch screen and
it worked with Firefox. Touch the key labeled  Focus  then
touch the window to send the keystrokes to. I did this under
TC10 x86 with  xvkbd Ver. 3.0-1.  I suspect you will need to
run a window manager since Firefox and xvkbd each need
their own window.

The source for version 4.0 can be found here:
http://tinycorelinux.net/10.x/x86_64/tcz/src/xvkbd/
It depends on  libXaw3d.tcz

The source for version 3.0-1 was in the TC2 repo and is
probably lighter. If you want a copy, let me know.

aus9

  • Guest
Re: On screen keyboard
« Reply #2 on: June 22, 2023, 12:21:37 AM »
I just built it roughly on piCore64-14.x no build script etc

http://t-sato.in.coocan.jp/xvkbd/xvkbd-4.1.tar.gz

https://imgur.com/a/u4sguhE
image link highlights that is has word completion and a menu which I am mouse hovering over

I was unable to build it without some packages as per
Code: [Select]
readelf -d /usr/local/bin/xvkbd | grep 'NEEDED'
 0x0000000000000001 (NEEDED)             Shared library: [libXaw.so.7]
 0x0000000000000001 (NEEDED)             Shared library: [libXt.so.6]
 0x0000000000000001 (NEEDED)             Shared library: [libX11.so.6]
 0x0000000000000001 (NEEDED)             Shared library: [libXmu.so.6]
 0x0000000000000001 (NEEDED)             Shared library: [libXtst.so.6]
 0x0000000000000001 (NEEDED)             Shared library: [libc.so.6]
 0x0000000000000001 (NEEDED)             Shared library: [ld-linux-aarch64.so.1]

to build it to allow make install complete, at my skill level I had to do this
for direct injection testing
Code: [Select]
sudo mkdir -p /etc/X11
KB layouts
Quote
ls /etc/X11/app-defaults/
XVkbd          XVkbd-fitaly   XVkbd-greek      XVkbd-jisx6002  XVkbd-norwegian    XVkbd-small   XVkbd-swissgerman
XVkbd-belgian  XVkbd-french   XVkbd-hebrew     XVkbd-jisx6004  XVkbd-portuguese  XVkbd-spanish   XVkbd-turkish
XVkbd-common   XVkbd-french2  XVkbd-icelandic  XVkbd-korean    XVkbd-russian    XVkbd-strip   XVkbd-turkishF
XVkbd-danish   XVkbd-german   XVkbd-italian    XVkbd-latin1    XVkbd-slovene    XVkbd-swedish   XVkbd-uk

like Rich I found it quite usable and there is an online man page
https://helpmanual.io/man1/xvkbd/

« Last Edit: June 22, 2023, 12:29:09 AM by aus9 »

Online Paul_123

  • Administrator
  • Hero Member
  • *****
  • Posts: 1239
Re: On screen keyboard
« Reply #3 on: June 22, 2023, 07:41:55 PM »
So this extension actually did work.  https://addons.mozilla.org/en-US/firefox/addon/fx-osk/  But it required changing the setting "xpinstall.signatures.required" to false

I'll experiment with xvkbd.   jwm doesn't seem to be intrusive.

aus9

  • Guest
Re: On screen keyboard
« Reply #4 on: June 23, 2023, 01:32:08 AM »
Quote
jwm doesn't seem to be intrusive.
I have never run kiosk mode

if your intention is to have no keyboard can I suggest for jwm you have a peep at
~/.jwm-tray

eg change FF button if you need to from 
<TrayButton label="FF">exec:firefox-perf</TrayButton>

probably remove all  buttons  except FF and x and maybe add if you like it

<TrayButton label="Keyboard">exec:xvkbd</TrayButton>

I have a mouse rather than a touch screen. Suggest you play with the height of the tray currently set at 20.
Suggest you move the X (exittc) button next to the FF button?


Online Paul_123

  • Administrator
  • Hero Member
  • *****
  • Posts: 1239
Re: On screen keyboard
« Reply #5 on: June 23, 2023, 09:07:39 AM »
Touchscreens can be a bit small.   I don’t even want a tray.  Luckily kiosk mode covers it.   And there is no way to exit out of Firefox.  (Except to kill it from ssh).   And because it’s piCore, you can just pull the plug to shut it off.

It is weird that Firefox doesn’t seem to always be able to figure out screen resolution without a window manager running. Anyway.  It works with jwm

Offline patrikg

  • Wiki Author
  • Hero Member
  • *****
  • Posts: 708
Re: On screen keyboard
« Reply #6 on: June 25, 2023, 03:31:21 PM »
In chrome in kiosk mode there are settings to set the screen size, may be there some settings for firefox as well ?

Here are some settings for chrome i have seen for kiosk mode for raspberry pi. An this is not running with some window manager
Code: (bash) [Select]
# screen size
width="1920"
height="1080"

# url
url="https://dev.to"

chromium-browser $url --window-size=$width,$height --window-position=0,0 --kiosk --no-sandbox --full-screen --incognito --noerrdialogs --disable-translate --no-first-run --fast --fast-start --ignore-gpu-blacklist --disable-quic --enable-fast-unload --enable-tcp-fast-open ---enable-native-gpu-memory-buffers --enable-gpu-rasterization --enable-zero-copy --disable-infobars --disable-features=TranslateUI --disk-cache-dir=/tmp

Get from this url:
https://dev.to/nesterow/setup-minimal-kiosk-environment-with-alpine-linux-27b

And what i can see there an option -foreground for firefox. maybe when running without window manager this option will get the result that you ask for.

« Last Edit: June 25, 2023, 03:40:52 PM by patrikg »

Online Paul_123

  • Administrator
  • Hero Member
  • *****
  • Posts: 1239
Re: On screen keyboard
« Reply #7 on: June 25, 2023, 06:20:38 PM »
Firefox is a bit more limited.  Screen size refused to set from command line.   But what did work.  In the profile directory, there is a file called xulstore.json  Setting things in there worked fine.

{"chrome://browser/content/browser.xhtml":{"main-window":{"sizemode":"normal","screenX":"0","screenY":"0","width":"800","height":"480"}}}

I thought it was a bit comical that they are using the chrome: keyword in the file.