I tried again today from scratch, and I believe it works
The front buttons (and buzzer, LCD backlight and other things) connect to the Internal Expansion Chip MCP23008-E/PCA9554 in turn connected to the onboard STM32 microcontroller. So all this must work ok. My method…
First the eMMC was flashed with official Raspbian Lite Bullseye 64-bit image. Then dtoverlays were installed but I edit the script to not change linux kernel version.
My expansion chip is the older MCP23008, and flashed it with the latest v1.9.
Then edit /boot/config.txt
to have dtoverlay=reTerminal,tp_rotate=1,addr=0x20,mcp23008,key0=0x03b,key1=0x03c,key2=0x03d,key3=0x03e
And edit /boot/cmdline.txt
to append fbcon=rotate:1
Now all hardware works as expected in the demo Python scripts, front buttons are mapped to F1-F4, etc.
Why not working before? I don’t remember upgrading the microcontroller firmware (thinking it was only controlling the LCD). Also the config.txt mcp23008
is new I think.
Very happy now