Login
Username:

Password:

Remember me



Lost Password?

Register now!

Sections

Who's Online
159 user(s) are online (97 user(s) are browsing Forums)

Members: 1
Guests: 158

jarokuczi, more...

Headlines

 
  Register To Post  

Touchscreen use cases on the Amiga
Just popping in
Just popping in


See User information
Hi everyone!
We inaugurate the forum dedicated to TouchDevice with this topic.
I would like to collect here the experiences of those who have found the use of a touchscreen with pre-existing Amiga software useful.
If anyone has discovered an application or game suitable for use with a touchscreen, they can share their experience here.

Thanks!


Edited by AlfredOne on 2023/11/11 0:12:53
Go to top
Re: Touchscreen use cases on the Amiga
Home away from home
Home away from home


See User information
@AlfredOne

Some long while back I wrote a USB driver for touch screen that overlaid the monitor, and used an infrared grid to sense the touched areas. I forget the model now. No idea if the company I wrote it for did anything with it.

Anyway I found it worked quite nicely with the smudge tool in my SketchBlock application.

The resolution was much to low to be of use with anything else.

Go to top
Re: Touchscreen use cases on the Amiga
Home away from home
Home away from home


See User information
@AlfredOne

Could this driver be used on Qemu in "touchscreen" mode? Perhaps someone could try it out. I was going to, but am pretty swamped with other stuff.

Hans

http://hdrlab.org.nz/ - Amiga OS 4 projects, programming articles and more.
https://keasigmadelta.com/ - more of my work
Go to top
Re: Touchscreen use cases on the Amiga
Just popping in
Just popping in


See User information
@Hans
Yes, it works.
I tested this driver on QEmu 8.1 (Pegasos2) too, connecting USB touchscreen monitors and configuring USB passthrough.

Go to top
Re: Touchscreen use cases on the Amiga
Quite a regular
Quite a regular


See User information
@AlfredOneQuote:
AlfredOne wrote:@Hans
Yes, it works.
I tested this driver on QEmu 8.1 (Pegasos2) too, connecting USB touchscreen monitors and configuring USB passthrough.


That's really cool that it works...that should definitely be interesting for Hans, as far as I know he uses Qemu on a laptop with AmigaOs4.1.

And yes, currently only the Pegasos2 machine offers full USB support.

Thanks for testing this.

MacStudio ARM M1 Max Qemu//Pegasos2 AmigaOs4.1 FE
Go to top
Re: Touchscreen use cases on the Amiga
Just popping in
Just popping in


See User information
@AlfredOne

Any chance of releasing some form of Multi-touch SDK? I'd love to see some games or paint programs using Multi-touch!

Cheers,
Bill

Go to top
Re: Touchscreen use cases on the Amiga
Just popping in
Just popping in


See User information
@tekmage

Sure, the SDK is technically ready.
I'm using it to develop TouchBench.
I haven't published it yet because I believe that the Touch Device API needs to be improved and the definitive changes will be with the next version of Touch Device.
But if some developers already want to experiment, knowing that they will probably have to recompile when the new version comes out, I can provide the SDK privately.

A demonstration application that I would like to see built would be a simulation of something like this:
Sand Art video

I think a modified version of ShaderJoy that handles multitouch events directly would also be nice.

Go to top
Re: Touchscreen use cases on the Amiga
Quite a regular
Quite a regular


See User information
@AlfredOneQuote:
AlfredOne wrote:@Hans
Yes, it works.
I tested this driver on QEmu 8.1 (Pegasos2) too, connecting USB touchscreen monitors and configuring USB passthrough.


Could you perhaps explain in general terms how to pass USB devices to Qemu?

MacStudio ARM M1 Max Qemu//Pegasos2 AmigaOs4.1 FE
Go to top
Re: Touchscreen use cases on the Amiga
Just popping in
Just popping in


See User information
@Maijestro

There are two ways:
1) adding the USB device directly into the command line that launches QEMU. In this way the emulated machine starts already seeing the connected USB device
2) using QEMU Monitor to add or remove USB device.

I prefer way #2, a few times I have had problems if the USB device is already connected when booting AmigaOS4.1 with an emulated machine.

Practical example:
- assuming that you have a USB touchscreen with vendorID=0x0eef and productID=0x0001.
- the touchscreen is already connected to the host machine
- you have to launch qemu with the following additional parameters: -usb -device usb-ehci,id=ehci
- to "connect" it to the guest machine you must type in the QEMU Monitor console: device_add usb-host,bus=usb-bus.0,vendorid=0x0eef,productid=0x0001,id=mytouchscreen
- to remove the device from the guest machine you must type: device_del mytouchscreen

You can choose any identifier of your choice instead of mytouchscreen.

Note: to be able to use USB on Linux, I had to configure qemu in the following way, before recompiling it: ./configure --enable-libusb --target-list=ppc-softmm
I don't know if it's enabled by default on Windows or not.

To learn more about QEMU and USB: QEMU USB emulation
In particular, you must be careful to correctly set the permissions to allow QEMU to access USB devices, as described in the following paragraph: QEMU - Using host usb devices on a linux host

Note: to open the QEMU Monitor console, press Ctrl+Alt+2 on the QEMU window.


Edited by AlfredOne on 2023/11/27 9:51:21
Go to top
Re: Touchscreen use cases on the Amiga
Quite a regular
Quite a regular


See User information
@AlfredOne

Thanks for the detailed explanation, I put it in writing. And will add it in my installation instructions.

MacStudio ARM M1 Max Qemu//Pegasos2 AmigaOs4.1 FE
Go to top
Re: Touchscreen use cases on the Amiga
Quite a regular
Quite a regular


See User information
@Maijestro
One important detail missing is if you pass through a USB device to QEMU you should make sure nothing is touching it on the host while passed through to guest. So USB storage devices should be unmounted on host before pass through and other devices may need their host drivers unloaded so it's only the guest driver which drives tham. Accessing a device by two drivers (one on the host and one in the guest) will just mess things up an lead to some breakage so always make sure there's only one driver driving the device. When passing it through that should be the guest driver so host should not drive it. You also need to make sure the user under QEMU is running can access the raw usb device. On macOS this may work, on Linux you may need to change owner or access rights of /dev/bus/usb/$X/$Y to the user or add an udev rule to do that or add an ACL for it on device plug. You can see $X and $Y with lsusb.

Go to top
Re: Touchscreen use cases on the Amiga
Quite a regular
Quite a regular


See User information
@balaton

Quote:
balaton wrote:@Maijestro
One important detail missing is if you pass through a USB device to QEMU you should make sure nothing is touching it on the host while passed through to guest. So USB storage devices should be unmounted on host before pass through and other devices may need their host drivers unloaded so it's only the guest driver which.


Ok I see, Enhancer Software 2.2 comes with the USBADM8511 driver, according to another thread:

https://www.amigans.net/modules/newbb/ ... um=4&topic_id=7621&order=

It should work with this USB network adapter under AmigaOs4.1.

https://www.amazon.com/Belkin-F5D5050- ... 1&keywords=belkin+f5d5050

For testing purposes I would order this adapter and try to pass it on to Qemu, that should be possible, right?

But I'm not sure whether I can completely unload the device under MacOs.

I think the real Pegasos 2 only had USB 1.0/1.1 onboard, so the network connection could be very slow. But I'm not sure if it plays a role under Qemu. My Mac has USB 3.1 ports.

MacStudio ARM M1 Max Qemu//Pegasos2 AmigaOs4.1 FE
Go to top
Re: Touchscreen use cases on the Amiga
Not too shy to talk
Not too shy to talk


See User information
Will this one work with these SMARTBoards:

https://test.smartboardpro.de/produkt/ ... roesse-in-zoll=75%22+Kauf

A sort of "basic" Whiteboard Software shouldn't be to hard, as we have hollywood on hand...

Go to top
Re: Touchscreen use cases on the Amiga
Just popping in
Just popping in


See User information
@gerograph
Quote:
Will this one work with these SMARTBoards:

As mentioned about the hidtouch.usbfd driver in my website, it is impossible to know for sure which devices it supports.
In general all modern USB-connected multitouch screens work with the HID protocol, so these smartboards are probably compatible too. In any case, if it isn't compatible, with a little feedback I can write a dedicated driver in 2 or 3 weekends.

Go to top
Re: Touchscreen use cases on the Amiga
Just popping in
Just popping in


See User information
Hi guys!
VirusKiller can be fun to play with a touchscreen.

https://youtu.be/17kwkmRZjUY

Go to top
Touchscreen HID driver & QEMU's USB Tablet device
Home away from home
Home away from home


See User information
@all

I finally tried out QEMU's "tablet mode" for the mouse, and it doesn't work with the touchscreen driver. So, "-device usb-tablet" isn't an option, yet...

The USB log says that no driver was found for QEMU's tabled device:
I: [10:57:57] USB Fkt Init | Init Fkt | [fkt 0x6FF8FDC0] Fkt is {Vendor: 0x0627, Product: 0x0001, Class: 00.00}
I: [10:57:57] USB Fkt Init | Init Fkt | [fkt 0x6FF8FDC0] Fkt ("QEMU","QEMU USB Tablet","28754-pci.1:0c.3-1") initialized
I: [10:57:57] USB FD fkt start | Sys_EndInitialAttachmentPhase | Initial USB Attachment Phase terminated
I: [10:57:57] USB FD fkt start | BindInterfaceDriver | No interface driver of fkt 0x6FF8FDC0/ifc 0x5F95C190 {Class 03.00} has been found
W: [10:57:57] USB FD fkt start | Fkt FD launcher | [0x6FF8FDC0] Could not bind any suitable interface driver to fkt

@AlfredOne
Is the "QEMU USB Tablet" a USB touchscreen device? Or is a different protocol used?

EDIT: Should have started a new thread for this...

Hans

http://hdrlab.org.nz/ - Amiga OS 4 projects, programming articles and more.
https://keasigmadelta.com/ - more of my work
Go to top
Re: Touchscreen HID driver & QEMU's USB Tablet device
Just popping in
Just popping in


See User information
@Hans
Looks like your log snippet is from before full-booting of the USB stack - i.e. before DOS is around to load disk-based drivers like the HID class, which is the class to handle input devices on a fully booted OS.

The QEMU touch-thingie has an interface class of 3.0, which indicates a HID device.

Regards,
Thomas

Go to top
Re: Touchscreen HID driver & QEMU's USB Tablet device
Just popping in
Just popping in


See User information
@Hans

As stated by Graff, the logs indicate an HID device.
So it should be handled by the hid.touch driver.
You could try this, in case it's just a recognition problem at boot:
try launching "USBCtrl restart" and see if the device appears in TouchPrefs.

If it doesn't work like that either, we should do a bit of debugging to understand if the hid device is a touchscreen type or if it is a different type and therefore is not recognized by the hid.touch.

p.s.: Have you checked whether the device appears in the TouchPrefs device list?

Go to top

  Register To Post

 




Currently Active Users Viewing This Thread: 1 ( 0 members and 1 Anonymous Users )




Powered by XOOPS 2.0 © 2001-2023 The XOOPS Project