April 2018
Beginner
552 pages
13h 58m
English
First, we import uinput and define the wiring of the keypad buttons. For each of the buttons in BTN, we enable them as inputs, with internal pull-ups enabled.
Next, we set up uinput, defining the keys we want to emulate and adding them to the uinput.Device() function. We wait a few seconds to allow uinput to initialize, set the initial button and key states, and start our main loop.
The main loop is split into two sections: the first section checks through the buttons and records the states in btn_state, and the second section compares the btn_state with the current key_state array. This way, we can detect a change in btn_state and call device.emit() to toggle the state of the key.
To allow us to run this script in the background, ...