Hola, puedes hacer que al presionar la tecla HOLD, el programa entre en una función while o loop infinito, y que sólo esté leyendo el botón HOLD, para poder salir de ese bucle y continuar en el programa principal.
Aclaro, que no acostumbro a ésto, porque el programa principal, pierde control absolutamente de todo, yo más bien apuesto por la arquitectura multitarea, en el cuál el programa principal recorre todas las acciones posibles, analizando condiciones verdaderas para ejecutar.
Otra alternativa que yo usaría sería, que al presionar la tecla HOLD, el displays no se refresque, y el resto del programa se siga ejecutando normalmente.