mirror of
https://github.com/kovidgoyal/kitty
synced 2026-07-23 16:58:09 +02:00
Switch to using the new SingleKey implementation
This commit is contained in:
@@ -11,7 +11,7 @@ from kitty.constants import website_url
|
||||
definition = Definition(
|
||||
'kitty',
|
||||
Action('map', 'parse_map', {'keymap': 'KeyMap', 'sequence_map': 'SequenceMap', 'alias_map': 'AliasMap'},
|
||||
['KeyDefinition', 'kitty.types.SingleKey']),
|
||||
['KeyDefinition', 'kitty.fast_data_types.SingleKey']),
|
||||
Action('mouse_map', 'parse_mouse_map', {'mousemap': 'MouseMap'}, ['MouseMapping']),
|
||||
has_color_table=True,
|
||||
)
|
||||
|
||||
4
kitty/options/types.py
generated
4
kitty/options/types.py
generated
@@ -4,12 +4,12 @@ import typing
|
||||
from array import array
|
||||
from kitty.constants import is_macos
|
||||
import kitty.constants
|
||||
from kitty.fast_data_types import Color
|
||||
from kitty.fast_data_types import Color, SingleKey
|
||||
import kitty.fast_data_types
|
||||
import kitty.fonts
|
||||
from kitty.options.utils import AliasMap, KeyDefinition, KeyMap, MouseMap, MouseMapping, SequenceMap, TabBarMarginHeight
|
||||
import kitty.options.utils
|
||||
from kitty.types import FloatEdges, SingleKey
|
||||
from kitty.types import FloatEdges
|
||||
import kitty.types
|
||||
|
||||
if typing.TYPE_CHECKING:
|
||||
|
||||
@@ -18,7 +18,7 @@ from kitty.conf.utils import (
|
||||
)
|
||||
from kitty.constants import is_macos
|
||||
from kitty.fast_data_types import (
|
||||
CURSOR_BEAM, CURSOR_BLOCK, CURSOR_UNDERLINE, Color
|
||||
CURSOR_BEAM, CURSOR_BLOCK, CURSOR_UNDERLINE, Color, SingleKey
|
||||
)
|
||||
from kitty.fonts import (
|
||||
FontFeature, FontModification, ModificationType, ModificationUnit,
|
||||
@@ -29,7 +29,7 @@ from kitty.key_names import (
|
||||
get_key_name_lookup
|
||||
)
|
||||
from kitty.rgb import color_as_int
|
||||
from kitty.types import FloatEdges, MouseEvent, SingleKey
|
||||
from kitty.types import FloatEdges, MouseEvent
|
||||
from kitty.utils import expandvars, log_error, resolve_abs_or_config_path
|
||||
|
||||
KeyMap = Dict[SingleKey, str]
|
||||
@@ -1023,9 +1023,7 @@ class BaseDefinition:
|
||||
|
||||
|
||||
def resolve_key_mods(kitty_mod: int, mods: int) -> int:
|
||||
if mods & defines.GLFW_MOD_KITTY:
|
||||
mods = (mods & ~defines.GLFW_MOD_KITTY) | kitty_mod
|
||||
return mods
|
||||
return SingleKey(mods=mods).resolve_kitty_mod(kitty_mod).mods
|
||||
|
||||
|
||||
class MouseMapping(BaseDefinition):
|
||||
@@ -1072,8 +1070,7 @@ class KeyDefinition(BaseDefinition):
|
||||
|
||||
def resolve_and_copy(self, kitty_mod: int) -> 'KeyDefinition':
|
||||
def r(k: SingleKey) -> SingleKey:
|
||||
mods = resolve_key_mods(kitty_mod, k.mods)
|
||||
return k._replace(mods=mods)
|
||||
return k.resolve_kitty_mod(kitty_mod)
|
||||
ans = KeyDefinition(
|
||||
self.is_sequence, r(self.trigger), tuple(map(r, self.rest)),
|
||||
self.definition
|
||||
|
||||
Reference in New Issue
Block a user