well, I accidentally made a keyboard backwards. that's a new thing.
I needed a USB keyboard that responded to BT Serial commands. I accidentally made a BT keyboard that responds to USB serial commands
well, I accidentally made a keyboard backwards. that's a new thing.
I needed a USB keyboard that responded to BT Serial commands. I accidentally made a BT keyboard that responds to USB serial commands
@foone "one of my keyboard keys didn't boot up properly" has to be the most Foone sentence I've read all year.
Sure, we're only in mid January, but still...
one of my keyboard keys didn't boot up properly, because while I had the right boot files in the right places, I had left a bootable floppy disk in the drive. no "Z" key for me
hmm. I might make it scancodes instead of ASCII, just because actually programming scancodes properly into the other end of the keyboard is a pain, so maybe I'll just let each key send whatever number it feels like, then I'll make the HTTP proxy translate them. why not?
I mean it's terrible but it saves me like 5 minutes of manual work so who is to say if it's bad or not?
I now have an HTTP proxy for my keyboard. You just hit http://localhost:5000/65 and it'll send the UDP for you, so it types an "A"
okay I made instead a keyboard that listens for UDP packets.
if you send it a single byte UDP packet, it types that key. there is no authentication. you just need to know that you have to send it to port 8365
how it works:
$ curl http://localhost:5000/29
unshifted
$ curl http://localhost:5000/6
ok (types "a")
$ curl http://localhost:5000/29
shifted
$ curl http://localhost:5000/6
ok (types "A")
(29 is the scancode for "shift", 6 is the scancode for the "a/A" key)
I gotta figure out how to store some webapp state so I can keep track of if the shift key is down, because that's a separate HTTP request
I KNOW PROGRAMMERS WHO USE DPI SCALING AND THEY'RE ALL COWARDS
FUCK one didn't record. Time to do it again, and then it gets harder: finding out if I can run divinci resolve on this laptop
this is the first and hopefully not the last time a llama has gotten in the way of my attempts to record a video of my new keyboard in use
keyboard tested and video recorded!
well, videos. I'm running this across two computers, one Raspi Pico, one video game, and 32 virtual computers.
Editing this together is going to be UNFUN
@winissen yeah I'm a professional, I have had a lot of experience in developing bad ideas
@foone Bad ideas? No, only the worst possible ideas around here.
@foone Taking the long way to KVM over IP? ;-)
@keithmann building a very bad keyboard, so it's 60% insecure protocol converters
@foone can you set up port forwarding so we can also type on your keyboard
@foone If it's a USB keyboard, why not send a complete 8-byte HID packet? That even gets you n-key rollover, and takes care of modifiers (shift, etc) at the same time. You can even extend that with chunks of 8, representing subsequent reports, finally ending with an implicit "all keys up".
e.g. /0000060000000000:0000070000000000
@RoganDawes can't! each key is a separate (virtual) computer, so they can't talk to each other. They each send separate UDP packets when pressed
@foone Doesn't the keyboard indicate if it was pressed or released? You could make that PUT and DELETE requests.
@foone This is so cursed my sides are in orbit right now 😂
aw, hell. so no fun "figure out the resonant frequency of the keyboard" then.
@foone does it listen on loopback because I have a funny idea
@munin yes? but it's a pico-w so I can't exactly NC-loop it to itself
GNU social JP is a social network, courtesy of GNU social JP管理人. It runs on GNU social, version 2.0.2-dev, available under the GNU Affero General Public License.
All GNU social JP content and data are available under the Creative Commons Attribution 3.0 license.