So here’s an idea for a mousepad option: a mousepad with a touchscreen built in.
Normally, its just a mousepad. It does mousepad things. Its plain and black and moves the mouse and clicks things.
But, if the user presses a certain key (or key-combo), it becomes a macro pad: quick-launch buttons, system info, whatever the user wants to be there. Kinda like a Streamdeck or Loupedeck or whatever helps you imagine it, but a touchscreen of macros and info and other widgets.
Lets say the default keybind is just holding Function (Fn). When the user holds Fn, the mousepad goes from normal to a pad of any combination of user-defined buttons, terminal/ncurses outputs, folders containing more buttons or outputs, whatever their hearts desire within reason.
All this set up by a simple app that allows the user to customize the macros/widgets, writes the configuration, saves it, and maybe has a couple other neat things in there. Don’t want just a boring screen-off mousepad? We could also allow users to set a static or dynamic image as the mousepad’s “wallpaper”. Of course, this would use more of the laptop’s battery, but that’s for the user to decide.
Now, logistically, I know there’s some hurdles here.
Physically, we need a device that’s the same form factor as the existing mousepads, and has a touchscreen built in that can flex a little, and of course still offering regular mousepad tactile feedback and feel.
Software/firmware-wise, we’ll have what is technically an external display for the display manager, but not one meant for regular user windows. So I’ll have to reference something, maybe like whatever streamdeck-ui (GitHub - timothycrosley/streamdeck-ui: A Linux compatible UI for the Elgato Stream Deck.) is doing to display the icons? And also figure out how to adapt that for any Windows users. Or maybe a better idea if that comes up.
We’re also going to need to make sure the device manager knows we’re expecting something in addition to just the regular mousepad, and to handle the communications for holding the key-combination, as well as handling the responses based on pressed macro buttons.
Thoughts?