Comment 26 for bug 256429

When creating a uinput device with only one key, hal incorrectly assigns it as a "button" rather than a "keyboard". This problem manifests itself in libpam-thinkfinger when a uinput device is creating to automatically send a carriage-return after the user swipes his fingerprint.

The problem lies in input_test_key() in hal's hald/linux/device.c. Since num_bits == 1 for a one-key keyboard, the device will be consider a button.