--- a/drivers/hid/hid-input.c 2008-03-19 00:20:13.000000000 -0700 +++ b/drivers/hid/hid-input.c 2008-03-19 00:46:29.000000000 -0700 @@ -229,9 +229,15 @@ trans = find_translation(powerbook_numlock_keys, usage->code); if (trans) { + if (value) + set_bit(usage->code, hid->pb_pressed_numlock); + else + clear_bit(usage->code, hid->pb_pressed_numlock); + input_event(input, usage->type, trans->to, value); - return 1; } + + return 1; } }