obosob

  • 10 Posts
  • 147 Comments
Joined 2 years ago
cake
Cake day: June 12th, 2023

help-circle
  • I’m short, no, the keyboard you are describing does not exist. As others have pointed out, you might need to design your own.

    Besides the Y key requirement, the curved requirement is also going to make it a little trickier to design. If you want it curved then you’ll have a hard time making a PCB, so you’d probably want to hand-wire it in a 3d printed case or something. If you don’t necessarily need curved and would settle for tented then it’ll make that a little easier. Tented means when the two halves are tilted opposite directions with the middle highest and the edges lowest (like a classic A-frame tent). This would allow for two flat PCBs. You could make the halves separate or attached to each other depending on your preference. Presumably the numpad would then be flat relative to the desk.

    The closest thing that came to mind, by the way, is the keebio KBO-5000 as this is a pretty traditional tenkeyless layout (no numpad) but split, and can thus be tented with the addition of some feet or a wedge of some kind, then you can just have an external numpad. But as you can see, the Y key is in its correct spot on the right, rather than the left where you’d prefer it. Either way, hopefully this provides some inspiration for your design.

    Happy designing.






  • Is it hotswap or are the switches soldered into the board? If the former then yes, first thing to try is re-seat the switch in the socket, check that a pin on the switch isn’t bent (and thus not inserting into the socket at all). The second thing to check (or first if soldered) is, using a multimeter, check continuity between the switch and its row/column and between the switch and its diode and check that it is working.

    In either case, if re-seating isn’t enough, corrosion or oxidation could cause the behaviour. If hotswap, check for corrosion or oxidation on the switch contacts and the hotswap socket. gently try to remove any layer of oxidised material with something lightly abrasive like sand paper, or even just insert and remove it a few times to try to rub it off. Clean with isopropyl alcohol. If still not working try to reflow the solder joints.

    If all that fails you may need to run a small wire to fix a broken or corroded connection but that’s unlikely I’d imagine.






  • so i had a crack at fixing it and got it to compile, obviously unable to test it functionally. I’ve pushed the code here.

    I noticed you’re not actually using the joystick features since you’re reading the analog pins manually (btw, you should read them once per scan instead of in every if statement). so i just removed all the joystick code and the JOYSTICK_ENABLE = yes. i’m not sure what exactly you’re trying to do but what I’ve got builds and doesn’t remove any of the functional code, so see how you go from there. I don’t know much about using the joystick feature in QMK so I can’t really advise on how to use it instead of what you’re doing, but as it stands you seem to not be utilising it anyway.

    Good luck. if you’re stuck, maybe try going to the QMK discord and explaining what you are trying to achieve and see what people say there. Be careful not to assume the implementation and ask the wrong question, describe what you want to achieve at a high level and see what they advise to implement it (see the XY problem)


  • i don’t think you need to include config_common.h, that’s just a convention for when there are multiple revisions of a keyboard but most of the stuff is common.

    as for the other code, try removing things until you get it to compile and start adding it back. it looks like the problem could be happening inside some macro expansion or something. i think it would help to format your code a bit to make it easier to follow, there’s not really a need for the switch statement with only one case, etc. use consistent indentation, and such.









  • Does your keyboard have asymmetric halves? The left having 7 columns and the right having 6? As the other commenter pointed out you have defined 6 columns but your layout macro in eiris.h has 7 elements for the left hand. I think the way to solve it is to define it as 7 columns, add NO_PIN to the end of MATRIX_COL_PINS_RIGHT and then just add XXX to the end of all the rows for the right half in your layout macro in eiris.h.

    This is outlined in the documentation