diff --git a/group_vars/all b/group_vars/all index 5da47e2..44bb1c1 100644 --- a/group_vars/all +++ b/group_vars/all @@ -10,6 +10,12 @@ user: hostname: nous +interception: + caps2esc: + enabled: True + mode: 1 + delay: 20000 + dotfiles: url: git@github.com:pigmonkey/dotfiles.git destination: projects/dotfiles diff --git a/playbook.yml b/playbook.yml index 5503d4c..a268f54 100644 --- a/playbook.yml +++ b/playbook.yml @@ -11,6 +11,7 @@ - { role: ssh, tags: ['ssh'] } - { role: dotfiles, tags: ['dotfiles'] } - { role: ssd, tags: ['ssd'] } + - { role: interception, tags: ['interception'] } - { role: fonts, tags: ['fonts'] } - { role: x, tags: ['x'] } - { role: lightdm, tags: ['lightdm'], when: "display_manager == 'lightdm'" } diff --git a/roles/interception/handlers/main.yml b/roles/interception/handlers/main.yml new file mode 100644 index 0000000..51216e1 --- /dev/null +++ b/roles/interception/handlers/main.yml @@ -0,0 +1,5 @@ +--- +- name: restart udevmon + service: + name: udevmon.service + state: restarted diff --git a/roles/interception/tasks/main.yml b/roles/interception/tasks/main.yml new file mode 100644 index 0000000..a99103d --- /dev/null +++ b/roles/interception/tasks/main.yml @@ -0,0 +1,20 @@ +--- +- name: Install caps2esc + pacman: + name: interception-caps2esc + state: present + +- name: Push caps2esc udevmon config + template: + src: caps2esc.yaml.j2 + dest: /etc/interception/udevmon.d/caps2esc.yaml + notify: + - restart udevmon + when: interception.caps2esc.enabled is defined and interception.caps2esc.enabled == True + +- name: Enable and start udevmon + service: + name: udevmon.service + enabled: yes + state: started + when: interception.caps2esc.enabled is defined and interception.caps2esc.enabled == True diff --git a/roles/interception/templates/caps2esc.yaml.j2 b/roles/interception/templates/caps2esc.yaml.j2 new file mode 100644 index 0000000..2b0b080 --- /dev/null +++ b/roles/interception/templates/caps2esc.yaml.j2 @@ -0,0 +1,4 @@ +- JOB: "intercept -g $DEVNODE | caps2esc -m {{ interception.caps2esc.mode }} -t {{ interception.caps2esc.delay }} | uinput -d $DEVNODE" + DEVICE: + EVENTS: + EV_KEY: [KEY_CAPSLOCK, KEY_ESC]