Skip to content

Commit

Permalink
HID: make translation table selection more clear
Browse files Browse the repository at this point in the history
Reshuffle the code a little bit so that the translation table selection
is more obvious and there is only one place performing the actual
translation using the selected table.

Signed-off-by: Jiri Kosina <jkosina@suse.cz>
  • Loading branch information
Jiri Kosina committed Nov 3, 2010
1 parent 99b9f75 commit a4bc692
Showing 1 changed file with 10 additions and 9 deletions.
19 changes: 10 additions & 9 deletions drivers/hid/hid-apple.c
Original file line number Diff line number Diff line change
Expand Up @@ -167,7 +167,7 @@ static int hidinput_apple_event(struct hid_device *hid, struct input_dev *input,
struct hid_usage *usage, __s32 value)
{
struct apple_sc *asc = hid_get_drvdata(hid);
const struct apple_key_translation *trans;
const struct apple_key_translation *trans, *table;

if (usage->code == KEY_FN) {
asc->fn_on = !!value;
Expand All @@ -178,14 +178,15 @@ static int hidinput_apple_event(struct hid_device *hid, struct input_dev *input,
if (fnmode) {
int do_translate;

if(hid->product >= USB_DEVICE_ID_APPLE_WELLSPRING4_ANSI &&
hid->product <= USB_DEVICE_ID_APPLE_WELLSPRING4A_JIS) {
trans = apple_find_translation(macbookair_fn_keys, usage->code);
} else if (hid->product < 0x21d || hid->product >= 0x300) {
trans = apple_find_translation(powerbook_fn_keys, usage->code);
} else {
trans = apple_find_translation(apple_fn_keys, usage->code);
}
if (hid->product >= USB_DEVICE_ID_APPLE_WELLSPRING4_ANSI &&
hid->product <= USB_DEVICE_ID_APPLE_WELLSPRING4A_JIS)
table = macbookair_fn_keys;
else if (hid->product < 0x21d || hid->product >= 0x300)
table = powerbook_fn_keys;
else
table = apple_fn_keys;

trans = apple_find_translation (table, usage->code);

if (trans) {
if (test_bit(usage->code, asc->pressed_fn))
Expand Down

0 comments on commit a4bc692

Please sign in to comment.