Author Topic: FAQ, making my first 96key(not%) DIY Keyboard  (Read 4709 times)

0 Members and 1 Guest are viewing this topic.

Offline HenryManson

  • Thread Starter
  • Posts: 3
  • Location: Hamburg
FAQ, making my first 96key(not%) DIY Keyboard
« on: Wed, 03 May 2023, 10:18:54 »
Moinsen!
First of all, i hope this is the right Thread!,since this isnt about a "keyboard" yet, but basic keyboard-making knowledge, so i wasnt sure where to put this, but "making stuff together" seemed to be the closest thing!, so here i am!

A While ago,i decided, that i want to build my own Keyboard from scratch (PCB & All) because the 96key(not%) Layout i prefer to have isnt on the Market, strangely.
I am Electrician by Trade, building my own PCs since the '90s & do RC as Hobby and did some basic Programming back in the Days, so i know a thing or two about Electronics & Computers, but not enough about PCB's & Programming yet [At the Moment im in the middle of wrapping my head around KI-Cad7 to make that PCB, what an adventure  ;D]
But since i have never done something like this before, i got alot to learn and certain questions came up, that would be very helpful, if someone could just answer them for me insted of long frustrating google & co searches for tiny details & specifics.
This list is neither in Order, nor Complete(i bet  ;)) but these are questions i just couldnt find a definitive answer by myself yet, so any clarification on these points would be much appreciated!
Im aware that its likely,some my questions are answered in this forum somewhere, but to keep my sanity intact, i think putting them all together in this one thread is the better choice , so forgive my boldness  :rolleyes:
Im gonna cross out answered ones, so stuff doesnt get confusing & i hope i dont get confused either, doing this project :thumb:

Thanks to all who are willing to help out!
Peace
mho

Function FAQ:
1-can keys fully randomly be programmed inside the IC or does the matrix diktate wich keyvalue the OS gets?
2-are NUM & ROLL  function hard-(pcb wired) or software ?
3-can the keys be stacked in the IC's logic? (Roll Lock "hidden under" a NUM switched key)
4-can the FN-[F1-F12] keys freely programmed/set? or is their function dependend on the Fkeys keyvalue?
5-Is the NUMpad part of the normal grid? or a seperate entity on the pcb?
6-is the NUM key function a seperate hardware signal?, OS driver part? or a software value in the IC?
7-How dependent on the keyboard matrix are the Keyboard Key Code Values?
8-can we build the matrix however & let the IC figure it out by programming in "wich is what"?
9-do the IC's send the Key Code Values to the pc directly & let the OS-driver figure it out?
9a- or can we program the IC, so that it "lies" to the OS & just sends a Key Code Value of our choosing for a certain matrix grid?
10-how laborious is it to have the "Capslock,NUM&Roll" leds, routed as part of the key that switches them? and not on the frame?
10a-are the led's, software(OS or IC?) or hardware controlled?

   
Layout FAQ:

A-How "off" does it feel to have F1 over 1 and not 2? ...only ever had keyboards with F1 over 2!
B-Would an ANSI  Layout with "short ISO left shift+1key" be such a bad thing for international ppl? it would make the layout "hotswappable" between the 2 layouts  by just changing the "big enter" for a 1.5u & 1.25u cap [+changing the IC/OSdriver logic ofc]


Nice to know FAQ

what the "best" IC to go for these days to learn to "deal with"/program, to have full freedom in layout & output? (this is a while off still & i bet its a contentious topic, so no need to go tooo deep ;) but some direction would be nice!)
« Last Edit: Wed, 03 May 2023, 10:26:29 by HenryManson »
May the Fnord be with YOU, Always!

Offline LASERman Projects

  • Posts: 139
  • Location: Kent, UK
  • Soldering is my native language.
Re: FAQ, making my first 96key(not%) DIY Keyboard
« Reply #1 on: Thu, 04 May 2023, 03:30:36 »
Answering with assumption the QMK is used as firmware and my very limited knowledge about it:

Quote
1-can keys fully randomly be programmed inside the IC or does the matrix diktate wich keyvalue the OS gets?
YES, QMK allows you to map any key to produce any keycode including modifier keys (Shift, Alt etc.) or "lock" key (NumLock, ScrollLock, CapsLock).
We call the keyboard controlling IC (microprocessor) an MCU.

Quote
2-are NUM & ROLL  function hard-(pcb wired) or software ?
They are software statuses.

Quote
3-can the keys be stacked in the IC's logic? (Roll Lock "hidden under" a NUM switched key)
I believe you are asking about layers - QMK handles multiple layers and for example you can map key "1" in layers to do: Fn+1=F1, Fn2+1=Delete, Fn3+1=Home etc. making key "1" multipurposed.

Quote
4-can the FN-[F1-F12] keys freely programmed/set? or is their function dependend on the Fkeys keyvalue?
Not sure what you mean but they are the same simple keycodes as any other key.

5-Is the NUMpad part of the normal grid? or a seperate entity on the pcb?
You can place numpad keycodes anywhere you like

Quote
6-is the NUM key function a seperate hardware signal?, OS driver part? or a software value in the IC?
No, it's software keycode

Quote
7-How dependent on the keyboard matrix are the Keyboard Key Code Values?
Not dependent at all

Quote
8-can we build the matrix however & let the IC figure it out by programming in "wich is what"?
You build the matrix however you like then you link it in firmware as raw key numbers then they can be mapped to actual keycodes (and keycodes can even even be changed on the fly with VIA / VIAL)

Quote
9-do the IC's send the Key Code Values to the pc directly & let the OS-driver figure it out?
Like said above: MCU sends only basic keycodes and OS translate it to current language character.
Logically the keycode from keyboard DO NOT always equal to actual character produced on the screen.
Keyboard sends only standard "key code" from limited basic (US?) table and OS decides to interpret actual character i.e. pressing Shift+' on any keyboard will send quote (") keycode to PC but the OS will produce at sign (@) when is set for UK keyboard layout (language settings) or quote (") when set for US keyboard layout.
There is no direct keycode for UK @ key.

Quote
9a- or can we program the IC, so that it "lies" to the OS & just sends a Key Code Value of our choosing for a certain matrix grid?
I believe now this is redundant question after above answers.

Quote
10-how laborious is it to have the "Capslock,NUM&Roll" leds, routed as part of the key that switches them? and not on the frame?
Tracks has to go to the IC from switches the same way as from status LEDs - you can place them anywhere you like.

Quote
10a-are the led's, software(OS or IC?) or hardware controlled?
Status LEDs are software controlled and AFAIK the current statuses of "Locks's" are send from PC to keyboard.

Quote
A-How "off" does it feel to have F1 over 1 and not 2? ...only ever had keyboards with F1 over 2!
Not at all - most custom compact keyboards have this layout.

Quote
Would an ANSI  Layout with "short ISO left shift+1key" be such a bad thing for international ppl?
This is called split left Shift and many custom keebs allow you to built it either full or split and even there is the same choice for split Right Shift. Both independently to ISO or ANSI Enter.
They all intentionally made options to make any odd layout for user preference - an essence of "Custom Keyboard" idea IMHO.

Quote
what the "best" IC to go for these days to learn to "deal with"/program, to have full freedom in layout & output?
There is limited number of MCUs QMK covers and most popular are the variants of ATMega32.

Important resources for you to digest:
QMK the most popular enthusiast open-source firmware for keyboard builders
VIA end user interface for instant reprogramming of QMK powered keyboards
Keyboard Atelier Discord server dedicated for keyboard design - probably the best keeb maker community (I have no invite privileges).


Offline Leslieann

  • * Elevated Elder
  • Posts: 4519
Re: FAQ, making my first 96key(not%) DIY Keyboard
« Reply #2 on: Thu, 04 May 2023, 04:44:11 »
1, 2, 4, 7, 8, 9
The matrix is just a matrix, the controller has no idea what is what until you tell it in firmware, which it then sends the correct code to the computer. If you tell it shorting pin 3 and 4 is the ESC key it will send the ESC key code.

3.
That's called called layers, and yes they "stack".  Layers will soak up memory fast, especially on a nearly full size keyboard.

5. and 6.
Your keypad can be part of the main matrix or separate or even a second controller entirely, however in any case you need to make sure you have enough I/O pins for the matrix and LEDS, and anything else you want to add..  Being a near full size your options for controllers is going to be limited unless you use two, which I don't recommend unless you have a specific need. Using two adds a lot of software complexity and can introduce hardware problems as well as not all controllers play well together, even with themselves.

10. and 10a.
LED's are similar to switches however they each need a dedicated I/O pin per indicator LED. If you want 3 lights, it's going to cost you 3 pins. I/O pins and memory are precious resources. Take the number of rows and the number of columns and add them together, that's the bare minimum number of I/O pins you need, plus one per LED. Those LEDs are costly and they only become more costly when you start shopping compatible controllers.


Bonus round
A&B both depend on the person.
A. Some don't mind, others despise it, I think it depends a LOT on how often you use them and which ones.
B. Is a whole different story, this is a primary key while typing AND while gaming. You may adapt, you may not. Personally, I use a lot of different keyboards (I.T.) and it's frustrating going back and forth between odd layouts, if this is you, beware.
Novelkeys NK65AE w/62g Zilents/39g springs
More
62g Zilents/lubed/Novelkeys 39g springs, HK Gaming Thick PBT caps, Netdot Gen10 magnetic cable, pic
| Filco MJ2 L.E. Vortex Case, Jailhouse Blues, heavily customized
More
Vortex case squared up/blasted finish removed/custom feet/paint/winkey blockoff plate, HID Liberator, stainless steel universal plate, 3d printed adapters, Type C, Netdot Gen10 magnetic cable, foam sound dampened, HK Gaming Thick PBT caps (o-ringed), Cherry Jailhouse Blues w/lubed/clipped Cherry light springs, 40g actuation
| GMMK TKL
More
w/ Kailh Purple Pros/lubed/Novelkeys 39g springs, HK Gaming Thick PBT caps, Netdot Gen10 Magnetic cable
| PF65 3d printed 65% w/LCD and hot swap
More
Box Jades, Interchangeable trim, mini lcd, QMK, underglow, HK Gaming Thick PBT caps, O-rings, Netdot Gen10 magnetic cable, in progress link
| Magicforce 68
More
MF68 pcb, Outemu Blues, in progress
| YMDK75 Jail Housed Gateron Blues
More
J-spacers, YMDK Thick PBT, O-rings, SIP sockets
| KBT Race S L.E.
More
Ergo Clears, custom WASD caps
| Das Pro
More
Costar model with browns
| GH60
More
Cherry Blacks, custom 3d printed case
| Logitech Illumininated | IBM Model M (x2)
Definitive Omron Guide. | 3d printed Keyboard FAQ/Discussion

Offline HenryManson

  • Thread Starter
  • Posts: 3
  • Location: Hamburg
Re: FAQ, making my first 96key(not%) DIY Keyboard
« Reply #3 on: Thu, 04 May 2023, 09:44:12 »
very nice of you two, clearing all points in one go  :thumb: thx!
excellent birthday gift guys! that covers it for now!
i leave them not crossed out afterall, since everything is basically answered already ... now all i need to figure out is how to make it real :cool:
May the Fnord be with YOU, Always!

Offline HenryManson

  • Thread Starter
  • Posts: 3
  • Location: Hamburg
Re: FAQ, making my first 96key(not%) DIY Keyboard
« Reply #4 on: Thu, 04 May 2023, 09:58:40 »
Bonus round
A&B both depend on the person.
A. Some don't mind, others despise it, I think it depends a LOT on how often you use them and which ones.
B. Is a whole different story, this is a primary key while typing AND while gaming. You may adapt, you may not. Personally, I use a lot of different keyboards (I.T.) and it's frustrating going back and forth between odd layouts, if this is you, beware.

im mainly after a compact gaming keyboard & being german, i only ever knew the "shortshift & big enter combo", i just thought, that if my pcb works out, why not have it in a way that non-german users could just plug it in themself, switch 2 keys & its fine :D
and those with bigshift really miss out!, personally i use the "extra" key next to shift for "autorun", next to the shift for sprint! just glorious spot for a function like that!


Quote
3-can the keys be stacked in the IC's logic? (Roll Lock "hidden under" a NUM switched key)
I believe you are asking about layers - QMK handles multiple layers and for example you can map key "1" in layers to do: Fn+1=F1, Fn2+1=Delete, Fn3+1=Home etc. making key "1" multipurposed.

i could have phrased this more precise, i want to put "roll" under "num8", so my question is, is the "roll status/value" saved/kept-active, regardless of the key being changed to"8" by NUM?
because, if i understand you correctly, it should be a "locked in value" until the OS gets the "roll keypress" input again to turn it off...riight?!
« Last Edit: Thu, 04 May 2023, 11:02:47 by HenryManson »
May the Fnord be with YOU, Always!

Offline Marboard

  • Posts: 34
  • Location: Oxford
    • Marboard.net
Re: FAQ, making my first 96key(not%) DIY Keyboard
« Reply #5 on: Fri, 05 May 2023, 14:06:31 »
Good luck!