I've successfully got customers using the CAN keypad on link G4+, I've got it working with both Latching and momentary button functionality too.
We use the Blink Marine Keypad and load their "Motorsport" firmware, this gives you multiple outputs on the CAN stream, and depending on what logic you want to use (Momentary, Latching, 3 Pos or 4 Pos) You ask the link to listen on a different CAN address for the button presses.
This essentially puts the button press type back on the Keypad, not the ECU.