I know with other distributions of Linux you can use fingerprint readers to login instead of using a password. Is it possible to do this on the Raspberry Pi using like a 4x4 membrane keypad with my own program?

3 Answers 3


There are several ways of doing what you want.

The most straightforward way is to emulate an input device using your keypad. A Python script using uinput was already mentioned. There are tools like inputattach which do this kind of conversion for popular devices such as old mice/joysticks with UART interface.

The second solution is to introduce an alternative login method. For console logins it is possible to write a custom login script which reads the password from the keypad, and configure getty to use that script instead of the original login, or replace getty with a custom script which runs an actual getty only after getting a password from the keypad. For GUI logins there is a similar way to login using custom pam modules for unusual login devices such as smart cards.

Finally, a less secure but easier to set up solution is to enable autologin, but instantly lock out the user using an autorun / screensaver script. That script would then unlock the screen only after the correct input comes from the keypad.


If your keypad can somehow interface with main input (i.e. do a keyboard's job) and can type keys, it's completely possible.


To interface with the main input, you could write a python program using the GPIO and the uinput module. This makes it easy to create your own keypads. Install with the command sudo pip install uinput. For info on the module, please see here.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.