Where to begin
-
- Location: United States
- DT Pro Member: -
Not really sure if this is the correct spot for this, seems like the best fit between the choices to post in.
100% beginner here. My rabbit hole all started with wanting to find a decent, left handed Russian mechanical keyboard to learn the language with. Fast forward a month later and it pretty much seems like I'll need to design what I want but am very overwhelmed with the amount of data to sift through.
What I want to do seems simple enough. Make a left handed keyboard, even though I'm not left handed. Playing around with the KLE is straight forward. Everything needed to be done after that is a huge blur with information overload searching here. Simply trying to understand how to make the matrix is quite fuzzy. Then there's designing the plate, then the PCB. I can figure out KiCad easy enough, already designed a small project on it for holding Hakko solder tips. No traces required there.
Any pointers on which threads to read up on in what order ? I see plenty of 4 x 4 matrix or 60% ideas out there but I'm going with a full ANSI 104 that will have to be programmed for a custom layout. Trying to figure out how the 104 matrix would need to go isn't quite clear to me.
Seems simple enough but, as already stated, there's so much information to look at that it's overwhelming.
Design the layout
Design the Plate ( The switches I intend to use are plate mount )
Design the Matrix ( Best method and how ? )
Design the PCB ( Learning curve but once the matrix is set, this will be easier )
Haven't settled on the design below but only get to work on it a little bit during the week, so I get to step away and come back with fresh eyes on the weekends. This is pretty close but I do want caps lock and num lock LED indicators since I'm not a proficient typist by any means.
Just looking for some guidance, not a handout. Just feel a bit overwhelmed with where to start and what order would be best to do things in.
100% beginner here. My rabbit hole all started with wanting to find a decent, left handed Russian mechanical keyboard to learn the language with. Fast forward a month later and it pretty much seems like I'll need to design what I want but am very overwhelmed with the amount of data to sift through.
What I want to do seems simple enough. Make a left handed keyboard, even though I'm not left handed. Playing around with the KLE is straight forward. Everything needed to be done after that is a huge blur with information overload searching here. Simply trying to understand how to make the matrix is quite fuzzy. Then there's designing the plate, then the PCB. I can figure out KiCad easy enough, already designed a small project on it for holding Hakko solder tips. No traces required there.
Any pointers on which threads to read up on in what order ? I see plenty of 4 x 4 matrix or 60% ideas out there but I'm going with a full ANSI 104 that will have to be programmed for a custom layout. Trying to figure out how the 104 matrix would need to go isn't quite clear to me.
Seems simple enough but, as already stated, there's so much information to look at that it's overwhelming.
Design the layout
Design the Plate ( The switches I intend to use are plate mount )
Design the Matrix ( Best method and how ? )
Design the PCB ( Learning curve but once the matrix is set, this will be easier )
Haven't settled on the design below but only get to work on it a little bit during the week, so I get to step away and come back with fresh eyes on the weekends. This is pretty close but I do want caps lock and num lock LED indicators since I'm not a proficient typist by any means.
Just looking for some guidance, not a handout. Just feel a bit overwhelmed with where to start and what order would be best to do things in.
- Attachments
-
- Blank_Example.jpg (161.94 KiB) Viewed 6625 times
- PlacaFromHell
- Location: Argentina
- Main keyboard: IBM 3101
- Main mouse: Optical piece of shit
- Favorite switch: Beamspring
- DT Pro Member: -
I'll help you as much as I can, but before go to the moon you should make some experimental easier keyboards.
Design the layout
Dude, you already have it
Design the Plate
First at all you need to tell us what kind of swtiches are you using. Nothing more than see what kind of holes do you need to mount them and put the stabilizers, also the distance requiered between them. I can search some info if you show me what are you looking for.
I also found this if you are interested https://geekhack.org/index.php?topic=47744.0
Design the Matrix
They are two tools for noobs like us, you are already familiarized with one:
http://www.keyboard-layout-editor.com/
And the other one is this:
https://kbfirmware.com/
Just paste your layout in the second page and build the matrix if you can. If not, tell me and I'll explain you about how.
When you have your firmware already done, just load it into a Teensy ++
Scares a bit but it's simple, believe me.
Design the PCB
This goes hand in hand with the last two points. You need to have the matrix already done and see where are located the pins of the switches. Are you familiarized with PCB Wizard, Eagle or some other program like that?
Design the layout
Dude, you already have it
Design the Plate
First at all you need to tell us what kind of swtiches are you using. Nothing more than see what kind of holes do you need to mount them and put the stabilizers, also the distance requiered between them. I can search some info if you show me what are you looking for.
I also found this if you are interested https://geekhack.org/index.php?topic=47744.0
Design the Matrix
They are two tools for noobs like us, you are already familiarized with one:
http://www.keyboard-layout-editor.com/
And the other one is this:
https://kbfirmware.com/
Just paste your layout in the second page and build the matrix if you can. If not, tell me and I'll explain you about how.
When you have your firmware already done, just load it into a Teensy ++
Scares a bit but it's simple, believe me.
Design the PCB
This goes hand in hand with the last two points. You need to have the matrix already done and see where are located the pins of the switches. Are you familiarized with PCB Wizard, Eagle or some other program like that?
- PlacaFromHell
- Location: Argentina
- Main keyboard: IBM 3101
- Main mouse: Optical piece of shit
- Favorite switch: Beamspring
- DT Pro Member: -
.
Last edited by PlacaFromHell on 07 Oct 2018, 01:28, edited 1 time in total.
-
- Location: United States
- DT Pro Member: -
Switches are NovelKeys x Kailh BOX Thick Clicks Navy. Looking at the data sheet it seems they need square holes but I honestly have no idea how they are supposed to "mount" to the plate with the square hole. It appears they press fit between the small tabs on the body ?
I am familiar with KiCad as I've used that before for a totally different project for a simple Hakko solder tip holder. As stated, no traces required for that but was just an exercise to learn KiCad. Relearning 5.0 release now.
The PCB aspect doesn't phase me as much as figuring out the matrix right now. The way the keys angle in a ANSI 104 kind of throw me off as to how they should be connected to the matrix. Looking at matt3o's BrownFox wiring kind of gives me an idea but it's still unclear how to choose the right paths for the columns.
I grew up with all the old hardware and really wish I would have kept some of it now. Being able to reverse engineer or at least look at a design might help.
I am familiar with KiCad as I've used that before for a totally different project for a simple Hakko solder tip holder. As stated, no traces required for that but was just an exercise to learn KiCad. Relearning 5.0 release now.
The PCB aspect doesn't phase me as much as figuring out the matrix right now. The way the keys angle in a ANSI 104 kind of throw me off as to how they should be connected to the matrix. Looking at matt3o's BrownFox wiring kind of gives me an idea but it's still unclear how to choose the right paths for the columns.
I grew up with all the old hardware and really wish I would have kept some of it now. Being able to reverse engineer or at least look at a design might help.
- Attachments
-
- Footprints.jpg (264.86 KiB) Viewed 6580 times
- PlacaFromHell
- Location: Argentina
- Main keyboard: IBM 3101
- Main mouse: Optical piece of shit
- Favorite switch: Beamspring
- DT Pro Member: -
I did a duplicated message by accident, sorry.
Most switches, if not all, clip in the plate by press.
If I remember well Kbfirmware gives you a sample matrix for your keyboard, if you are not doing something strange, should work fine. Do you know how the matrix itself works? It's a very important aspect before throw yourself into the pool if you want to use a different one. What do you mean with "the right paths"?
Most switches, if not all, clip in the plate by press.
If I remember well Kbfirmware gives you a sample matrix for your keyboard, if you are not doing something strange, should work fine. Do you know how the matrix itself works? It's a very important aspect before throw yourself into the pool if you want to use a different one. What do you mean with "the right paths"?
-
- Location: United States
- DT Pro Member: -
I am not entirely sure how the matrix works but have a vague idea. Vague meaning I know when a switch or combination of switches is pressed, that results in a unique series of closed contact points being sent to the controller. Other then that, I'm lost.
My matrix would be slightly mirrored but not exactly. As you can see the numpad is on the left and is mirrored to reflect what I thought would be proper. There is a proper way to type and I'm not there yet but learning. This seemed like the right choice. This also leaves room at the upper left for the num lock and caps lock indicators I'd like to include.
The idea is to make this a left handed board, work the bugs out and learn how it's done properly. After that I'd like to do a full on Russian keyboard, but with some changes that I need to understand in order to program properly. An example would be replacing № with @. There's no way I'd be able to use a keyboard without the @ symbol in this day and age with email lol. Can't see a time how the № symbol is relevant yet in the language but the @ is a must.
Little details in symbol programming, key spacing and correct footprint placement on the PCB will also need to be learned. The default unit seems to be 19mm from center key to center key. I'll need to figure out the proper placement in KiCad and go from there. Maybe you are correct on starting out with something more simple but I honestly have no use for a 4 x 4 pad at this point. Might be a good way to learn with less information though but still wouldn't get me to the goal of a full 104 layout.
ETA: By Correct Paths I mean the correct way to connect the columns in the matrix. The ANSI 104 is angled the further in you get on each side. Making the choices unclear for me as to what switches are connected to each other.
My matrix would be slightly mirrored but not exactly. As you can see the numpad is on the left and is mirrored to reflect what I thought would be proper. There is a proper way to type and I'm not there yet but learning. This seemed like the right choice. This also leaves room at the upper left for the num lock and caps lock indicators I'd like to include.
The idea is to make this a left handed board, work the bugs out and learn how it's done properly. After that I'd like to do a full on Russian keyboard, but with some changes that I need to understand in order to program properly. An example would be replacing № with @. There's no way I'd be able to use a keyboard without the @ symbol in this day and age with email lol. Can't see a time how the № symbol is relevant yet in the language but the @ is a must.
Little details in symbol programming, key spacing and correct footprint placement on the PCB will also need to be learned. The default unit seems to be 19mm from center key to center key. I'll need to figure out the proper placement in KiCad and go from there. Maybe you are correct on starting out with something more simple but I honestly have no use for a 4 x 4 pad at this point. Might be a good way to learn with less information though but still wouldn't get me to the goal of a full 104 layout.
ETA: By Correct Paths I mean the correct way to connect the columns in the matrix. The ANSI 104 is angled the further in you get on each side. Making the choices unclear for me as to what switches are connected to each other.
- Attachments
-
- LH-Example.png (110.18 KiB) Viewed 6565 times
- PlacaFromHell
- Location: Argentina
- Main keyboard: IBM 3101
- Main mouse: Optical piece of shit
- Favorite switch: Beamspring
- DT Pro Member: -
When you press an ohmic (contact) switch, one column and one row close a circuit between two pins of the IC or microcontroller. Every key is a unique combination of row + column and hence a shortcut between two pins.
Let's see a quick example, first I have this numpad:
And his matrix:
For example, * is the same as row 0 + column 2. Which is the same as B0 + B7.
You only need to be sure that every key is a unique combination. The page builds the code for you, nothing more easy than that.
Let's see a quick example, first I have this numpad:
And his matrix:
For example, * is the same as row 0 + column 2. Which is the same as B0 + B7.
You only need to be sure that every key is a unique combination. The page builds the code for you, nothing more easy than that.
- PlacaFromHell
- Location: Argentina
- Main keyboard: IBM 3101
- Main mouse: Optical piece of shit
- Favorite switch: Beamspring
- DT Pro Member: -
Yeah, they are physical pins of the controller, already defined. This will help you:
-
- Location: United States
- DT Pro Member: -
Okay, so the web page is showing the corresponding layout with how it would match up to the pins on the controller ? That would make sense but it's little details like that that get lost when trying to search and getting a bazillion hits with the word Matrix in them.
That is a huge help if I understand it correctly.
Thank You !
That is a huge help if I understand it correctly.
Thank You !
- PlacaFromHell
- Location: Argentina
- Main keyboard: IBM 3101
- Main mouse: Optical piece of shit
- Favorite switch: Beamspring
- DT Pro Member: -
You're right, when your entire layout is done, just flash the controller and connect the physical traces to the corresponding physical pins.
They are much more ways to "do" a keyboard, but this one is the easiest in my opinion.
They are much more ways to "do" a keyboard, but this one is the easiest in my opinion.
- PlacaFromHell
- Location: Argentina
- Main keyboard: IBM 3101
- Main mouse: Optical piece of shit
- Favorite switch: Beamspring
- DT Pro Member: -
I need to see what pins are you using first.
- PlacaFromHell
- Location: Argentina
- Main keyboard: IBM 3101
- Main mouse: Optical piece of shit
- Favorite switch: Beamspring
- DT Pro Member: -
But I need to see what pins are you using for each row and column
-
- Location: United States
- DT Pro Member: -
This is where I'm lost. I had no idea you could choose the pins yourself ? Thought you had to pick pins in some sort of order ?
This is what makes it so confusing...
What would you put it for the layout below using the Teensy ++ 2 ? That's really the only way I'm going to understand this I guess.
This is what makes it so confusing...
What would you put it for the layout below using the Teensy ++ 2 ? That's really the only way I'm going to understand this I guess.
- Attachments
-
- LH-Example.png (110.18 KiB) Viewed 6501 times
- PlacaFromHell
- Location: Argentina
- Main keyboard: IBM 3101
- Main mouse: Optical piece of shit
- Favorite switch: Beamspring
- DT Pro Member: -
Just use the ones that the page gives to you. It's the safest way because these microcontrollers sometimes have oscilators or pins with weird outputs.
I couldn't tell you what combination was the key in the picture because I don't know what pins you have assigned by default (but also you can choose your pins if you want). When you are wiring your keyobard and you want to know what pin is what, you need to see the "PINS" tab. Pins are not necessary related with the row/column number and all of them work by the same way in two groups, which are rows and columns.
This is not related to the keyboard firmware, but will help you to understand some points. Every letter in a pin name is just a port, and the number is a bit from this port. For example, B5 is the bit Nº5 from port B. In the PIC era you were forced to use the entire port as input or output, if you were using a pin from the port B to turn on a LED, you were not able to use any other pin from this port as an entry. Fortunately (and not), in our era, in most microcontrollers you can independently define each pin as an input or as an output. For example, if you use a PIC for a keyboard (which I never seen before), you will need separate ports for columns and rows, because one sends current and the other receives it, I don't remember which one does what, but just think like "male" and "female" pins. This is why you will find rows and columns with the same letter and it will turn confusing, but do not panic, it's normal. Just be sure you don't have any pin repeating in somewhere. And also this explains why you can't connect two columns or two rows.
I couldn't tell you what combination was the key in the picture because I don't know what pins you have assigned by default (but also you can choose your pins if you want). When you are wiring your keyobard and you want to know what pin is what, you need to see the "PINS" tab. Pins are not necessary related with the row/column number and all of them work by the same way in two groups, which are rows and columns.
This is not related to the keyboard firmware, but will help you to understand some points. Every letter in a pin name is just a port, and the number is a bit from this port. For example, B5 is the bit Nº5 from port B. In the PIC era you were forced to use the entire port as input or output, if you were using a pin from the port B to turn on a LED, you were not able to use any other pin from this port as an entry. Fortunately (and not), in our era, in most microcontrollers you can independently define each pin as an input or as an output. For example, if you use a PIC for a keyboard (which I never seen before), you will need separate ports for columns and rows, because one sends current and the other receives it, I don't remember which one does what, but just think like "male" and "female" pins. This is why you will find rows and columns with the same letter and it will turn confusing, but do not panic, it's normal. Just be sure you don't have any pin repeating in somewhere. And also this explains why you can't connect two columns or two rows.
- Muirium
- µ
- Location: Edinburgh, Scotland
- Main keyboard: HHKB Type-S with Bluetooth by Hasu
- Main mouse: Apple Magic Mouse
- Favorite switch: Gotta Try 'Em All
- DT Pro Member: µ
I don’t think “pin gender” is a thing. Not when it comes to pin letters / ports. I have made keyboards with Soarer’s Controller before with success, running strobes and senses (his preferred terminology for rows vs. columns) without paying ports any attention. For example, I built this matrix and it works fine:
What does matter: make sure every row and every column gets a unique, dedicated pin.
What doesn’t matter: the name of each of those pins. They are essentially arbitrary.
Oh and avoid that pesky LED pin. I’ve made that mistake more than once!
Code: Select all
matrix
scanrate 1
debounce 5
blocking 0
sense PF7 PB6 PB5 PB4 PD7 PC7 PC6 PD3 PD2 PD1 PD0 PB7 PB3 PB2 PB1 PB0
strobe PF0 esc 1 2 3 4 5 6 7 8 9 0 minus equal back_quote system_power UNASSIGNED
strobe PF1 tab q w e r t y u i o p left_brace right_brace UNASSIGNED backspace UNASSIGNED
strobe PF4 fn1 a s d f g h j k l semicolon quote UNASSIGNED enter UNASSIGNED UNASSIGNED
strobe PF5 lshift z x c v b n m comma period slash UNASSIGNED rshift UNASSIGNED FN2 UNASSIGNED
strobe PF6 lctrl lalt lgui UNASSIGNED UNASSIGNED space UNASSIGNED UNASSIGNED UNASSIGNED rgui ralt UNASSIGNED rctrl UNASSIGNED pad_enter UNASSIGNED
end
What doesn’t matter: the name of each of those pins. They are essentially arbitrary.
Oh and avoid that pesky LED pin. I’ve made that mistake more than once!
-
- Location: Stockholm, Sweden
- DT Pro Member: 0011
Don't use BOX switches! The cruciform shapes are too thick and have been shown to break keycaps' stems! There are several threads about this.tedfs3 wrote: ↑Switches are NovelKeys x Kailh BOX Thick Clicks Navy. Looking at the data sheet it seems they need square holes but I honestly have no idea how they are supposed to "mount" to the plate with the square hole. It appears they press fit between the small tabs on the body ?
Yes, the switches are supposed to clip into the plate with the small tabs on the north and south sides of the switch. These are (supposed to be) are on plastic springs that are part of the switch housing.
The use of the clips require the plate to be 1.5 mm thick. If it is too thick, they won't work and it will only be a press-fit (the tabs will be pressed in all the time).
Not quite. The unit is 3/4 of an inch, where an inch is 25.4 mm. That makes one key unit 19.05 mm.tedfs3 wrote: ↑The default unit seems to be 19mm from center key to center key.
It does not seem like much but when you have more switches and keys that are multiple units, it adds up.
Do use a scheme for labelling the logical rows and columns in the schematic. I suggest R0,R1,R2 ... and C0,C1,C2 ...
The convention is that each "column" is strobed and that each "row" is sensed.
The microcontroller strobes each column one at a time in series by shorting its pin to ground.
Of course, these are logical rows and columns, and your logical matrix does not have to correspond to your physical layout but it could make it easier to reason about and lay out.
You connect each switch in series with a diode. Which side of the switch the diode is on does not matter but it has to be "pointed" towards the column.
Diodes allow you to have n-key rollover. (This is so taken for granted in the community that people rarely mention it, but it wasn't already, so I do it just in case)
The pins on the AVR microcontrollers are capable of both input and output. There are some other microcontrollers where some pins are dedicated to input and others to output but because we don't use such a microcontroller that is not relevant.Muirium wrote: ↑I don’t think “pin gender” is a thing. Not when it comes to pin letters / ports.
I do think it would look clean if you would use different ports on the microcontroller for rows and columns.
However, a few pins on the microcontroller are capable of PWM output whereas most pins are not. You want to assign a PWM pin to an indicator LED instead of the matrix, if you have LEDs.
I am not sure but I think all the common free firmwares require each LED to be on a PWM pin. Some firmware may even have hardcoded which pin goes to which LED: you would have to check that.
-
- Location: United States
- DT Pro Member: -
Thank you for the explanation. I was under the impression you had to know what pins to use and had to manually assign them on the Pins page. That's what I get for over thinking.
I did read the thread on Box switches but have already bought them and kind of like the feel and sound the Navy's have. I won't be switching out caps on these, as the ones that will go on there will stay on. Possibly a little shaving with a razor blade and a small dab of lube would prevent the cracking but I'm not too concerned about it as the caps won't be very expensive and won't be taken off multiple times.
Looks like I'll have to figure out how to program the Russian as all the Cyrillic letters and words just say NO on the Keymap using the Keyboard Firmware Builder site.
I did read the thread on Box switches but have already bought them and kind of like the feel and sound the Navy's have. I won't be switching out caps on these, as the ones that will go on there will stay on. Possibly a little shaving with a razor blade and a small dab of lube would prevent the cracking but I'm not too concerned about it as the caps won't be very expensive and won't be taken off multiple times.
Looks like I'll have to figure out how to program the Russian as all the Cyrillic letters and words just say NO on the Keymap using the Keyboard Firmware Builder site.
-
- Location: Stockholm, Sweden
- DT Pro Member: 0011
The keyboard's firmware does not know what is printed on the keys, they work with a code for each physical key. They also don't care about the state of the Shift and Ctrl keys, or even the locking key. The keyboard just reports the keys to the host computer. The host computer maps key-codes to symbols, and then it tells the keyboard which LEDs to light up.
Keyboard firmwares and tools tend to use the corresponding US-ANSI (English) names of keys, so if you use another layout than that, you will have to keep track of which code in US-ANSI corresponds to which code in your layout.
Keyboard firmwares and tools tend to use the corresponding US-ANSI (English) names of keys, so if you use another layout than that, you will have to keep track of which code in US-ANSI corresponds to which code in your layout.
- PlacaFromHell
- Location: Argentina
- Main keyboard: IBM 3101
- Main mouse: Optical piece of shit
- Favorite switch: Beamspring
- DT Pro Member: -
Well, I didn't explained myself very well. First, in a keyboard controller you will never use input and output in the same pin. Also, in the hypotethical case you first have to define the pin as the contrary state, it will never work like an input and an output at the same time.Findecanor wrote: ↑Don't use BOX switches! The cruciform shapes are too thick and have been shown to break keycaps' stems! There are several threads about this.tedfs3 wrote: ↑Switches are NovelKeys x Kailh BOX Thick Clicks Navy. Looking at the data sheet it seems they need square holes but I honestly have no idea how they are supposed to "mount" to the plate with the square hole. It appears they press fit between the small tabs on the body ?
Yes, the switches are supposed to clip into the plate with the small tabs on the north and south sides of the switch. These are (supposed to be) are on plastic springs that are part of the switch housing.
The use of the clips require the plate to be 1.5 mm thick. If it is too thick, they won't work and it will only be a press-fit (the tabs will be pressed in all the time).
Not quite. The unit is 3/4 of an inch, where an inch is 25.4 mm. That makes one key unit 19.05 mm.tedfs3 wrote: ↑The default unit seems to be 19mm from center key to center key.
It does not seem like much but when you have more switches and keys that are multiple units, it adds up.
Do use a scheme for labelling the logical rows and columns in the schematic. I suggest R0,R1,R2 ... and C0,C1,C2 ...
The convention is that each "column" is strobed and that each "row" is sensed.
The microcontroller strobes each column one at a time in series by shorting its pin to ground.
Of course, these are logical rows and columns, and your logical matrix does not have to correspond to your physical layout but it could make it easier to reason about and lay out.
You connect each switch in series with a diode. Which side of the switch the diode is on does not matter but it has to be "pointed" towards the column.
Diodes allow you to have n-key rollover. (This is so taken for granted in the community that people rarely mention it, but it wasn't already, so I do it just in case)
The pins on the AVR microcontrollers are capable of both input and output. There are some other microcontrollers where some pins are dedicated to input and others to output but because we don't use such a microcontroller that is not relevant.Muirium wrote: ↑I don’t think “pin gender” is a thing. Not when it comes to pin letters / ports.
I do think it would look clean if you would use different ports on the microcontroller for rows and columns.
However, a few pins on the microcontroller are capable of PWM output whereas most pins are not. You want to assign a PWM pin to an indicator LED instead of the matrix, if you have LEDs.
I am not sure but I think all the common free firmwares require each LED to be on a PWM pin. Some firmware may even have hardcoded which pin goes to which LED: you would have to check that.
I was just trying to make it easier but I turned it more confusing. Better leave this to native english speakers.
-
- Location: United States
- DT Pro Member: -
I understood what you were saying and really appreciate your helping me to understand all this.PlacaFromHell wrote: ↑ Well, I didn't explained myself very well. First, in a keyboard controller you will never use input and output in the same pin. Also, in the hypotethical case you first have to define the pin as the contrary state, it will never work like an input and an output at the same time.
I was just trying to make it easier but I turned it more confusing. Better leave this to native english speakers.
- Muirium
- µ
- Location: Edinburgh, Scotland
- Main keyboard: HHKB Type-S with Bluetooth by Hasu
- Main mouse: Apple Magic Mouse
- Favorite switch: Gotta Try 'Em All
- DT Pro Member: µ
Indeed. And I’m Scottish, so things can always come out a bit “direct” even when unintended! Placa knows this stuff better than me on the technical level. Hopefully my simplification wasn’t over simplification! Anyway, pretty sure you’ll get to your keyboard in the end.
Now: the Russian part. Here’s the trick: keyboards aren’t language specific. The caps may look that way, but the codes they send to the computer are always the same, as I understand it. What you’ll need to make the Russian leap is select a Russian keyboard input mode on your computer. You’ll find that each key has a new equivalent. From there, you can reverse engineer your desired alterations.
There are no keyboard specific key codes for the Russian characters you seek. You task is to switch into Russian layout mode and find out what aliases you need to get there.
Now: the Russian part. Here’s the trick: keyboards aren’t language specific. The caps may look that way, but the codes they send to the computer are always the same, as I understand it. What you’ll need to make the Russian leap is select a Russian keyboard input mode on your computer. You’ll find that each key has a new equivalent. From there, you can reverse engineer your desired alterations.
There are no keyboard specific key codes for the Russian characters you seek. You task is to switch into Russian layout mode and find out what aliases you need to get there.
-
- Location: Argentina
- Main keyboard: IBM/M
- Favorite switch: ALPS
- DT Pro Member: -
It shouldn't be a thing, but sometimes, it could.Muirium wrote: ↑I don’t think “pin gender” is a thing. Not when it comes to pin letters / ports. I have made keyboards with Soarer’s Controller before with success, running strobes and senses (his preferred terminology for rows vs. columns) without paying ports any attention.(...)
I tried to flash QMK into a Teensy 3.2 but rushed to solder the diodes before testing the software. Of course, as you are now suspecting, I had the diodes the other way around. I could not make for the life of me make it work by switching them in software, and had to run to other software to allow me to flash the board without resoldering.
I suspect there's always a way, but YMMV and mine did.
-
- Location: United States
- DT Pro Member: -
I just wanted to let you guys know how helpful this thread has been - I am also trying to put together a custom layout keyboard, and this has definitely answered some of my questions.
Do you all have any good resources for beginning with KiCad? I am very lost when it comes to the software portion of PCB design.-
- Location: United States
- DT Pro Member: -
There's some good stuff on Youtube to get you familiar with KiCad. The one below was done with an older version of KiCad 4.0. They are currently on version 5. If you want to follow along with the playlist, I'd recommend downloading the older 4.0 version of KiCad so there won't be any confusion trying to learn the software. Once you are comfortable enough, I'd download the 5.0.1 release and keep an eye out for 5.0.2 soon.WiCK wrote: ↑I just wanted to let you guys know how helpful this thread has been - I am also trying to put together a custom layout keyboard, and this has definitely answered some of my questions. Do you all have any good resources for beginning with KiCad? I am very lost when it comes to the software portion of PCB design.
-
- Location: United States
- DT Pro Member: -
What I'm wondering now is where to find information on spacing for proper placement of the footprints on the PCB to make sure the keys line up properly and don't touch each other.
I'd like the pcb footprint placements to match the hole placements of the plate that swillkb spits out.
I'd like the pcb footprint placements to match the hole placements of the plate that swillkb spits out.
-
- Location: United States
- DT Pro Member: -
Can anyone explain how the status LEDs are connected and assigned ? It's probably simple but I'm just not understanding what to select in the Keyboard Firmware Builder.
The first picture is a potential layout. The second picture is the wiring generated by Firmware builder. Third picture is the key map and the LEDs in question are highlighted. The builder seems to be treating these as keys with wiring and KC codes. What's confusing to me is where is the option to indicate they are LEDs and not keys in the builder ? Or am I just missing something altogether ?
The first picture is a potential layout. The second picture is the wiring generated by Firmware builder. Third picture is the key map and the LEDs in question are highlighted. The builder seems to be treating these as keys with wiring and KC codes. What's confusing to me is where is the option to indicate they are LEDs and not keys in the builder ? Or am I just missing something altogether ?