rules: only one warning per inaccessible key for KeyPress action
This commit is contained in:
parent
b717872557
commit
1c596a8124
|
@ -162,6 +162,8 @@ i.e., don't use a single `KeyPress` like 'a+b'.
|
|||
If a key symbol can only be produced by a shfited or level 3 keypress, e.g., "A",
|
||||
then Solaar will add keypresses to produce that keysymbol,
|
||||
e.g., simulating a left shift keypress to get "A" instead of "a".
|
||||
If a key symbol is not available in the current keymap or needs other shift-like keys,
|
||||
then Solaar cannot simulate it.
|
||||
If Solaar can determine the current key modifiers (shift, control, etc.)
|
||||
any key symbols that correspond to these modifier keys are not pressed,
|
||||
so if the shift key is currently down on a keyboard Solaar will not bother to simulate a shift key.
|
||||
|
|
|
@ -841,8 +841,6 @@ class KeyPress(Action):
|
|||
if (group == k.group or len(keycodes.keys) == 1) and k.keycode < 256 and (level is None or k.level < level):
|
||||
keycode = k.keycode
|
||||
level = k.level
|
||||
if keycode is None:
|
||||
_log.warn('rule KeyPress key symbol not currently available %s', self)
|
||||
return (keycode, level)
|
||||
|
||||
def __str__(self):
|
||||
|
@ -865,7 +863,9 @@ class KeyPress(Action):
|
|||
def keyDown(self, keysyms, modifiers):
|
||||
for k in keysyms:
|
||||
(keycode, level) = self.keysym_to_keycode(k, modifiers)
|
||||
if keycode and self.needed(keycode, modifiers):
|
||||
if keycode is None:
|
||||
_log.warn('rule KeyPress key symbol not currently available %s', self)
|
||||
elif self.needed(keycode, modifiers):
|
||||
self.mods(level, modifiers, _KEY_PRESS)
|
||||
simulate_key(keycode, _KEY_PRESS)
|
||||
|
||||
|
|
Loading…
Reference in New Issue