Closed a3desu closed 4 years ago
Well, technically it's quite possible that there is physical limitation as you mentioned. E.g. with external apple keyboard we had similar situation when combination Fn(Ctrl)+Shift+T was not passed to kernel at all (look issues #6 #46). This situation was considered unsolvable on software level.
Currently the issue is being closed as it's not directly related to apple keyboards, but one may feel free to add comments or discussions about Oklick keyboards here if they please.
Hi! I'm using Oklick 840S Wireless Keyboard:
It connected over bluetooth and here is dmesg part:
So it uses this driver. I had some problems with getting fn key working and now it behave like that:
I have patched driver to log some events like this:
And got this: Here when I press F1, fn_mode==2
And here fn+F1, fn_mode==2:
At this point I have F1 key input just as planned.
If I set fn_mode to 1, then fn+F1 gets me to this:
So it actually translated but i did not get F1 key input to the system at this point.
Also I noticed that FN key had no event on this keyboard. Looks like it kind of integrated in hardware. So fn_mode did not help in this case at all!
I want to make fn keys work by default and it looks like I need special translation table specially for my keyboard but I cant understand exactly why I get so many events and how to handle them properly.
F1 key sends a lot of events, twice. As I understand one is for press and one for depressing of the key.
Is it normal that this driver looks for each code in translation table? For example in this case:
Only last code matched but what with others? Is this actual pressed keys? I think this is like a HID message but in this driver each of the codes checked for existence in translation table.