Oh, I guess you were faster than me. I had thought of using a sensor placeholder for the rotation of the device as an input component for the touchscreen (both for input and output).
I wanted to try your new image earlier today evening, but my touch input did not work on the new image. In the old image it worked but there is the new functionality, which should be tried, not yet included. I can provide you my config and report files if you want.
@nos Sorry, I ignored that you need the updated usb_hid driver. Please try today’s image (sculpt-pc-2026-03-23-hw).
Long story short: You only need to adapt (or remove) the scaling factors in /config/keyboard/touch_transform.config and put something like this in your /config/event_filter at the right place:
<transform> <input name="usb"/> <include rom="keyboard/touch.transform"/> </transform>
Thank you for providing a new image containing the updated driver. Now it works!
Remark: Its really important to change the scaling in touch_transform.config and not the generated touch.transform file.
By the way: what is the relationship of the keyboard directory?
The event-filter component has no generic access (i.e. routing rule) to the /config directory. Instead, ROM requests prefixed with keyboard/ are routed to /config/keyboard. In other words, the include directive is only possible for files in /config/keyboard on an unmodified Sculpt 25.10.
This is a really nice enhancement! It makes the screen rotation a seamless experience. Thanks for doing this!
The new “include” feature is also a great addition. On a related note, I really need to dig deeper into the syntax / capabilities of the config file format - apparently it is more powerful and flexible than I realized! Interesting…
I’ve been playing around with the 26.04 RC images a little bit, but my attempts to convert these touchscreen settings to the new config format have failed so far.
I could just wait for the release documentation, but is it possible to get a sneak preview of what modifications are needed for the new system? ![]()
You may use the hid tool to convert XML to HID. Even the system_shell comes with the tool installed on Sculpt.
hid --import-xml format <model file> # review conversion on stdout
hid -i --import-xml format <model file> # change file in-place
Or just open the model file in vim and enter the following command for interactive review and save.
:%!hid --import-xml format -
That’s great - I will try this! I think my problem is more related to the new config file structure (“child” directory, etc.) than my questionable HID skills, but we’ll find out soon. ![]()
More details: With the latest RC, the original “event_filter” method works fine for touch and rotation, but I can’t get the “include” method to work. (It locks up the input devices.)
Am I misunderstanding the new “file” layout, or did this break in the RC?
I just gave it a try and it works fine. Let me briefly summarise what I did:
- Installed _touch_rotate_ from my depot. The file system service must be routed to the
_keyboard/_ subdirectory of “model (rw)”. The rom requirement goes to “model”. - I modified my manually tuned /model/child/event_filter, which contained these lines:
+ transform
+ input touch
+ scale | x: 0.1875 | y: 0.1875
- In this file, I replaced the
+ scalenode with an+ include | rom: keyboard/touch.transform.
That worked - thanks!
For those of us on ThinkPads, we just need to remember to adjust the “scale” nodes in “touch_transform.config” to “0.164”.