Como um serviço pode ouvir gestos / eventos de toque?

Estou imaginando como aplicativos como SwipePad e Wave Launcher são capazes de detectar gestos / eventos de toque simplesmente através de um serviço. Esses aplicativos são capazes de detectar gestos de toque, mesmo que não estejam em sua própria atividade. Eu olhei por toda a Internet e não descobri como eles podem fazer isso.

Minha pergunta principal é como um serviço pode escutar convidados / eventos de toque, assim como uma Atividade regular pode receber MotionEvents, mesmo que não esteja na Atividade ou no contexto original. Estou essencialmente tentando criar um aplicativo que recongize um gesto de toque específico de um usuário, independentemente de qual atividade esteja no topo e faça alguma coisa quando esse gesto for recongizado. A recongição de toque será um encadeamento executado em segundo plano como um serviç

questionAnswers(5)

yourAnswerToTheQuestion