diff --git a/bin/key-mapper-control b/bin/key-mapper-control index bce5b807..74414f8f 100755 --- a/bin/key-mapper-control +++ b/bin/key-mapper-control @@ -97,6 +97,7 @@ def main(options, daemon): continue preset_path = os.path.join(presets_dir, device, preset + '.json') + logger.info('Starting injection: "%s", "%s"', device, preset_path) daemon.start_injecting(device, preset_path, config_dir) if options.command == START: @@ -109,6 +110,7 @@ def main(options, daemon): sys.exit(1) preset_path = os.path.abspath(os.path.expanduser(options.preset)) + logger.info('Starting injection: "%s", "%s"', options.device, preset_path) daemon.start_injecting(options.device, preset_path, config_dir) if options.command == STOP: diff --git a/keymapper/dev/injector.py b/keymapper/dev/injector.py index e9a4e4f6..5d7a8027 100644 --- a/keymapper/dev/injector.py +++ b/keymapper/dev/injector.py @@ -64,7 +64,10 @@ NO_GRAB = 6 def is_numlock_on(): """Get the current state of the numlock.""" try: - xset_q = subprocess.check_output(['xset', 'q']).decode() + xset_q = subprocess.check_output( + ['xset', 'q'], + stderr=subprocess.STDOUT + ).decode() num_lock_status = re.search( r'Num Lock:\s+(.+?)\s', xset_q diff --git a/keymapper/dev/keycode_mapper.py b/keymapper/dev/keycode_mapper.py index f4d4bd0b..aad0bc3e 100644 --- a/keymapper/dev/keycode_mapper.py +++ b/keymapper/dev/keycode_mapper.py @@ -226,8 +226,8 @@ def _get_key(event, key_to_code, macros): def print_unreleased(): """For debugging purposes.""" - print('unreleased:') - print('\n'.join([ + logger.debug('unreleased:') + logger.debug('\n'.join([ f' {key}: {str(value)}' for key, value in unreleased.items() ])) @@ -367,4 +367,4 @@ def handle_keycode(key_to_code, macros, event, uinput, forward=True): Unreleased((event_tuple[:2]), event_tuple, None) return - logger.error(key, '%s unhandled. %s %s', unreleased, active_macros) + logger.error('%s unhandled', key) diff --git a/keymapper/mapping.py b/keymapper/mapping.py index 81e0865a..ef72449b 100644 --- a/keymapper/mapping.py +++ b/keymapper/mapping.py @@ -116,8 +116,8 @@ class Mapping(ConfigBase): raise ValueError('Expected `character` not to be None') logger.debug( - '%s will map to %s, replacing %s', - new_key, character, previous_key + '%s will map to "%s"', + new_key, character ) self.clear(new_key) # this also clears all equivalent keys self._mapping[new_key] = character @@ -146,6 +146,8 @@ class Mapping(ConfigBase): logger.debug('%s will be cleared', permutation) del self._mapping[permutation] self.changed = True + # there should be only one variation of the permutations + # in the mapping actually def empty(self): """Remove all mappings.""" diff --git a/keymapper/state.py b/keymapper/state.py index 00dd6304..bf098b95 100644 --- a/keymapper/state.py +++ b/keymapper/state.py @@ -56,7 +56,10 @@ class SystemMapping: self.clear() xmodmap_dict = {} try: - xmodmap = subprocess.check_output(['xmodmap', '-pke']).decode() + xmodmap = subprocess.check_output( + ['xmodmap', '-pke'], + stderr=subprocess.STDOUT + ).decode() xmodmap = xmodmap.lower() mappings = re.findall(r'(\d+) = (.+)\n', xmodmap + '\n') for keycode, names in mappings: diff --git a/readme/usage.md b/readme/usage.md index 2de8b176..54418832 100644 --- a/readme/usage.md +++ b/readme/usage.md @@ -170,7 +170,7 @@ running (or without sudo if your user has the appropriate permissions). ```bash key-mapper-control --command autoload -key-mapper-control --command autoload --config "/home/user/.config/key-mapper/" +key-mapper-control --command autoload --config-dir "/home/user/.config/key-mapper/" sudo key-mapper-control --list-devices key-mapper-control --command stop --device "Razer Razer Naga Trinity" key-mapper-control --command start --device "Razer Razer Naga Trinity" --preset "~/.config/key-mapper/presets/gamepad/a.json"