kiibohd / controller

Kiibohd Controller
GNU General Public License v3.0
810 stars 274 forks source link

Dead column and GPIO not corresponding on KIRA #369

Open xavier-ruiz opened 4 years ago

xavier-ruiz commented 4 years ago

Hello,

Keyboard : KIRA OS : Windows Software : Kiibohd Configurator Details of mapping : pins.xlsx

My problem is that I had a dead last column from the start (resell) but didn't take time to investigate. Today I did :

  1. I checked the pcb and the column : enter/+/-/PdDwn isn't linked to the micro processor ( I used a multimeter to check that ). I looked for every couple Colomn/Micro pro and Row/Micro pro and only that column isn't linked.

  2. I then checked on : controller/Scan/Kira/scancode_map.kll and saw that my mapping is different that the one described on the KLL. For example, on the keyboard, column 13 is gpio(A,4) instead of gpio(A,27) on the KLL I found here (you can see the detail in the attachment).

I'm trying to understand wether I have to modify the KLL to match my needs and feed it to Kiibohd Configurator (I didn't found how to do so), or if I have to solder a cable from the last column to the micro processor according to the KLL found here,

I hope that you'll be able to help me,

Best regards

haata commented 4 years ago

So, you'll need to do 2 things. 1) Resolder the the dead column to an unused pin. Some options are I_RX0 gpio(A,9) and I_TX0 gpio(A,10). GPIO(A,4) is one of the LED drivers, you won't be able to use it without modifying a lot of source code.

2) Remap the pin using custom KLL (this is easier when compiling yourself, but you can specify custom KLL snippets in the configurator). https://github.com/kiibohd/controller/blob/master/Scan/Kira/scancode_map.kll#L22 Here's an example replacing gpio(A,27) with gpio(A,9)

ScanCodeStrobeList = "
    gpio(B,1),
    gpio(B,2),
    gpio(B,3),
    gpio(A,18),
    gpio(A,19),
    gpio(A,23),
    gpio(A,20),
    gpio(A,11),
    gpio(A,8),
    gpio(A,7),
    gpio(A,6),
    gpio(A,5),
    gpio(A,9),
    gpio(A,28),
    gpio(A,29),
    gpio(A,30),
    gpio(A,2),
    gpio(A,1),
    gpio(A,0)
";