Disable usb autosuspend for keyboard and mouse.

USB auto suspend seems to only happen when the devices are plugged in at boot (which generally means when my laptop is connected to the dock before boot) but it is very annoying because some keypresses get lost and my mouse does not work unless I click first.
This commit is contained in:
Tom Alexander 2023-08-16 15:10:50 -04:00
parent 3f734cbfcc
commit fcf32657c3
Signed by: talexander
GPG Key ID: D3A179C9A53C0EDE
10 changed files with 69 additions and 0 deletions

View File

@ -20,6 +20,7 @@
- build
- sound
- graphics
- power_management
- gpg
- fonts
- alacritty

View File

@ -7,6 +7,7 @@
- bind # dig
- man-db
- uutils-coreutils
- usbutils # for lsusb
state: present
- name: Start pkgfile update service

View File

@ -0,0 +1,8 @@
# blacklist for usb autosuspend
# 1038:1832 steel series mouse
# 308f:0011 k type keyboard
ACTION=="add", SUBSYSTEM=="usb", ATTR{idVendor}=="1038", ATTR{idProduct}=="1832", GOTO="power_usb_rules_end"
ACTION=="add", SUBSYSTEM=="usb", ATTR{idVendor}=="308f", ATTR{idProduct}=="0011", GOTO="power_usb_rules_end"
ACTION=="add", SUBSYSTEM=="usb", TEST=="power/control", ATTR{power/control}="auto"
LABEL="power_usb_rules_end"

View File

@ -0,0 +1,15 @@
- import_tasks: tasks/freebsd.yaml
when: 'os_flavor == "freebsd"'
- import_tasks: tasks/linux.yaml
when: 'os_flavor == "linux"'
- include_tasks:
file: tasks/peruser.yaml
apply:
become: yes
become_user: "{{ initialize_user }}"
when: users is defined
loop: "{{ users | dict2items | community.general.json_query('[?value.initialize==`true`].key') }}"
loop_control:
loop_var: initialize_user

View File

@ -0,0 +1,5 @@
# - name: Install packages
# package:
# name:
# - foo
# state: present

View File

@ -0,0 +1,9 @@
- name: Install udev configuration
copy:
src: "files/{{ item }}_rulesd.conf"
dest: "/etc/udev/rules.d/{{ item }}.rules"
mode: 0644
owner: root
group: wheel
loop:
- dont_sleep_usb

View File

@ -0,0 +1 @@
- import_tasks: tasks/common.yaml

View File

@ -0,0 +1,29 @@
- include_role:
name: per_user
# - name: Create directories
# file:
# name: "{{ account_homedir.stdout }}/{{ item }}"
# state: directory
# mode: 0700
# owner: "{{ account_name.stdout }}"
# group: "{{ group_name.stdout }}"
# loop:
# - ".config/foo"
# - name: Copy files
# copy:
# src: "files/{{ item.src }}"
# dest: "{{ account_homedir.stdout }}/{{ item.dest }}"
# mode: 0600
# owner: "{{ account_name.stdout }}"
# group: "{{ group_name.stdout }}"
# loop:
# - src: foo.conf
# dest: .config/foo/foo.conf
- import_tasks: tasks/peruser_freebsd.yaml
when: 'os_flavor == "freebsd"'
- import_tasks: tasks/peruser_linux.yaml
when: 'os_flavor == "linux"'