this post was submitted on 16 Jan 2024
188 points (78.1% liked)

Programmer Humor

32380 readers
976 users here now

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

Rules:

founded 5 years ago
MODERATORS
188
Obscure button tier list (sh.itjust.works)
submitted 9 months ago* (last edited 9 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
[–] [email protected] 2 points 9 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.

[–] [email protected] 2 points 9 months ago* (last edited 9 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 9 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?

[–] [email protected] 2 points 9 months ago

Discord push-to-talk. :P

[–] [email protected] 2 points 9 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#.