platform/x86: thinkpad_acpi: Drop KEY_RESERVED special handling
The input core already filters out EV_KEY events for KEY_RESERVED, remove the check for this in tpacpi_input_send_key() and rely on the input core filtering instead. Also change tpacpi_input_send_key() to only report the scancode once instead of reporting it on both press and release. Together these 2 changes make tpacpi_input_send_key() behave the same as sparse_keymap_report_event(). The goal of this patch is to have a separate commit with the slightly different behavior from sparse_keymap_report_event() before switching over to using the sparse-keymap helpers. Tested-by: Mark Pearson <mpearson-lenovo@squebb.ca> Signed-off-by: Hans de Goede <hdegoede@redhat.com> Reviewed-by: Mark Pearson <mpearson-lenovo@squebb.ca> Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com> Link: https://lore.kernel.org/r/20240424122834.19801-19-hdegoede@redhat.com
This commit is contained in:
@@ -2283,19 +2283,17 @@ static bool tpacpi_input_send_key(const u32 hkey, bool *send_acpi_ev)
|
||||
}
|
||||
|
||||
keycode = hotkey_keycode_map[scancode];
|
||||
if (keycode != KEY_RESERVED) {
|
||||
mutex_lock(&tpacpi_inputdev_send_mutex);
|
||||
|
||||
input_event(tpacpi_inputdev, EV_MSC, MSC_SCAN, scancode);
|
||||
input_report_key(tpacpi_inputdev, keycode, 1);
|
||||
input_sync(tpacpi_inputdev);
|
||||
mutex_lock(&tpacpi_inputdev_send_mutex);
|
||||
|
||||
input_event(tpacpi_inputdev, EV_MSC, MSC_SCAN, scancode);
|
||||
input_report_key(tpacpi_inputdev, keycode, 0);
|
||||
input_sync(tpacpi_inputdev);
|
||||
input_event(tpacpi_inputdev, EV_MSC, MSC_SCAN, scancode);
|
||||
input_report_key(tpacpi_inputdev, keycode, 1);
|
||||
input_sync(tpacpi_inputdev);
|
||||
|
||||
mutex_unlock(&tpacpi_inputdev_send_mutex);
|
||||
}
|
||||
input_report_key(tpacpi_inputdev, keycode, 0);
|
||||
input_sync(tpacpi_inputdev);
|
||||
|
||||
mutex_unlock(&tpacpi_inputdev_send_mutex);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user