input_id: Cover key devices which only have KEY_* > 255

We previously only tested the "key" capabilities for keys between 0 and 255 to
determine ID_INPUT_KEY. If there are none, also check for keys in the upper
block (KEY_OK/0x160 to KEY_TOUCHPAD_OFF/0x214).
This commit is contained in:
Martin Pitt 2011-03-18 14:45:42 +01:00
parent 88149f668e
commit 792479aca5

View File

@ -148,6 +148,17 @@ static void test_key (const unsigned long* bitmask_ev,
found |= bitmask_key[i];
DBG("test_key: checking bit block %lu for any keys; found=%i\n", i*BITS_PER_LONG, found > 0);
}
/* If there are no keys in the lower block, check the higher block */
if (!found) {
for (i = KEY_OK; i < BTN_TRIGGER_HAPPY; ++i) {
if (test_bit (i, bitmask_key)) {
DBG("test_key: Found key %x in high block\n", i);
found = 1;
break;
}
}
}
if (found > 0)
puts("ID_INPUT_KEY=1");