You can create multiple input objects even though you can get by most of the time with just a single global one. If your game supports multiple players locally then it's probably a good idea to create a different input object for each player, although it's not necessary as long as bindings between players don't collide. The example above binds the '1' key to the 'print' action. This means that in our code we can check for the 'print' action being pressed with input:pressed('print'), for instance, and that function would return true on the frame that we pressed the '1' key on the keyboard. This layer of indirection between keyboard and action allows our gameplay focus to only speak in terms of actions, which means that it doesn't have to care about which method of input is being used or if the key bindings were changed to something else.