Device Input Abstraction Layer