tablerowcolumn
tablerowcolumn

Reputation: 11

How to read touchscreen input from assembly on Surface with no OS (not under Windows)

I don't know how to read input from the touchscreen from assembly (under no operating system). 7 months ago I bought a Microsoft Surface Studio 2+ and I absolutely love it, but I'd like to take things to the next level and boot my own assembly application. I have these ideas: that I could output the bits from the 8 bytes that make up a word in RAM, as light or dark grey squares, depending on whether they are 0 or 1, and literally touch (and toggle) them, thus changing the instruction or data; or that I could output the capacitive heatmap of the contact points in greyscale.

I tried to contact Microsoft and ask them for the documentation, but they told me they didn't have it, which makes sense, because, as I found out from the "Linux Surface" project, the touch controller is made by Intel (I tried finding a contact email for Intel as well, but I had no success). So, I ended up peering through the IPTS (Intel Precise Touch and Stylus) driver source code from the "Linux Surface" project. I tried following the code hierarchy, jumping from function definition to function definition, and I understood that in order to purely program in C or C++, some helper functions are provided by the Linux kernel that are written in assembly, but I haven't been able to follow the breadcrumbs until the end. Taking full control of such a fine piece of machinery would be a dream come true, so here I am, asking for your help :-) How can you read input from the touchscreen from assembly?

Upvotes: 1

Views: 229

Answers (0)

Related Questions