Thinking about Elive on a tablet

Working on the install of Elive on a Thinkpad Helix2 2nd gen I got to wondering what exactly is a nice feature to have on a tablet specifically and what not.

Elive itself in it's current iteration is not very tablet friendly for a number of a reasons with the most obvious being that the default dpi setting is definitely too small for a tablet.... it should be quite a bit larger to be handled by human fingers, especially the menu. On top a virtual keyboard with a nice theme should already be available when logging in.

I tried to make a list of what I'd like to see if Elive indeed did have a tablet version available and be able to compete with the likes of Android.
Here's what I got:

necessities of a tablet.

  1. Big enough GUI for touch (finger) ... Meaning a dpi setting that';s "finger friendly" and where the menu on cairo-dock is good for that.

    • Due to point #2 the dock should be on the side of the screen and use as little screen-real-estate as possible.
  2. Virtual keyboard (auto-show when disconnected from keyboard) and on lock-screen and login....'onboard' with a nice theme placed at the bottom of the screen.

  3. dedicated hardware button for screen rotation (or auto)

  4. dedicated hardware button for pager (Linux specific and good extra functionality .... Super_L key?)

  5. Gestures like pinch and swipe support for the desktop (egg?)

  6. Apps for a tablet like:

    • xournal
    • mypaint (or krita)
    • calibre (already installed)
    • evince (already there)
    • movieplayer (already there)

- Anybody got additions to this????

Currently M$ Windows has better functionality on a tablet than Linux has and that sucks big time. :shocked:

ARM version is kind of necessary, because most (although not all - case in point, yours) tablets are ARM-based and not x86.

Oww, that hurts, I forgot .... but you are right. :smiley14: albeit tablets are getting discontinued more and more...whatever their provenance.

ARM version was on my todo list for, at the time of the PinebookPro and prolly soon a resurrected tablet (with the same specs) too. :slightly_frowning_face:

OTOH: The x86 (being my personal itch) would at the least have a 'tablet friendly' base to be morphed into the required architecture. It's no good working on 2 different paths (GUI and Arch) simultaneously. :thinking:

1 Like

note that both "touch feautres" and "dpi" things are not very compatible with E16, even if Elive improves it a bit, the best is to switch to E25+, you can try to experiment with this desktop because it has more (and more special) touch features just like a more dynamic dpi system, as we mentioned in other threads is not worth to try implementing better these things in e16 because is more limited to manage these things and is better to put our efforts on E25 which seems everytime more stable and mature.

In fact, if you play with E25 for that you can create a howto about the changes required / suggested for make it more tablet-friendly (there's some settings, virtual keyboards as you said, and even emodules (illume?) that could be loaded for a better handling of that), and we will integrate all them better in the future releases of elive :slight_smile:

About the virtual keyboard, Elive had some features for enable automatically a virtual keyboard on login when the computer doesn't has found any, the piece of code is this one:

    if ! cat /proc/bus/input/devices | grep -qsi "keyboard" ; then
        if ! lsusb | grep -qsi "keyboard" ; then
            if ! dmesg | grep -qsi "keyboard" ; then
                if ! hwinfo --keyboard | grep -qsi "keyboard" ; then
                        # mark that this computer doesn't has a keyboard:
                        echo "keyboard: not found" >> /etc/elive-version
                fi
            fi
        fi
    fi

So basically, try to run these commands as root to see if reaches the step to add this mark on the /etc/elive-version file, if so, elive should always give you a virtual keyboard on desktop login by default (and should include it on lightdm login too)

  1. TODO for E25+, experimenting required :slight_smile:
    1.1 are you suggesting to move cairo-dock in a side when tablet-mode is found? :thinking: this can be easy to integrate when the previous piece of code marks the "keyboard: not found" on a machine
  2. can you confirm the mentioned "auto show virtual keyboard when no keyboard is found" works on your machine, since you have a tablet? also..:
    2.1 auto-show when connect/disconnect will require a dbus / udev entry, this is possible but i think you are the best one to betatest this implementation :slight_smile:
    2.2 lock-screen: i dont think a virtualkeyboard is possible to show on it, or maybe we need a different lock-screen feature (e25+ could have this working by default)
    2.3 lightdm login: virtual-keyboard automatically enabled should work as the previous code explained, but i need you to confirm me that it works or then i should fix / improve the code
  3. we need to know the "xev" detected events to add the e16 bindings for them, if there's not, maybe they are detected via ACPI (on which you can found more answers on google about the trigger of these hardware keys)
    3.1 then, we will need to create a script (or use an existing one) for auto detect and rotate, when this key is pressed
  4. note that there's already different hotkeys for the same purposes enabled in e16 bindings (to maintain some compatibility and user friendly from other OSes known hotkeys), check if other ones satisfy the need (and they should be mentioned on the details of the hotkeys pdf i think), suggestions for improve this on tablet are welcome (what you mean by hardware buttons? note that every tablet has different hardware buttons so this cannot be compatible among different hardwares, unless the "xev" key is a known XF86something one which is a generically-known key)
  5. I think it will only work on e25+ (note that chrome makes it working by default)
  6. review:
    6.1 xournal: betatested,
    6.2: mypaint: already included in the beta's since it doesn't conflict with gimp on bullseye :slight_smile:
    6.3: calibre: included
    6.4: evince: included
    6.5: movie player: included
    6.6: extra: there's also "kodi" and other applications included that are touch friendly

yes because there's tablet-computers that are sell in the market, they need to ship with an operating system, since windows is the one picked for the majority of computers today (and they must be fully functional) they spend money/development on integrating a good tablet integration on them, if their choice would have been linux, same thing would have been happened, so the fault is from the manufacturer's choice (and microsoft extorsion :speak_no_evil: )

Note: This sounds more like a "roadmap" project, so could be good to follow specific "tasks" for its better integration, for now the most important one is to check if "tablet device" is detected correctly with the "keyboard: not found" entry (which this simple entry should mean "we are a touch device")

1 Like
  1. Yes, any bar/panel for that fact and have the virtual keyboard open at the bottom of the screen....in any rotation mode.
  1. Yeah, but it's the same machine that's having speaker issues so I'm having a hard time keeping it stable .... especially because it's an obnoxious UEFI-only, little machine to boot into. :work:

sounds good, let me know about the "keyboard: not found" thing progress and if enables vkeyboard by default on e16 login AND lightdm, so we can continue from this feature

sounds like your tests will be limited to Live mode for now, which is not a bad thing... persistence sometimes is quite useful for try these things (running apug or at least updating a few packages allows to do new tests when rebooting the update-live system)

1 Like

A post was split to a new topic: Auto "Virtual Keyboard for E16 on tablet (helix2)

That by itself is prolly a better idea than forcing E16 to behave. :thinking:

Albeit that E25 has a horrible interface to change key settings and the conf file prolly hidden somewhere in a hidden or poorly accessible .edje. ....... and I really,really want a pager to appear and hide with the 'Super_L' key, as 'autohide' is extremely irritating on a tablet :exploding_head:

For touch on at least E16 'touchegg' and 'touche' look promising.

I'll checkout later to see how it pans out and if the X11 Gnome add-on is needed.

Would be cool if it works. :madness:

that's an EET, and is good for optimizations :slight_smile: :

From https://git.enlightenment.org/enlightenment/efl/src/branch/master/README.md

This library is a data storage, encoding and decoding library designed to be extremely compact, fast and easy to use. It can take data structures directly from memory and serialize them portably to disk, then de-serialize them right back to the same data structures in memory, handling allocation and population of memory all for you in 1 call. It handles indirections such as pointers, linked lists, arrays and hash tables too, so almost any level of data structure complexity can be easily saved and loaded back. It is used for "edj" files by Edje as well as all configuration in Enlightenment, Elementary and Terminology. It supports encryption of data too via SSL, signing of files, as well as various compression techniques. It also supports encoding and decoding of image data in lossless or lossy form.

try to run from that directory the command "eet_conf_unpack_all_files", if you read that (tool) code you can re-pack them later, but you need to be out of E and make sure is well structured to make it work

in the past, I used enlightenment_remote to generate "on the fly" all the combos, im not sure if the actual E25+ has the bindings implemented or not but it was very handy this way

Note about Super_L, as said somewhere else, e16 includes many combos using it with another key (see the combination "4" on the bindings file), this key is a good one to be used like that because it doesn't "isolate" itself when pressing it with another keys, this means that I suggest you to better use with another key for that purpose, like "win + z", so that you can still have many other hotkeys like "win + c", "win + w", etc...

that looks nice!
EFL supports multitouch so I wonder if E25+ is not already ready to use these types of combos :thinking: (maybe not working on e16 but who knows)
UPDATE: wow nice! :eyepopping: it directly works on E16! what a good integration! :applause:

WOW! You beat me to it ..... I hadn't had time to try. :shocked:

OMG this combo is what exactly Elive e16 missed :applause:

    <!-- Elive combos for E16 -->
    <!-- Switch virtual desktops by swipping 3 or 4 fingers -->
    <gesture type="SWIPE" fingers="3" direction="UP">
        <action type="RUN_COMMAND">
            <repeat>false</repeat>
            <command>eesh area move 0 1</command>
            <on>begin</on>
        </action>
    </gesture>
    <gesture type="SWIPE" fingers="3" direction="DOWN">
        <action type="RUN_COMMAND">
            <repeat>false</repeat>
            <command>eesh area move 0 -1</command>
            <on>begin</on>
        </action>
    </gesture>
    <gesture type="SWIPE" fingers="3" direction="LEFT">
        <action type="RUN_COMMAND">
            <repeat>false</repeat>
            <command>eesh area move 1 0</command>
            <on>begin</on>
        </action>
    </gesture>
    <gesture type="SWIPE" fingers="3" direction="RIGHT">
        <action type="RUN_COMMAND">
            <repeat>false</repeat>
            <command>eesh area move -1 0</command>
            <on>begin</on>
        </action>
    </gesture>

Which means, swipe 3 fingers left or right to switch between areas (not virtual desktops)

I think I should implement this feature better on Elive :thinking:

2 Likes

I'll get the tablet up and running ASAP to check.

note: updated code
note2: (as expected), e25+ doesn't needs touchegg, it features these
note3: on my e16 it doesn't works anymore now, no idea why but not going to logout from my desktop at the moment

I need to start touchegg from the terminal to activate.
It's not working as expected with default settings.....it's starts to use a tiling desktop and makes windows dissappear (or iconize) so I have to use 'eesh' to open or close them. :thinking:

Did you install the 'gnome-shell-extensions-x11gestures' too?
I didn't.

No, it just worked as default, but you should comment all other bindings and use the ones from the previous code (or just play with the combinations), but as said, by some reason it doesn't works now (didn't re-login in the desktop yet)

Got the tablet up and indeed it works for the most part.
I do start it from terminal and haven't tried what it does when starting from .e16/startup-applications.list ..... so that might be the issue you're encountering. :thinking:

On top I'm running 3.8.27 (Buster) with kernel 5.7 on this machine due to the sound (Intel firmware) issue so, unsurprisingly it wont upgrade using 'elive-upgrader'.

  • On a side note, considering the last comment: Elive has come a long way since moving away from 3.0.6 ...... kudos for that.

Looks like that I'll hve to put my expectations on hold for now (in regard to sound/speakers) and see what 3.8.30 (or preferably 31) can do for it.

The latest upgrades like 'ulauncher' aren't particularly helpful on a tablet as they require a keyboard (i.e shortcuts) to be really good.....tablets need clickable icons and such.

  • Frankly, they're a drag compared to real laptops....only 'cool' to read Ebooks or watching movies in a train, ship or plane :shocked:
1 Like