Varias respuestas

:
1. Los toques de botón se pueden capturar tambien, lo malo es que con el home por ejemplo a lo mejor captura el evento pero luego el sistema sale al home y se termina el script... por otro lado, si son botones fisicos habrá que cambiar el tipo de evento a filtrar, en vez del "touchscreen" será o bien el "keypad" o el "touchkey", no lo he probado...
2. Los comandos en sí son programas (o ficheros con codigo ejecutable) que se guardan en /system/bin (ahí están los principales, aunque hay otros posibles sitios) así que pueden haber mods que dejen programas ahí y ya lo tendrías disponible, por ejemplo para este tutorial recomiendo el uso de SManager para simplificar, pero si vuelcas el script geteventsendevent.sh en /system/bin ya puedes ejecutar "geteventsendevent.sh" en un terminal y se ejecuta.
Busybox en efecto añade varios comandos comunes de linux y es más que recomendable instalarlo para todo usuario que tenga el telefono rooteado.
3. En este aspecto linux es muy diferente a Mac OSX o a Windows, no hay una guia general de linux porque hay muchas variantes con pequeñas y no tan pequeñas diferencias entre si, Android es solo una de estas variantes muy adaptada para dispositivos mobiles.
Por otra parte la comunidad linuxera destaca por ser muy colaborativa y publicar mucha documentación de tutoriales, soluciones a problemas y demás, asi que no sabría decirte recursos (libros, páginas web, etc...) concretos, pero si buscas lo que necesitas seguro que te salen muchos resultados, especialmente si sabes inglés.
Concretamente para hacer scripts como este tendrías que buscar documentación sobre "shell scripting" que es como se conocen a estos programillas.
4. "Ejecutar consola" ejecuta comandos de terminal y scripts escitos en el lenguaje del terminal (el shell scripting que decía), "Ejecutar script" ejecuta scripts (trozos de código) en distintos lenguajes.
Tasker tiene acciones para ejecutar javascriptlets, que son scripts en javascript, que es uno de muchos lenguajes, y el "SL4A" (Script Layer for android) lo que hace es añadir "interpretes" de más lenguages como PHP o python y mediante el plugin de tasker hace que el propio programa pueda ejecutar scripts en estos lenguajes.
El tema de la programación y los distintos lenguajes es un mundo... puede ser bastante dificil de entender al principio y hace falta practicar mucho y seguir muchos tutoriales, lo bueno es que una vez pillas "el chip" aprender nuevos lenguages no suele ser dificil porque todos suelen tener muchas cosas en común, solo que por la forma en la que hacen las cosas unos están más recomendados para hacer ciertas cosas que otros, pero por lo general puedes hacer lo mismo con cualquiera, solo que de distinta forma.
5. Personalmente soy un fan incondicional de Tasker, me parece una aplicación sublime.
Es cierto que para un usuario estándar la curva inicial de aprendizaje puede ser un poco alta, pero si empiezas por el principio con perfiles basicos y le echas ganas y vas trasteando y probando cosas cualquier usuario puede llegar a hacer cosas muy interesantes, y si ya te metes en el mundo de las escenas puedes llegar a hacer aplicaciones completas (y más desde la inclusion del APP factory).
El punto negativo que le veo es que en cuanto a rendimiento las aplicaciones resultantes suelen ser bastante lentas comparado a las aplicaciones nativas, y lo que no me gusta es que las escenas no se adaptan nada bien a cambios de resolución (si haces una app con escenas en tu note y se lo pasas a alguien con un galaxy ace puedes flipar...).
En definitiva, si te gusta el rollo de hacer aplicaciones para android, tu objetivo final es sin duda alguna aprender java, pero aunque este fue el primer lenguaje que aprendí en la universidad yo no lo recomendaría para aprender las "nociones básicas".
Como lenguaje, para tu caso concreto yo te recomendaría javascript (pese al nombre, solo se parece a java en las cosas que todos los lenguajes de programación suelen tener en común, por lo demás no se parecen en nada) que es "facilito", y está la acción "javascriptlet" que permite ejecutar directamente código javascript, y se integra perfectamente en tasker, porque está implementado de forma que permite usar las variables definidas en tasker, permite desde javascript crear variables que luego podrá usar tasker, y permite ejecutar muchas acciones de tasker directamente desde el código javascript.
En algún momento me gustaría escribir un tutorial del uso de javascript en tasker, pero mientras tanto si te interesa te recomendaría seguir
este tutorial. Es interactivo y se hace bastante ameno, lo unico malo es que es en inglés, pero en informática los mejores recursos suelen ser en inglés...
Espero haberte resuelto un poco las dudas, en cuanto al "bombardeo" no te preocupes, me encantan estos temas, así que no es ninguna molestia

lo unico que si tienes más dudas de este tipo si quieres mandamelo por privado para no llenar este foro de temas que son un poco más off-topic.