From: Aditya Garg <gargaditya08@xxxxxxxx> This commit simplifies the logic in appletb_kbd_inp_event used for switching between the media and function keys on pressing the fn key. We now also prevent touching the kbd->saved_mode variable in case the esc key only mode is chosen. The following small fixes have also been done in this patch: - A small comment style error has been fixed - Fixed spelling in MODULE_DESCRIPTION - I have added myself to MODULE_AUTHOR Signed-off-by: Aditya Garg <gargaditya08@xxxxxxxx> --- drivers/hid/hid-appletb-kbd.c | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/drivers/hid/hid-appletb-kbd.c b/drivers/hid/hid-appletb-kbd.c index 38fc0e58c..e45cc3ac4 100644 --- a/drivers/hid/hid-appletb-kbd.c +++ b/drivers/hid/hid-appletb-kbd.c @@ -236,13 +236,13 @@ static void appletb_kbd_inp_event(struct input_handle *handle, unsigned int type reset_inactivity_timer(kbd); - if (type == EV_KEY && code == KEY_FN && appletb_tb_fn_toggle) { + if (type == EV_KEY && code == KEY_FN && appletb_tb_fn_toggle && + (kbd->current_mode == APPLETB_KBD_MODE_SPCL || + kbd->current_mode == APPLETB_KBD_MODE_FN)) { if (value == 1) { kbd->saved_mode = kbd->current_mode; - if (kbd->current_mode == APPLETB_KBD_MODE_SPCL) - appletb_kbd_set_mode(kbd, APPLETB_KBD_MODE_FN); - else if (kbd->current_mode == APPLETB_KBD_MODE_FN) - appletb_kbd_set_mode(kbd, APPLETB_KBD_MODE_SPCL); + appletb_kbd_set_mode(kbd, kbd->current_mode == APPLETB_KBD_MODE_SPCL + ? APPLETB_KBD_MODE_FN : APPLETB_KBD_MODE_SPCL); } else if (value == 0) { if (kbd->saved_mode != kbd->current_mode) appletb_kbd_set_mode(kbd, kbd->saved_mode); @@ -497,10 +497,11 @@ static struct hid_driver appletb_kbd_hid_driver = { }; module_hid_driver(appletb_kbd_hid_driver); -/* The backlight driver should be loaded before the keyboard driver is initialised*/ +/* The backlight driver should be loaded before the keyboard driver is initialised */ MODULE_SOFTDEP("pre: hid_appletb_bl"); MODULE_AUTHOR("Ronald Tschalär"); MODULE_AUTHOR("Kerem Karabay <kekrby@xxxxxxxxx>"); -MODULE_DESCRIPTION("MacBookPro Touch Bar Keyboard Mode Driver"); +MODULE_AUTHOR("Aditya Garg <gargaditya08@xxxxxxxx>"); +MODULE_DESCRIPTION("MacBook Pro Touch Bar Keyboard Mode driver"); MODULE_LICENSE("GPL"); -- 2.43.0