Message ID | 20200129062631.22694-1-mansour@oxplot.com (mailing list archive) |
---|---|
State | Mainlined |
Commit | e433be929e63265b7412478eb7ff271467aee2d7 |
Delegated to: | Jiri Kosina |
Headers | show |
Series | HID: apple: Add support for recent firmware | expand |
On Wed, 29 Jan 2020, Mansour Behabadi wrote: > Magic Keyboards with more recent firmware (0x0100) report > Fn key differently. Without this patch, Fn key may not > behave as expected and may not be configurable via hid_apple > fnmode module parameter. > > Signed-off-by: Mansour Behabadi <mansour@oxplot.com> > --- > drivers/hid/hid-apple.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/drivers/hid/hid-apple.c b/drivers/hid/hid-apple.c > index 6ac8becc2372..d732d1d10caf 100644 > --- a/drivers/hid/hid-apple.c > +++ b/drivers/hid/hid-apple.c > @@ -340,7 +340,8 @@ static int apple_input_mapping(struct hid_device *hdev, struct hid_input *hi, > unsigned long **bit, int *max) > { > if (usage->hid == (HID_UP_CUSTOM | 0x0003) || > - usage->hid == (HID_UP_MSVENDOR | 0x0003)) { > + usage->hid == (HID_UP_MSVENDOR | 0x0003) || > + usage->hid == (HID_UP_HPVENDOR2 | 0x0003)) { > /* The fn key on Apple USB keyboards */ Hmm, one day we should probably ditch this "vendor-specific" naming, which doesn't really match reality at all any more. Also the mappings in hid-input for these usage pages are pretty awkward these days. Anyway, that is for later. I am queuing your patch now, thanks.
diff --git a/drivers/hid/hid-apple.c b/drivers/hid/hid-apple.c index 6ac8becc2372..d732d1d10caf 100644 --- a/drivers/hid/hid-apple.c +++ b/drivers/hid/hid-apple.c @@ -340,7 +340,8 @@ static int apple_input_mapping(struct hid_device *hdev, struct hid_input *hi, unsigned long **bit, int *max) { if (usage->hid == (HID_UP_CUSTOM | 0x0003) || - usage->hid == (HID_UP_MSVENDOR | 0x0003)) { + usage->hid == (HID_UP_MSVENDOR | 0x0003) || + usage->hid == (HID_UP_HPVENDOR2 | 0x0003)) { /* The fn key on Apple USB keyboards */ set_bit(EV_REP, hi->input->evbit); hid_map_usage_clear(hi, usage, bit, max, EV_KEY, KEY_FN);
Magic Keyboards with more recent firmware (0x0100) report Fn key differently. Without this patch, Fn key may not behave as expected and may not be configurable via hid_apple fnmode module parameter. Signed-off-by: Mansour Behabadi <mansour@oxplot.com> --- drivers/hid/hid-apple.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)