Messages in this thread | | | From | "常廉志" <> | Subject | Re:[PATCH v9] tty: Fix the keyboard led light display problem | Date | Mon, 1 Nov 2021 20:35:47 +0800 |
| |
> Switching from the desktop environment to the tty environment, > the state of the keyboard led lights and the state of the keyboard > lock are inconsistent. This is because the attribute kb->kbdmode > of the tty bound in the desktop environment (Xorg) is set to > VC_OFF, which causes the ledstate and kb->ledflagstate > values of the bound tty to always be 0, which causes the switch > from the desktop When to the tty environment, the LED light > status is inconsistent with the keyboard lock status. > > Signed-off-by: lianzhi chang <changlianzhi@uniontech.com> > --- > v7-->v8: > Optimize the implementation of kbd_update_ledstate function > > Why not adopt the opinions of Greg KH and Andy Shevchenko: > (1) In the structure struct input_dev, the definition of led is > like this: unsigned long led[BITS_TO_LONGS(LED_CNT)]; If you > define it like this: unsigned long newstate = *dev->led; I > always feel that there is still big end and Little endian problem. > (2) The test_bit function is used to avoid the problem of large > and small ends, and the current algorithm (v8) also exists > elsewhere in the kernel: the atkbd_set_leds function (drivers/ > input/keyboard/atkbd.c). > (3) In the current keyboard.c code, the code is already very good, > and it is already relatively independent. If you modify the type > of ledstate to u64 or modify the macro definitions such as > VC_NUMLOCK, it feels that it is not very meaningful, and this It > will also cause other related modifications. Of course, this is > only my current opinion. If everyone still feels that it is > necessary to modify, I will do it this way. Of course, this > process may be a bit longer, and I think it is necessary to > conduct more tests. > > v9: Change description information: xorg-->Xorg > ……
Hi, friends, I would like to ask whether this version of patch is possible, if not, I will try my best to find a way to complete the next version! Thanks. -- lianzhi chang | |