this post was submitted on 16 Jan 2024
183 points (77.8% liked)

Programmer Humor

32504 readers
516 users here now

Post funny things about programming here! (Or just rant about your favourite programming language.)

Rules:

founded 5 years ago
MODERATORS
183
Obscure button tier list (sh.itjust.works)
submitted 10 months ago* (last edited 10 months ago) by [email protected] to c/[email protected]
 

If you have "Help" instead of "Ins", replace it with Overgod-tier. Keep pressing it, it will come.

OC, feel free to share.

EDIT; Home is now G-od tier. I didn't know it would go to the beginning of a line, I always used macros "lol".

you are viewing a single comment's thread
view the rest of the comments
[–] Heavybell 2 points 10 months ago (1 children)

I bought an existing foot pedal off aliexpress. It came with a little dangling wire, supposedly meant to be hooked up to a piece of industrial equipment. Opened it up, removed the existing wire, soldered a wire to a suitable arduino dev board and hot glued it inside. If you want I can dig up the exact parts I used and even the code. But I also suspect maybe you want to figure it out yourself?

[–] [email protected] 2 points 10 months ago (1 children)

Some bits I can certainly figure out. The Arduino code is the part I'll be very bad at; so if you can get that without too much trouble, I would appreciate it.

I'm sure I'll use a different pedal than what you did, since I don't know if the supply availability will be the same, but honestly, it's just a fancy switch designed to be used by a foot, so I'm sure it's nothing difficult.

If it's too difficult to find the code, no worries, I'm sure there's plenty of examples around the internet of similar types of code for different purposes (like a shortcut keyboard or something). I'm certain that we're not the first and certainly not the last to want something similar in function.

[–] Heavybell 2 points 10 months ago* (last edited 10 months ago) (1 children)

Here's the code I wrote:

#include "Keyboard.h"

const char FUNCTION_F14 = 0xF1;
int down = 0;

void setup() {
  // make pin 2 an input and turn on the
  // pullup resistor so it goes high unless
  // connected to ground:
  pinMode(2, INPUT_PULLUP);
  // initialize control over the keyboard:
  Keyboard.begin();
}

void loop() {
  int nowDown = digitalRead(2) == LOW;

  if (down != nowDown) {
    down = nowDown;

    if (down) {
      Keyboard.press(FUNCTION_F14);
    } else {
      Keyboard.release(FUNCTION_F14);
    }
  }
}

Note that the #include was meant to use angle brackets, but Lemmy ate them. If this doesn't work, change it back to angle brackets around the Keyboard.h instead of quotes.

Also, the parts I used:

I wired it up like in the photo, and just laid it on a bed of hot glue so the USB port sticks out the hole. I had intended to get a mini USB extension cable inside the pedal, but the one I ordered turned up defective, and this worked out just fine.

[–] [email protected] 2 points 10 months ago (2 children)

Excellent. Thanks for digging this up.

I'm just wondering what you used to bind F14 to do something on your PC? Some companion application?

[–] Heavybell 2 points 10 months ago

Discord push-to-talk. :P

[–] Heavybell 2 points 10 months ago

I just noticed lemmy didn't like the #include statement because it uses angle brackets. I tried to update it but it doesn't look right, so I'm going to change it to quotes which should work the same, I believe. I'm not a C expert, I usually code in C#.