rmk icon indicating copy to clipboard operation
rmk copied to clipboard

Vial Matrix Tester seems cannot be used

Open mangkoran opened this issue 1 year ago • 5 comments

It seems Vial Matrix Tester is cannot be used. It doesn't respond to any input.

image

Pro Micro RP2040 (16M flash) rmk v0.4.1

mangkoran avatar Nov 09 '24 13:11 mangkoran

good find, it's just not implemented yet :(

HaoboGu avatar Nov 09 '24 14:11 HaoboGu

@HaoboGu any idea what pieces of the protocol need to be implemented in order for this to work? I'm not that familiar with Vial's protocol, and so far I haven't found the specific command(s) related to this feature.

whitelynx avatar Nov 11 '24 12:11 whitelynx

@HaoboGu any idea what pieces of the protocol need to be implemented in order for this to work? I'm not that familiar with Vial's protocol, and so far I haven't found the specific command(s) related to this feature.

It's SwitchMatrixState event, the qmk implement this way. However, it's hard to do it in Rust. I don't know if there's a easy way to implement this 🥲

HaoboGu avatar Nov 11 '24 12:11 HaoboGu

Is there a plan to support "NKRO"? Because that (if I know right) NKRO also needs the state storage of every keys, not only 6 + modifiers. But of course there is a difference: vial needs the phisical keys, while NKRO needs the "after mapped to FullSize" keys pressed state...

Also, I was wondering why register_keycode() has this strange code inside:

        // First, find the key event slot according to the position
        let slot = self.registered_keys.iter().enumerate().find_map(|(i, k)| {
            if let Some((row, col)) = k {
                if key_event.row == *row && key_event.col == *col {
                    return Some(i);
                }
            }
            return None;
        });

Why is that dealing with row/col positions??? Maybe to use it for VIAL matrix tester?

tib888 avatar Mar 05 '25 22:03 tib888

Adding a note here. Before we add support for vial matrix tester we need to implement the vial security feature, otherwise a malicious program can use the vial protocol to implement a keylogger

pcasotti avatar Mar 25 '25 12:03 pcasotti

Closed by #516

HaoboGu avatar Aug 21 '25 07:08 HaoboGu

Sorry for necrobump. I can confirm this issue has been fixed with the PR above, which is released in v0.8.0

https://github.com/user-attachments/assets/c5f69633-5132-4efc-84cd-410ea6717557

Thank you all!

mangkoran avatar Nov 30 '25 08:11 mangkoran