Skip to content

Instantly share code, notes, and snippets.

@mitchty
Created October 4, 2014 06:16
Show Gist options
  • Save mitchty/5d4005d438d581ae3703 to your computer and use it in GitHub Desktop.
Save mitchty/5d4005d438d581ae3703 to your computer and use it in GitHub Desktop.
---
- hosts: localhost
vars:
- kb_key: "com.apple.keyboard.modifiermapping"
- kb_map_dest: "HIDKeyboardModifierMappingDst"
- kb_map_src: "HIDKeyboardModifierMappingSrc"
tasks:
- shell: >
ioreg -p IOUSB -c IOUSBDevice |
grep -e class -e idVendor -e idProduct |
grep -A2 Internal | grep idVendor | awk -F'= ' '{print $2}'
register: id_vendor
- shell: >
ioreg -p IOUSB -c IOUSBDevice |
grep -e class -e idVendor -e idProduct |
grep -A2 Internal | grep idProduct | awk -F'= ' '{print $2}'
register: id_product
- shell: >
echo "{{ kb_key }}.{{ id_vendor.stdout }}-{{ id_product.stdout }}-0"
register: kb_internal
- name: "Read builtin keyboard map for caps lock setup"
shell: >
defaults -currentHost read -g "{{ kb_internal.stdout }}" |
perl -pe 's/(\n|\s+|{|}|\(|\)|\=|\;)//g'
register: current_layout
- name: "Ensure builtin keyboard maps caps lock to control"
shell: >
defaults -currentHost write -g "{{ kb_internal.stdout }}"
-array "({HIDKeyboardModifierMappingDst=2;HIDKeyboardModifierMappingSrc=0;})"
when: current_layout.stdout != 'HIDKeyboardModifierMappingDst2HIDKeyboardModifierMappingSrc0'
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment