Wake up ESP-32 using matrix keypad
There is a possibility to use lo power mcu that is build in the esp32 for reading the input while main cores are in deep sleep, but as far as i have been using it only with touch keypad. 

It's not a full answer, but should help You.

https://www.espressif.com/sites/default/files/documentation/esp32_datasheet_en.pdf

Page 5, RTC block with ULP co-processor 

also:
https://github.com/espressif/esp-idf/tree/master/examples/system/ulp

https://blog.adafruit.com/2018/02/20/deep-sleep-tutorial-for-esp32-using-the-rtc-ulp-co-processor-and-two-lines-of-code/

This can handle the keypad feauture with wakeup for main core.

Hope it helped.