I have this set up as a startup script, but it only sometimes triggers, despite setting a 20-second delay:
#!/bin/bash
sleep 2
xmodmap -e "clear lock"
xmodmap -e "keycode 66 = Return"
I have the startup command set to bash "path/Remap_Caps_Lock_to_Enter.sh". What’s going on? It works when I press the triangle button when it doesn’t work on boot.


Sincere apologies! Apparently, the
mappingwas in my dated local custom build of the tool…Have you tried recording the general
xev(with no , without any explicit filtering?Your
xevbuild/Man/Info message should list the supported. For example, in v1.2.3, these are supported:$ man xev; # ... -event event_mask When not specified, all events are selected... Available event masks: keyboard mouse expose visibility structure substructure focus property colormap owner_grab_button randr buttonYet, today we found the actual possible culprit, and monitoring the events is probably not required. We know that it will just change, and the issue source should be a separate whole system-wide service that changes your initial change to its own configured, eventually.
There are many custom key remapping tools, including keyd, but I would try realizing/experiment with the standards first, and I appreciate you for still trying! It may help you in the future.