Pi Official 7" Touch Screen - some problems

Ultimately I need to enable a keyboard and several single touch capabilities to implement a Kiosk mode Pi solution.

I would like to free up real estate on the screen and use a non menu solution. However at this time I am being forced in the direction of a menu system due to problems with getting DesktopBevelButton to work as a button or Menu using touch.

I have searched Rasp Forums online and it appears touch screen has problems using touch. I attempted to also use key down event but did not work as well. A mouse works fine. However the end solution will not have a mouse or keyboard and eventually I will need to display a keyboard to enable filling in such things as IP address or WiFi SSID, Username, Password etc as needed for setup and configuration needs.

I have found a few problems using the official 7" touch screen using a Pi5

  1. In normal desktop mode running standard Pi OS Double click does not work. Meaning you cannot open a file. I have attempted to use ‘sed -i -e ‘s/single_click=0/single_click=1/’ ~/.config/libfm/libfm.conf’ to enable single click however that also fails.

  2. Touch itself seems not to work as mouse. I again have looked on Rasp Forums and have not found a solution.

It appears to be a driver problem as a touch should be interpreted as a mouse hover that is clearly not what’s happening.

Wondering if anyone else has come across this and what if any direction or solutions others may have come across.

did you try someting like:

Add file:

first copy the content below then paste into this file by the command:
sudo nano /etc/X11/xorg.conf.d/90-pointer.conf
CTRL+ O to save, CTRL + X to exit then reboot

put the content in it:

Section "InputClass"
	Identifier "evdev pointer catchall"
	MatchIsPointer "on"
	MatchDevicePath "/dev/input/event*"
	Driver		"evdev"

google search for “xorg touch to mouse”

I am still using Pi 3B with Official 7" screens and ended up with my own on-screen keyboards, tailored in size/shape deepening on type of data the user is being expected to type in. While it is difficult to point with a finger at (somewhat) small menu items, BevelButtons do work. Double click with finger (i.e. to open a file) is possible but You need to be quick :wink: Unclutter removes a cursor from screen. Maybe it is Pi 5 thing…?

Not sure about Pi5 aspects which could be a part of this. From what I have read to include what @DerkJ has sent it appears there are some aspects of a touch screen acting as a mouse that may not work. I have used the link @DerkJ provided and came across a few others that point to inconsistency on touch screen functionality when you need it to work as a mouse as well as keyboard needs.

I have played with one touch on this forum without success - https://forums.raspberrypi.com/viewtopic.php?t=336025

I have found a difference between X11 and the default Wayland. This mainly for screen saver but is also integrated into touch panel drivers.

This will be a great platform to use a touch screen control device that acts as if it were a keyboard less and mouse less smart device.

If you use this ‘Official Raspberry 7 inch screen will no longer respond to touch inputs’ or ‘rasp pi touch screen touch does not work as a mouse’ in a search there are a significant number of problems with the PI - Touchscreen combination Pi 3 or Pi 4. Weeding through this is just time consuming.

Will keep digging. There must be a solution as this is a popular platform and it makes sense to use a touchscreen.

Can you share your keyboard implementation? I assume (and I don’t like to assume) that since you created this you literally pop it up when you need it.

With respect to double touch as and Pi5 but it appears to be more to the area selected for double touch. I say this because using a touchscreen pen and I can get double touch to work. So I am now looking to find out how to control the ‘touch area’ and timing between double touch.

I also notice as I change screen resolution double touch or touch in general response changes

I have dozens of Pi deployed on manufacturing plant - at job stations - where operators are required to input some data. Screen size of just 7" was just too smal to use solutions like matchbox keyboard etc. and such solution was apparent on the screen all the time, covering important areas. I ended up with this approach:

  • whatever can be barcode scanned - it is, via KeyDown event and USB barcode scanner (acts as keyboard)
  • if there is numerical value to be entered - TextField is always set to ReadOnly and by MouseDown event I am opening new window as modal, specially designed to input and validate the data - with 0-9, “.” and delete BevelButton keys plus “accept”. “Accept” sets the value to parent windows’s text field and the window closes itself.
  • with alfanumerical value - the same, but I made a lot of efforts to limit the number of characters entered, e.g. only selected letters needed to mark production batches, etc. Theoretically, you can make an entire keyboard, but here again we have the problem of too small “keys” for 7".
  • I am avoiding “double click/double touch” approach since it is tricky to be performed easily… so just buttons.

@Pawel_Soltysinski - I hear that however when I consider the functionality of a smart device such as iPhone, Droid, Tablet etc whose screens are smaller than a 7" touch screen and those devices work for long periods of time with keyboards that work just great then something does not add up.

I do recognize what you are saying however this should work when compared to other similar solutions

I think I will try to use new popover feature to get keyboard when I needed.

this, 40 minutes keyboard hacking should give You a hand :slight_smile:

PopOverKeyboard project

I wanted to PopOver container but… bevel buttons don’t work… a bug…?

1 Like

@Pawel_Soltysinski - nice keyboard layout. This is something I had in mind.

I too have come across Bevel Button problems on Rasp Pi either as a button or a menu on Rasp Pi using touch. This works with a mouse. IMHO I think this is a bug but not certain how to isolate between Rasp drivers or XOJO.

I do know this that VS can use its equivalent of a BevelButton and PopUp Menus so it appears this is a XOJO piece integrating into Rasp Pi.

Any XOJO Gurus out there who maybe can shed some light on how to proceed?

@Pawel_Soltysinski - That is a good keyboard solution you created. On a Easp Pi 5 the action is good even with a finger. Much better with a touch pen but this is really a good solution - thank you

I am so glad You liked it :slight_smile: I hope You have tailored it to Your needs.

I have updated the project file a bit so anyone can simply redownload it from my post above. Changes are:

  • corrected the bug when typing space inside a string (new cursor position is now correct)
  • keyboard modes switch now is a bit smarter
  • takes care about source TextField.MaximumCharactersAllowed
  • now you pass object reference (of source DesktopTextField) to the popover window to make it universal / usable with any DesktopTextField (original file was just hard-pointing to exact TextField on parent window; it was proof of concept…)
1 Like

Very nice - thanks.

I see what you have described and am going in the same direction. No menus. Will create a solution using BevelButtons. Will work to resolve aspects when used in PagePanels

Part of this integration will need to include a way to use C++ or Python or cgi calls to module drivers for temperature, humidity, elevation, output solenoid… using XOJO.