Use keypad for wakeup (kbd_matrix) from deep sleep (sys_poweroff)

I am having issues using a keypad to wakeup an nrf52840 and am unclear on if the GPIO sample is relevant if using a kbd_matrix device definition.

I would like to use "sys_poweroff()" for power savings but have not been able to wake it up again.  Is it possible to use this device?  Do I need to change to a GPIO interrupt or something?

Currently, a callback is registered for the keypad events:

INPUT_CALLBACK_DEFINE(DEVICE_DT_GET(DT_NODELABEL(keymap)), input_button_raw_cb);


I have added "wakeup-source" to the device tree and the definition is:

    kbd_matrix: kbd_matrix {
        compatible = "gpio-kbd-matrix";
        zephyr,deferred-init; // Init at runtime depending on the board
        wakeup-source;
        row-gpios = <&gpio1 1 (GPIO_PULL_UP | GPIO_ACTIVE_LOW)>,
                    <&gpio1 2 (GPIO_PULL_UP | GPIO_ACTIVE_LOW)>,
                    <&gpio1 3 (GPIO_PULL_UP | GPIO_ACTIVE_LOW)>,
                    <&gpio1 4 (GPIO_PULL_UP | GPIO_ACTIVE_LOW)>;
        col-gpios = <&gpio1 5 GPIO_ACTIVE_LOW>,
                    <&gpio1 6 GPIO_ACTIVE_LOW>,
                    <&gpio1 7 GPIO_ACTIVE_LOW>;

        keymap: keymap {
            compatible = "input-keymap";
            keymap = <
                MATRIX_KEY(3, 0, 100)
                MATRIX_KEY(3, 1, 101)
                MATRIX_KEY(3, 2, 102)
                MATRIX_KEY(2, 0, 103)
                MATRIX_KEY(2, 1, 104)
                MATRIX_KEY(2, 2, 105)
                MATRIX_KEY(1, 0, 106)
                MATRIX_KEY(1, 1, 107)
                MATRIX_KEY(1, 2, 108)
                MATRIX_KEY(0, 0, 109)
                MATRIX_KEY(0, 1, 110)
                MATRIX_KEY(0, 2, 111)
            >;
            row-size = <4>;
            col-size = <3>;
        };
    };  
Related