On Fri, 2024-09-06 at 09:51 -0700, Dmitry Torokhov wrote: > Hi Nuno, > > On Fri, Sep 06, 2024 at 10:38:35AM +0200, Nuno Sá wrote: > > > > Hi Dmitry, > > > > This is not forgotten and I plan to start working on this early next week. > > > > One thing I noticed and I might as well just ask before starting the work, > > is that > > the platform data allows, in theory, for you to have holes in your keymap > > [1]. Like > > enabling row 1 and 3 skipping 2. AFAICT, the matrix stuff does not allow > > this out of > > the box as we just define the number of rows/cols and then without any other > > property > > we assume (I think) that the map is contiguous. > > > > This is just early thinking but one way to support the current behavior > > would be 2 > > custom DT properties that would be 2 u32 arrays specifying the enabled > > columns and > > rows. Out of it, we could build row and col masks and get the total number > > of cols > > and rows that we could pass to matrix_keypad_build_keymap(). > > I'd ask DT maintainers but in my opinion we could add 2 u32 scalar > properties to specify row and col masks (either enabled or disabled, > whatever is more convenient) and then indeed we could figure out the > resulting size of key matrix and use matrix_keypad_build_keymap() to > load it. > Alright, I'll see how it looks like and DT maintainers can then comment on it. I'm afraid they can complain about the masks (for not being super user friendly) but I think key arrays should be acceptable. I'll try the masks anyways... - Nuno Sá >