I looked for some free GPIO pins so that the keypad could be hooked up with minimal changes to the BeagleBone Black default configuration.
I am posting some details in case anyone (future-self included) needed to do the same.
Here is a table of the pins and the related keys.
I did not use P8_11 and P8_12 because they can be configured in eQEP mode and I intended to use them for a rotary encoder.
Here is a picture of how the keypad can be hooked up using a breadboard.
And a quick video to show the functionality:
The devicetree overlay can be found at git.ao2.it/experiments/bbb-gpio-keypad.git/ and can be built and installed by running make && sudo make install, after getting the needed include files as explained in the Makefile.
Nowadays, devicetree overlays on the BeagleBone Black have to be set via the bootloader by changing the file /boot/uEnv.txt, in this case the following change was enough:
--- /boot/uEnv.txt.orig 2018-07-13 13:28:12.837315343 +0000 +++ /boot/uEnv.txt 2018-07-13 13:27:59.525770867 +0000 @@ -11,7 +11,7 @@ uname_r=4.9.105-ti-r112 enable_uboot_overlays=1 ## ##Overide capes with eeprom uboot_overlay_addr0=/lib/firmware/<file0>.dtbo +uboot_overlay_addr0=/lib/firmware/bbb-gpio-keypad-00A0.dtbo uboot_overlay_addr1=/lib/firmware/<file1>.dtbo uboot_overlay_addr2=/lib/firmware/<file2>.dtbo uboot_overlay_addr3=/lib/firmware/<file3>.dtbo