#[Solved] Error when compile nice!nano v2 japanese duplex split firmware
1 messages · Page 1 of 1 (latest)
I know what this message means, i'm new in zmk, before i make firmware for rp2040 in qmk. I can't find how to make custom split shields/boards, i just watch some videos in YouTube and I wrote configs for my keyboard in the likeness of the HookyKB code https://github.com/HookyKB/zmk/commit/40221a49c8d8300a4f393b6cac7a04000a2e0af8
You should follow the directions right below it. "Please choose one of the following boards:"
nice_nano_v2 is one of the options.
https://github.com/Luerl21/zmk-config/actions/runs/7078454425/job/19263950172#step:9:244
i know, but i want to make japanese duplex matrix work, i need to do this and then editing configs?
Using a specific matrix scanning routine doesn't change the board you are creating a shield for. The board/shield distinction is an important thing to understand when working with Zephyr/ZMK, so it's probably a good idea to read the FAQ that explains that a bit: https://zmk.dev/docs/faq#what-is-a-board
You will need to set up your shield to build for a nice!nano (v2), and then you can follow the betatesting instructions to try out that pull request: https://zmk.dev/docs/features/beta-testing
What should be the directory structure? I made one like this but have no shield named error
Please use https://zmk.dev/docs/development/new-shield as a reference, you have a few issues with that directory structure
Overview
You shouldn’t have app/ between there, and you have Kconfig.defconf instead of Kconfig.defconfig
all fixed, but same error https://github.com/Luerl21/zmk-config/tree/master
Looks like you moved past that error, do you need help for the current one?
Yes, now i have this error https://github.com/Luerl21/zmk-config/actions/runs/7079950338/job/19267184779#step:9:408
There is no zmk,kscan-gpio-round-robin driver in ZMK, did you mean to use this PR?
https://github.com/zmkfirmware/zmk/pull/1694/files
Thanks, now all compiled but halves not pairing, and when i type something on halve that connected to pc nothing happened
Contribute to Luerl21/zmk-config development by creating an account on GitHub.
@lilac trench Hello, sorry for @, can you help me with Japanese duplex matrix? This is my code https://github.com/Luerl21/zmk-config and schema
all compile sucesfully but not react to typing and halves not pairing
if i push 2 buttons (RC(3,3) and RC(4,3)) on pc prints "a"
You'll need to map them differently. The rows and columns won't have the same numbers. You'll have to define your gpios as either all the columns, then all the rows or vice versa, So your column 3 row 4 would be RC(2,6). I'm assuming it's a split, I'm not exactly sure what offseting you'll need to do for the duplex.
I'm assuming you're actually pushing col2->row4 and col3<-row4 (note the direction) which is connecting col1->col2 giving you RC(1,2) or a.
How write col0 row0 RC(0,0) and to other button row0 col0 also RC(0,0)?
this is map for default matrix
map = <
RC(0,0) RC(1,0) RC(2,0) RC(3,0) RC(4,0) RC(5,0) RC(6,0) RC(7,0) RC(8,0) RC(9,0) RC(10,0) RC(11,0) RC(12,0)
RC(0,1) RC(1,1) RC(2,1) RC(3,1) RC(4,1) RC(5,1) RC(6,1) RC(7,1) RC(8,1) RC(9,1) RC(10,1) RC(11,1) RC(12,1)
RC(0,2) RC(1,2) RC(2,2) RC(3,2) RC(4,2) RC(5,2) RC(6,2) RC(7,2) RC(8,2) RC(9,2) RC(10,2) RC(11,2) RC(12,2)
RC(2,3) RC(3,3) RC(4,3) RC(5,3) RC(6,3) RC(7,3) RC(8,3)
>;
if i write RC(0,0) RC(0,0) RC(1,0) RC(0,1) ...
it will not work correctly
maybe it's possible to duplicate col pins and write RC(0,0) RC(3,0) ?
Assuming your schema is the layout you're after, and you specify the rows first, then columns, and using a column offset (3 I think) for the right it should work with:
map = <
RC(0,4) RC(4,0) RC(0,5) RC(5,0) RC(0,6) RC(6,0) RC(7,0) RC(0,7) RC(0,8) RC(8,0) RC(0,8) RC(9,0) RC(0,9)
RC(1,4) RC(4,1) RC(1,5) RC(5,1) RC(1,6) RC(6,1) RC(7,1) RC(1,7) RC(1,8) RC(8,1) RC(1,8) RC(9,1) RC(1,9)
RC(2,4) RC(4,2) RC(2,5) RC(5,2) RC(2,6) RC(6,2) RC(7,2) RC(2,7) RC(2,8) RC(8,2) RC(2,8) RC(9,2) RC(2,9)
RC(5,3) RC(3,6) RC(6,3) RC(7,3) RC(3,7) RC(3,8)
>;
This assumes your left and right are wired the same. 🤞
Relabel (on your schema) your rows/col as pin numbers (their array index - zero based - in the overlay) and use that number, with the driving pin first, and the output pin second.
I change main halve to right, and now with your map what i change when i press RC(3,7) RC(3,8) typing r, when press other buttons one at a time, nothing happened, but when I press some buttons together, something is printed
Have you changed your overlay files to include all the rows and columns in the map, and changed the row offset to a column offset?
now change offset on right to 3 and RC(3,7) RC(3,8) not printing r, RC(7,0) RC(8,0) prints w
Left
/*
* Copyright (c) 2023 ZMK
*
* SPDX-License-Identifier: MIT
*/
#include "synth_wave.dtsi"
&kscan0 {
gpios
= <&pro_micro 4 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>
, <&pro_micro 5 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>
, <&pro_micro 6 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>
;
};
Right
/*
* Copyright (c) 2023 ZMK
*
* SPDX-License-Identifier: MIT
*/
#include "synth_wave.dtsi"
&default_transform {
col-offset = <3>;
};
&kscan0 {
gpios
= <&pro_micro 6 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>
, <&pro_micro 5 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>
, <&pro_micro 4 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>
;
};
You only have the column pins in the gpios, you need to have the row pins and column pins in there.
RC(7,1) RC(8,1) ... print w too
i have row pins in dtsi file
Nope, that gets over written by the overlay, not added to.
oh
You're not defining row_gpios and col_gpios, just all of them together.
Just put the ones from the dtsi file at the end of the ones in the overlay(s). In the same block.
(The pins will be in order for the left side)
Left side work perfectly but right duplicate left side buttons, maybe you know how to fix it?
map = <
RC(3,0) RC(0,3) RC(3,1) RC(1,3) RC(3,2) RC(2,3) RC(7,3) RC(3,7) RC(7,4) RC(4,7) RC(7,5) RC(5,7)
RC(4,0) RC(0,4) RC(4,1) RC(1,4) RC(4,2) RC(2,4) RC(8,3) RC(3,8) RC(8,4) RC(4,8) RC(8,5) RC(5,8)
RC(5,0) RC(0,5) RC(5,1) RC(1,5) RC(5,2) RC(2,5) RC(9,3) RC(3,9) RC(9,4) RC(4,9) RC(9,5) RC(5,9)
RC(6,1) RC(1,6) RC(6,2) RC(2,6) RC(10,3) RC(3,10) RC(10,4) RC(4,10)
>;
Right
/*
* Copyright (c) 2023 ZMK
*
* SPDX-License-Identifier: MIT
*/
#include "synth_wave.dtsi"
&kscan0 {
gpios
= <&pro_micro 4 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>
, <&pro_micro 5 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>
, <&pro_micro 6 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>
, <&pro_micro 7 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>
, <&pro_micro 8 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>
, <&pro_micro 9 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>
, <&pro_micro 10 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>
;
};
Left
/*
* Copyright (c) 2023 ZMK
*
* SPDX-License-Identifier: MIT
*/
#include "synth_wave.dtsi"
&kscan0 {
gpios
= <&pro_micro 4 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>
, <&pro_micro 5 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>
, <&pro_micro 6 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>
, <&pro_micro 7 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>
, <&pro_micro 8 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>
, <&pro_micro 9 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>
, <&pro_micro 10 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>
;
};
You need to add an offset e.g. col-offset by overriding the matrix transform node on the right overlay
befor was offset 3 and same thing
I don't think your matrix transform is quite right
/*
* Copyright (c) 2023 ZMK
*
* SPDX-License-Identifier: MIT
*/
#include "synth_wave.dtsi"
&default_transform {
col-offset = <3>;
};
&kscan0 {
gpios
= <&pro_micro 4 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>
, <&pro_micro 5 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>
, <&pro_micro 6 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>
, <&pro_micro 7 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>
, <&pro_micro 8 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>
, <&pro_micro 9 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>
, <&pro_micro 10 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>
;
};
If matrix transform for the round robin works the same as other kscans: You should have RC(X, Y) for X and Y between 0 and 6 for both halves; then, add 6 to the column value (second item) for everything on the right half and use col-offset = <6>;
I'll try. And what should I do if the halves don't connect to each other
The following page provides suggestions for common errors that may occur during firmware compilation or other issues with keyboard usage. If the information provided is insufficient to resolve the issue, feel free to seek out help from the ZMK Discord.
Sounds like they are paired though
thats help me, thanks
Help with map please, left side work perfectly but right side no. right side col-offset=6
&kscan0 {
gpios
= <&pro_micro 4 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>
, <&pro_micro 5 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>
, <&pro_micro 6 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>
, <&pro_micro 7 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>
, <&pro_micro 8 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>
, <&pro_micro 9 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>
, <&pro_micro 10 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>
;
};
map = <
RC(3,0) RC(0,3) RC(3,1) RC(1,3) RC(3,2) RC(2,3) RC(9,6) RC(6,9) RC(9,7) RC(7,9) RC(9,8) RC(8,9)
RC(4,0) RC(0,4) RC(4,1) RC(1,4) RC(4,2) RC(2,4) RC(10,6) RC(6,10) RC(10,7) RC(7,10) RC(10,8) RC(8,10)
RC(5,0) RC(0,5) RC(5,1) RC(1,5) RC(5,2) RC(2,5) RC(11,6) RC(6,11) RC(11,7) RC(7,11) RC(11,8) RC(8,11)
RC(6,1) RC(1,6) RC(6,2) RC(2,6) RC(12,7) RC(7,12) RC(12,8) RC(8,12)
>;
};
Do you have row or col offset on the right overlay?
col-offset=6 on right
OK, but you allso added an offset to the row values
RC(9,6) should be RC(3,6), I assume
that right, but not all buttons works, on right side works 1 button per col, 1 col y and u works only y, 2 col i and o works only i ...
Is this a symmetric PCB?
yep
Then you should mirror the right half, no?
e.g. the top right key should be RC(3,6), which is the mirror of RC(3,0) on the left half
just because of this, some keys may not work? I think it only affects the location
Yeah, that might result in a mirrored keymap
It looks like you still have some items like RC(8,3)
You should never have a row with index > 6
i'm use japanese duplex and need to swap scanning row2col and col2row, because i have row > 6
now buttons not in its place
if i'm set right map without offset same as left map, right map work perfectly but left duplicate right side
You only have 7 input-gpios, so their index go from 0 to 6. So all your RC(X,Y) should be in that range, except for the right half you want to add an offset to cols so it would be RC(X,Y+6)
If you do this the keyboard can't tell whether a press comes from the left half or right. Hence the offset and the added +6 in the matrix transform items
I finally figured out how it works, thanks a lot)
@lilac trench Is there a problem with encoders in your PR? When i add encoders to config i get this error https://github.com/Luerl21/zmk-config/actions/runs/7101189378/job/19328784827#step:9:43
Contribute to Luerl21/zmk-config development by creating an account on GitHub.
i have some problems with map RC(3,0) = RC(5,0) and RC(2,12). RC(2,12) = RC(2,12) and RC(5,0). But sometimes RC(2,12) works well and RC(3,0) = RC(2,12)
map = <
RC(3,0) RC(0,3) RC(3,1) RC(1,3) RC(3,2) RC(2,3) RC(3,6) RC(0,9) RC(3,7) RC(1,9) RC(3,8) RC(2,9)
RC(4,0) RC(0,4) RC(4,1) RC(1,4) RC(4,2) RC(2,4) RC(4,6) RC(0,10) RC(4,7) RC(1,10) RC(4,8) RC(2,10)
RC(5,0) RC(0,5) RC(5,1) RC(1,5) RC(5,2) RC(2,5) RC(5,6) RC(0,11) RC(5,7) RC(1,11) RC(5,8) RC(2,11)
RC(6,1) RC(1,6) RC(6,2) RC(2,6) RC(6,7) RC(1,12) RC(6,8) RC(2,12)
>;
can you help?
when reset all works well but RC(3,0) = RC(2,12) and when i push any 3 buttons and RC(3,0) on left side begins RC(3,0) = RC(5,0) and RC(2,12). RC(2,12) = RC(2,12) and RC(5,0)
That pattern doesn't indicate anything specific to me, perhaps an issue related to hardware? Or Hooky might have a better idea on potential mistakes with the round robin setup
not hardware issue
i'm check with enabled debug and when i press 1 pos button RC(3,0) in console i see zmk_kscan_process_msgq: Row: 3, col: 0, position: 43, pressed: true
The key press is on the left side, right? That's weird, it isn't consistent with your matrix transform
Can you try increasing columns?
when you press the button on the left side, the button on the right side is pressed
To at least 14?
I think it shouldn't hurt to bump both rows and columns to make sure, e.g. rows = <7>; columns = <14>;
also RC(3,0) = RC(2,12) but added to it RC(3,7)
map = <
RC(3,0) RC(0,3) RC(3,1) RC(1,3) RC(3,2) RC(2,3) RC(3,6) RC(0,9) RC(3,7) RC(1,9) RC(3,8) RC(2,9) RC(3,7) RC(1,9) RC(3,8) RC(2,9)
RC(4,0) RC(0,4) RC(4,1) RC(1,4) RC(4,2) RC(2,4) RC(4,6) RC(0,10) RC(4,7) RC(1,10) RC(4,8) RC(2,10) RC(4,7) RC(1,10) RC(4,8) RC(2,10)
RC(5,0) RC(0,5) RC(5,1) RC(1,5) RC(5,2) RC(2,5) RC(5,6) RC(0,11) RC(5,7) RC(1,11) RC(5,8) RC(2,11) RC(5,7) RC(1,11) RC(5,8) RC(2,11)
RC(6,1) RC(1,6) RC(6,2) RC(2,6) RC(6,6) RC(0,12) RC(6,8) RC(2,12)
RC(7,1) RC(1,7) RC(7,2) RC(2,7) RC(7,6) RC(0,13) RC(7,8) RC(2,13)
RC(8,1) RC(1,8) RC(8,2) RC(2,8) RC(8,6) RC(0,14) RC(8,8) RC(2,14)
RC(9,1) RC(1,9) RC(9,2) RC(2,9) RC(9,6) RC(0,15) RC(9,8) RC(2,15)
>;
Not sure if you tried what I suggested yet
increasing col and row by one helped)
maybe you know how to make encoders work? I configure all by documentation but when rotate encoders nothing happened
Usually because steps isn’t set right, it should typically be 4x or 2x the triggers per rotation
not working, and in debug nothing about encoders
You need to put these settings in left/right .conf files, or move it to config/synth_wave.conf instead: https://github.com/Luerl21/zmk-config/blob/master/config/boards/shields/synth_wave/synth_wave.conf#L9
That file isn't used
move to config/synth_wave.conf, but nothing change
thats right? config/boards/shields/synth_wave/config/synth_wave.conf
No, without all the boards shields subfolders.
It is an absolute path W.r.t. repo root
it works, thank you)
Sorry for many questions, but maybe you know what can i make with button map? When press RC(2,12) presses RC(2,12) and RC(5,0)
default_transform: keymap_transform_0 {
compatible = "zmk,matrix-transform";
columns = <13>;
rows = <5>;
map = <
RC(3,0) RC(0,3) RC(3,1) RC(1,3) RC(3,2) RC(2,3) RC(3,6) RC(0,9) RC(3,7) RC(1,9) RC(3,8) RC(2,9)
RC(4,0) RC(0,4) RC(4,1) RC(1,4) RC(4,2) RC(2,4) RC(4,6) RC(0,10) RC(4,7) RC(1,10) RC(4,8) RC(2,10)
RC(5,0) RC(0,5) RC(5,1) RC(1,5) RC(5,2) RC(2,5) RC(5,6) RC(0,11) RC(5,7) RC(1,11) RC(5,8) RC(2,11)
RC(6,1) RC(1,6) RC(6,2) RC(2,6) RC(6,7) RC(1,12) RC(6,8) RC(2,12)
>;
};
I thought this had fixed it, I am afraid I have no other ideas at the moment
I had suggested bumping rows = <7>; but I think you said it didn't help
yep, this didn't helped, before increasing cols and rows, RC(3,0) didn't work correctly, and when i press 3 buttons near RC(3,0) at the same time, RC(5,0) and RC(2,12) started to work incorrectly
but when i increase col and row, RC(3,0) and RC(5,0) fixed but now RC(2,12) always work incorrectly
og and when i press RC(3,6) + RC(0,9) + RC(3,7) + RC(1,9), RC(1,12) pressed by itself
i think it's because i'm use duplex matrix, but in qmk it works perfectly
Interesting, sounds like a duplex matrix-related thing indeed
So it is ghosting, if I understand correctly
Now i'm upload firmware without any editing and all works fine but when i press 3+ button in one time, bug are present
and after a few minutes, the error disappeared
Hmm, maybe you can try the wait ms config options in the PR to add some extra waiting during scanning
set in Kconfig.defconfig
config ZMK_KSCAN_DEBOUNCE_PRESS_MS
default 10
same bug. Or is this the wrong setting?
Adds support for https://kbd.news/Square-or-round-robin-matrix-1400.html with addition of an extra interrupt pin for low power support.
Implementation of this matrix in hardware is left as an exerc...
You might also want to double check that it takes effect in the Kconfig file in the build output loga
Did you try CONFIG_ZMK_KSCAN_CHARLIEPLEX_WAIT_BETWEEN_OUTPUTS?
yep, same bug
@fleet bay can you send me the full schema of your board, and maybe a pic of the wiring/pcb. That specific ghosting doesn't seem right unless the wiring doesn't match the config.
right side, where i get ghosting
@fleet bay https://github.com/Luerl21/zmk-config/pull/1 You had the offset as 6 instead of 7. I finished switching to row offset before noticing the offset value was wrong. This should work though.
Also, you can use zmk master now, Chalieplex got merged today. 🥳
Right side not working, i think button map wrong
Try RC(3,0) RC(0,3) RC(3,1) RC(1,3) RC(3,2) RC(2,3) RC(3,9) RC(2,10) RC(3,8) RC(1,10) RC(3,7) RC(0,10) RC(4,0) RC(0,4) RC(4,1) RC(1,4) RC(4,2) RC(2,4) RC(4,9) RC(2,11) RC(4,8) RC(1,11) RC(4,7) RC(0,11) RC(5,0) RC(0,5) RC(5,1) RC(1,5) RC(5,2) RC(2,5) RC(5,9) RC(2,12) RC(5,8) RC(1,12) RC(5,7) RC(0,12) RC(6,1) RC(1,6) RC(6,2) RC(2,6) RC(6,9) RC(2,13) RC(6,8) RC(1,13)
With your column offset (rows - on the right side - should be decreasing from left to right).
col offset = 6? Or 7
7
Offset is always the number of pins used for the matrix on the left (first) half.
this right version of map, but same bug
RC(3,0) RC(0,3) RC(3,1) RC(1,3) RC(3,2) RC(2,3) RC(3,7) RC(0,10) RC(3,8) RC(1,10) RC(3,9) RC(2,10)
RC(4,0) RC(0,4) RC(4,1) RC(1,4) RC(4,2) RC(2,4) RC(4,7) RC(0,11) RC(4,8) RC(1,11) RC(4,9) RC(2,11)
RC(5,0) RC(0,5) RC(5,1) RC(1,5) RC(5,2) RC(2,5) RC(5,7) RC(0,12) RC(5,8) RC(1,12) RC(5,9) RC(2,12)
RC(6,1) RC(1,6) RC(6,2) RC(2,6) RC(6,8) RC(1,13) RC(6,9) RC(2,13)
That's odd. That doesn't match with the schematic.
What do you get if you type the rows from left to right? Please give all of them. You should get:
[shift]asdfghjkl;'
[etc...]
all right
maybe because i have same gpios pos in file for left and right halves?
Left
&kscan0 {
gpios
= <&pro_micro 4 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>
, <&pro_micro 5 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>
, <&pro_micro 6 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>
, <&pro_micro 7 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>
, <&pro_micro 8 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>
, <&pro_micro 9 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>
, <&pro_micro 10 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>
;
};
Right
&kscan0 {
gpios
= <&pro_micro 4 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>
, <&pro_micro 5 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>
, <&pro_micro 6 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>
, <&pro_micro 7 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>
, <&pro_micro 8 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>
, <&pro_micro 9 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>
, <&pro_micro 10 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>
;
};
That shouldn't matter. Since they're both the same though, you can move them in to the the .dtsi file and remove the &kscan0 section in the overlay files.
Still need to see the keypress output.
All keys are pressed in order
When you press RC(4,9) (;) Does that generate the P, or was that a miss hit?
I don't know what this is trying to show.
From your first vid, it looks like it's only the bottom row (NM...) that doesn't work?
when press ralt , pressing ralt and lctrl
in first vid all work
when reboot keyboards, bug stay, sometimes It passes by itself, it usually appears when I press 4 keys on the left half at the same time as ralt on the right
The bottom row on the right are nevere pressed.
it's pressed, enter and ralt in the end
two buttons it's &trans and &mo 1 and two enter and ralt
because you see just two presses
The third row, MN,./[esc] they're not pressed.
Seems like everything in the key scan/map works, now it seems like it's more of a multi keypress issue. From the keymap/matrix side of things, there's nothing that would cause the right side to press a left side button. Have you tried increasing CONFIG_ZMK_KSCAN_EVENT_QUEUE_SIZE https://zmk.dev/docs/config/kscan#kconfig.
Feels like when you've hit a bunch of keys together there's a memory leak somewhere that's causing that RAlt+LCtrl issue.
I note that the RC(6,8) RC(1,13) RC(6,9) RC(2,13) part doesn't align with the rows above it. That doesn't match up with your schema.
Ah, strike that, I see what's going on, the thumb keys just aren't pushed to the left on the schema.
I don't understand what you're talking about.
for left side, and similar for right side
increase to 7 but not help
It's all good. I was the one who was confused.
i don't know why this bug provided but, when i press ralt when it bug and presses ralt+lctrl and delete nothing happened. it turns out that this bug does not affect keyboard input and is observed only on sites where keyboard keystrokes are visible