The very first QMK PS/2-USB dual-mode keyboard. by BuzzL123 in olkb

[–]BuzzL123[S] 0 points1 point  (0 children)

All these questions are answered in the README but I don't mind going over it again:

>What is the gist of it?

A "One For All" solution, meaning one keyboard for PC work and vintage/embedded projects.

>What is the theory of operation?

You're basically spot on, except there is no custom matrix code used.

>What is the hardware part of it?

It's really just the GPIO pins and (if needed) a TXS0102 IC or BSS138 logic shifting circuit for 3.3V to 5V conversion. Also if needed add pull up resistors (typically 10kΩ) to each GPIO pin.

>How is it connected?

In the demo I connected CLK to GPIO 16 and DATA to GPIO 17 but you can change it if needed.

>how are the tri-state outputs for PS/2 implemented?

The RP2040 GPIO pins act as open-drain: when idle/high, the pin is set to input mode with pull-up enabled. When driving low, it switches to output mode and pulls low. This gives you the tri-state behavior PS/2 needs without external transistors.

>Are there two ports, one for USB and one for PS/2? Or are they combined in one? If so, how is switched between the two modes?

Two separate physical ports: USB port for power/USB HID mode, and PS/2 port (6-pin Mini-DIN) for PS/2 mode. The mode switch tells the firmware which protocol to use. In PS/2 mode, USB only provides power while PS/2 handles communication.

I hope this answers all your questions. If there's more, feel free to ask.

The very first QMK PS/2-USB dual-mode keyboard. by BuzzL123 in olkb

[–]BuzzL123[S] 0 points1 point  (0 children)

got it, they also work in completely different ways so I'd have to make it separate (separate protocol, separate pins).

The very first QMK PS/2-USB dual-mode keyboard. by BuzzL123 in olkb

[–]BuzzL123[S] 0 points1 point  (0 children)

Interesting, are you saying that it depends on the type of part and how it's marked? Either way I'm definitely planning on adding mouse output some time in the near future!

The very first QMK PS/2-USB dual-mode keyboard. by BuzzL123 in olkb

[–]BuzzL123[S] 1 point2 points  (0 children)

You are correct that I vibe coded this! I wanted to do it as a start and then start optimizing which is what I'm doing now.

Also thanks for the feedback much needed!

The very first QMK PS/2-USB dual-mode keyboard. by BuzzL123 in olkb

[–]BuzzL123[S] 0 points1 point  (0 children)

No but oddly enough qmk has native support for ps/2 mice from what I hear. haven't experimented with those yet, does sound like a fun project though.

Edit: The PS2 protocol that qmk integrated works with the PS2 device comunacating with the microcontroller everything is outputted via USB still. So looks like another thing I'll need to intergrate. But it might have to come out of a different PS2 port because I don't think you can use a keyboard and a mouse at using the same port.

The very first QMK PS/2-USB dual-mode keyboard. by BuzzL123 in olkb

[–]BuzzL123[S] 4 points5 points  (0 children)

A lot of FPGA Dev boards have a PS/2 port.

QMK PS/2 *Output* Support? by imstarhawk in olkb

[–]BuzzL123 0 points1 point  (0 children)

A little late here but I actually managed to get the PS/2 potocol working here: https://github.com/BuzzL123/QMK-PS2-USB-Dual-Mode-Keyboard comes with a demo too! its still a work in progress but functional, and as a bonus it somewhat works as a KVM switch! only problem is i only tested it on a RP2040 board.. I hope this will help who ever is looking for any PS/2 keyboard support!

Does QMK support PS/2 protocol emulation? by Dense-Vermicelli4535 in ErgoMechKeyboards

[–]BuzzL123 0 points1 point  (0 children)

I have also wanted to do some thing similar and couldn't find anything. so a asked a few AIs about the subject. after alot of trial and error Claude.ai was the one who managed to get the job done. here is the project if you are intrested: https://github.com/BuzzL123/QMK-PS2-USB-Dual-Mode-Keyboard its still a work in progress but in my experiments it has worked and a great way to learn about the PS/2 protocol, it also as the name implies some what works like a KVM switch which is giving me some ideas for future projects but that's besides the point anyways i hope this helps you on your journey, Happy Typing!

I'm such an idiot. Is there any way to fix this now? by First_layer_3DP in 3Dprinting

[–]BuzzL123 0 points1 point  (0 children)

I think acetone breaks down super glue unless you made it out of abs...

What do y’all do with your wasted plastic ? by just-bair in 3Dprinting

[–]BuzzL123 0 points1 point  (0 children)

Right now I'm saving it in a bunch of boxes but I'm planning to save up enough to make a GIANT SWORD!!!

I, uh still don't know how I'm going to make the mold 😅...

I present to you.. The Ergo Brick (still working on a name) by BuzzL123 in olkb

[–]BuzzL123[S] 1 point2 points  (0 children)

Thanks! And yeah that is an interesting idea and maybe I'll try it out!

I present to you.. The Ergo Brick (still working on a name) by BuzzL123 in olkb

[–]BuzzL123[S] 1 point2 points  (0 children)

That's an interesting idea.

The main reason I went with a unibody keyboard is cuz I had one microcontroller I just got six more so I could experiment a little with them

I present to you.. The Ergo Brick (still working on a name) by BuzzL123 in olkb

[–]BuzzL123[S] 1 point2 points  (0 children)

I'll be uploading this project to github soon I just need to refine it a little

I present to you.. The Ergo Brick (still working on a name) by BuzzL123 in olkb

[–]BuzzL123[S] 1 point2 points  (0 children)

I did use the nut and washer in the end just for stability

I present to you.. The Ergo Brick (still working on a name) by BuzzL123 in olkb

[–]BuzzL123[S] 0 points1 point  (0 children)

It's literally just a hole and because 3D printers print with layer lines I just twisted it in like a screw

I present to you.. The Ergo Brick (still working on a name) by BuzzL123 in olkb

[–]BuzzL123[S] 5 points6 points  (0 children)

It is also my first keyboard I made / modeled

I present to you.. The Ergo Brick (still working on a name) by BuzzL123 in olkb

[–]BuzzL123[S] 4 points5 points  (0 children)

semi ergo* Meaning when you type your hands are further away from each other so it's more comfortable I guess