I took a WaveShare RP2040-Touch-LCD-1.28and made a program to use it as a touchscreen. This is still very much in the beta phase but the proof of concept works. Here’s my GitHub repo for it.
I’m planning on integrating it into my next split near the thumb cluster.
Touchpad = trackpad
I’ve never heard the term touchpad. They’re synonyms, right?
Huh! TIL! I use macs way more often, but I also use windows and I’ve changed the settings of the pad many times, i can’t believe i didn’t notice/dont remember that the names are different.
That’s really cool! Looking forward to future updates, great work.
Thanks! Updates so far are:
- turns out there is no multitouch, so no two finger right click or two finger scroll. I’ll need to work something else out. Likely will have to be. Key plus scroll or something…
- there are only 6 pins exposed and none are I2C but you can use BitBang_I2C library to expose them then use an I2C expander board to use it in a full keyboard.
Regarding the scrolling, do you reckon it’ll be possible to implement it like how the Galaxy Watches do their scrolling?
If you touch the edge of the screen and rotate it, it scrolls clockwise and anti-clockwise. Works decently enough although I do prefer the physical wheel.
Just to give some extra inspiration,
The multitouch gestire would be kinda unusable, but for scrolling I suggest to steal the same gestire from the japanese Toshiba laptops. They have a circular trackpad and for scrolling use the Edge of the trackpad with clockwise and counter-clockwise movement.
I know that I made It sound confusing, but if you see a video of that in action Will be Easy af to understand!
Actually that makes perfect sense and I live the idea! All it has to do is check where your initial touch was. If I’m ce center, then trackpads off on the edges of the circle then scroll. I may even be able to use LVGL to make that even better in the future. Thanks for the tip. And for right click I am planning on a hold, and tap+hold for drag.
Very cool indeed! I’d like to see the keyboard integration, once it’s ready. Are there enough free pins on this module to handle the GPIOs for a keyboard matrix?
There are 6 GPIO available. So maybe a macro Pad… but my idea is do embed it in The case but still have a separate usb cable to it. You can also display things on the screen if you’d like. It has a RTC and a battery management circuit so you could make it into a clock, or use the GPIO to speak with your keyboard to send keystrokes data via serial…
I guess if the available pins support i2c you could hook it up to a gpio expander
Yes. It does I2C. It’s also a pi Pico core so dual core. So you could use a separate core to drive the screen independently from the keyboard to keep them fast.
Edit: actually the i2C is not exposed on the pins, but you should be able to use the BitBang_I2C library to expose them on any pair of GPIO pins. I’ll try it out and report back.
Edit2: actually, no need for that library you can set virtual I2C to any pins I tried it with another project on the same board.
This is really cool! You could use it to display information about layers and when touched it transforms into a touchpad