Touchscreen, Trackpad and Keyboard issues - Help me RTFM

Hello,
I’ll try to be brief because I don’t want to waste too much of your time and I’m usually quite verbose by nature.

This is my first post, so… Hi there, pleased to meet you all!

I have limited experience in using Linux (Debian-based and a touch of RHEL) but basically none in managing system files/settings/configs and most importantly I’ve started using EndeavourOS about 16h ago and it’s my first experience with Arch.

I just bought a new 2-in-1 convertible laptop - Lenovo Ideapad Flex 5i 14" - and this PC is gonna be my main driver.

inxi -FAZ --no-host

My plan from the start was to fully dedicate myself to Linux (after taking a quick look at Win11, the OS this PC shipped with, but it took me about 30 minutes of disgust to decide to make the jump).
I chose Arch because of the challenge, but chose EndeavourOS for the reduced initial complexity and to ease my learning curve. I chose GNOME just because I got the impression it was the most suitable for a Touchscreen/Tablet-like experience and for the supposed Stylus pen integration.

Looks like I was wrong, or at least some tweaking is gonna be necessary.
I’m posting this questions on the /desktop-environments/gnome section because:

  1. When booting from the Live USB I did some (admittedly) hasty testing and kind-of I found everything working as intended: almost all the FN keys were working like in Windows (even the “screen going completely off when setting brightness to the minimum”), the stylus was working, the screen was rotating and the keyboard and touchpad where being correctly deactivated and reactivated when I folded the display… If that was only Xfce, I couldn’t wait for GNOME!
  2. Most importantly, I suppose the required adjustments do pertain the DE directly.

As I said I’m here for the challenge and for learning opportunity, and my PC is otherwise serviceable, so I’m mostly looking for someone to point me to the right path rather than a plug-and-play solution (but I wouldn’t complain).

Here’s what issues I’m struggling with - from most to least impacting:

  1. Touchscreen - Single Left-Click behaviour only
    I can’t “long-touch-for-right-click” and can’t even scroll pages. The multi-touch is technically working but only for the three-finger-workspace-shift gesture (like on the touchpad) and nothing else (pinch-to-zoom or such).

  2. Touchpad - Deactivates but doesn’t Re-Activate
    When I fold the screen to go to into “Tablet mode” both the keyboard and the touchpad get correctly deactivated. An overlay icon quickly appears on the lower-center of the screen to signal the touchpad has been deactivated. When I fold the screen to go back into “Laptop mode” a similar (but opposite) overlay appears, signaling that the touchpad has been reactivated. In reality only the keyboard is active and the touchpad remains deactivated from the system settings (GUI).

  3. Screen - Doesn’t rotate
    In “Tablet mode”, I’m supposed to be able to rotate the screen around and have it adapt to any of the four positions. It doesn’t even do the 180° flip when I fold the screen.

  4. Stylus - Nothing more than a precise finger
    The stylus does kind-of work, but it’s nothing more than a precise finger and lacks integration for the function-buttons. Somehow I think that the palm-rejection is working, at least.

  5. Keyboard - Applying a custom keymap
    The PC came with an italian keyboard layout, which has a way too handy but useless § symbol and an uncomfortable-to-reach /. I was attempting to swap the placement of the two. I edited the existing keymap and made my own, but I’m struggling to apply it.
    I tried the command:
    localectl set-keymap --no-convert <full/path/to/keymap.map[.gz]>
    but I get:
    Failed to set keymap: Failed to check keymap <full/path/to/keymap.map[.gz]>: Invalid argument
    and I don’t find meaningful answers on the internet.
    The current localectl status is:

   System Locale: LANG=en_US.UTF-8
                  LC_NUMERIC=it_IT.UTF-8
                  LC_TIME=it_IT.UTF-8
                  LC_MONETARY=it_IT.UTF-8
                  LC_PAPER=it_IT.UTF-8
                  LC_NAME=it_IT.UTF-8
                  LC_ADDRESS=it_IT.UTF-8
                  LC_TELEPHONE=it_IT.UTF-8
                  LC_MEASUREMENT=it_IT.UTF-8
                  LC_IDENTIFICATION=it_IT.UTF-8
       VC Keymap: it2
      X11 Layout: it
     X11 Variant: winkeys

I’m not even sure why it’s using both ‘it’ and ‘it2’ but the actual behaviour is kind of a mix of both.

For all of these issue (except #5) I suppose it’s all a matter to either install or activate/enable the correct kernel module, but even if I know how to do that I wouldn’t even begin to know how to find out which one is right. For #5 it’s actually of minor importance but would be a nice-to-have.

I don’t know what else to add, except “thanks in advance to anyone who can point me in the right direction- or at least try”

[PS: For troubleshooting purposes I tried a live of the latest Fedora (with GNOME). #1 and #3 work are not present, while #2 is a shared issue. Forgot to test #2, while I skipped testing #4 voluntarily]

It maybe a long shot. But #1 gnome uses Wayland by default, you could try logout and start in X11 instead. #2 you could try lts vs. current kernel.

Welcome to the forum :grin:

Edit: and also search the forum, there are a couple of tips about touch devices and gnome. I don’t have such a device and am not much of help. You could try to also ping these other users by typing @ and their names in a comment box. Looks like a couple managed to use touch and gnome.

Hello Zircon34,
thanks for the reply and for the welcome :grin:

I did my searching before posting here (I don’t usually expose myself like that). I wasn’t able to find anything useful, and I didn’t list all the non-useful info I found because the post was already long enough.
But I can try tagging/mentioning people, as you suggested, if the issue is at least similar.

I’m not sure about Wayland, as I suppose it’s the standard on Fedora GNOME as well and it works fine there. Also I tried selecting “GNOME on Xorg” at the login screen (assuming that’s what you meant) but did not get any improvement. On the contrary I lost the 3-finger gestures on the touchpad.
On the bright side at least now I have an idea about what Display Server Protocols are.

I might try the lts kernel, why not.

1 Like

I installed and used akm to select the lts kernel, so I downgraded and rebooted.
Now I have the long-press-for-right-click on the desktop/apps drawer, but not inside apps (like Firefox or Settings). Maybe it needs to be enabled somewhere? Is this an app-by-app toggle thing?

Everything else is the same.

I guess we’re making progresses…?

Just note you can have both installed, and they show up at boot, so you can select. It’s also good as a fallback in case something goes haywire in the newest kernel. I hope you get some help, don’t hesitate to post in this forum, the community is welcoming and helpful.

Just based on this post, looks like some extensions are problematic. Do you have any extensions enabled or vanilla gnome?

Sorry for basic questions but then we can discard the obvious.

UPDATE:
I think I definitely solved #1 and half-solved #2 with a combination of:

  • Downgrade kernel to lts to get the long-press-right-click (in the desktop and “Activities” and All-apps list);
  • Adding MOZ_ENABLE_WAYLAND=1 in /etc/profile which unlocked the finger-scrolling and pinch-to-zoom both on Firefox as in other apps (like the image viewer) as well as the long-touch-right-click globally and partial advanced behaviour on the stylus (one button now gives me the right-click), AND the touchpad gets unlocked after I fold+unfold the PC.

In exchange now the on-screen keyboard has become invasive and shows up every time I click on a form field which causes the trackpad to either die or stop click-ing or start translating clicks into ‘a’ while the screen-keyboard is open (somewhere in the background).

Thinks are surely moving!!

1 Like