use super::*;
const SCROLL_KEYS: &[Claim] = &[
Claim {
action: "internal:scroll_to_previous_mark",
mac: Some(ModSpec::loose(mods(false, false, false, true), NO_MODS)),
other: Some(ModSpec::loose(mods(false, false, false, true), NO_MODS)),
keys: &[named(NamedKey::ArrowUp)],
},
Claim {
action: "internal:scroll_to_next_mark",
mac: Some(ModSpec::loose(mods(false, false, false, true), NO_MODS)),
other: Some(ModSpec::loose(mods(false, false, false, true), NO_MODS)),
keys: &[named(NamedKey::ArrowDown)],
},
Claim {
action: "internal:scroll_up_page",
mac: Some(ModSpec::loose(mods(false, false, true, false), NO_MODS)),
other: Some(ModSpec::loose(mods(false, false, true, false), NO_MODS)),
keys: &[named(NamedKey::PageUp)],
},
Claim {
action: "internal:scroll_down_page",
mac: Some(ModSpec::loose(mods(false, false, true, false), NO_MODS)),
other: Some(ModSpec::loose(mods(false, false, true, false), NO_MODS)),
keys: &[named(NamedKey::PageDown)],
},
Claim {
action: "internal:scroll_to_top",
mac: Some(ModSpec::loose(mods(false, false, true, false), NO_MODS)),
other: Some(ModSpec::loose(mods(false, false, true, false), NO_MODS)),
keys: &[named(NamedKey::Home)],
},
Claim {
action: "internal:scroll_to_bottom",
mac: Some(ModSpec::loose(mods(false, false, true, false), NO_MODS)),
other: Some(ModSpec::loose(mods(false, false, true, false), NO_MODS)),
keys: &[named(NamedKey::End)],
},
];
pub(crate) const CONFIG_RELOAD: &[Claim] = &[Claim {
action: "reload_config",
mac: Some(ANY_MODS),
other: Some(ANY_MODS),
keys: &[named(NamedKey::F5)],
}];
pub(crate) const CLIPBOARD_HISTORY: &[Claim] = &[Claim {
action: "toggle_clipboard_history",
mac: Some(PRIMARY_SHIFT_MAC),
other: Some(PRIMARY_SHIFT_OTHER),
keys: &[ch('H')],
}];
const COMMAND_HISTORY: &[Claim] = &[];
const PASTE_SPECIAL_UI: &[Claim] = &[];
pub(crate) const SEARCH: &[Claim] = &[Claim {
action: "toggle_search",
mac: Some(PRIMARY_MAC),
other: Some(PRIMARY_SHIFT_OTHER),
keys: &[ch('F')],
}];
pub(crate) const AI_INSPECTOR: &[Claim] = &[Claim {
action: "toggle_ai_inspector",
mac: Some(PRIMARY_MAC),
other: Some(PRIMARY_SHIFT_OTHER),
keys: &[ch('I')],
}];
const FULLSCREEN_TOGGLE: &[Claim] = &[Claim {
action: "toggle_fullscreen",
mac: Some(ANY_MODS),
other: Some(ANY_MODS),
keys: &[named(NamedKey::F11)],
}];
const HELP_TOGGLE: &[Claim] = &[Claim {
action: "toggle_help",
mac: Some(ANY_MODS),
other: Some(ANY_MODS),
keys: &[named(NamedKey::F1)],
}];
const SETTINGS_TOGGLE: &[Claim] = &[
Claim {
action: "open_settings",
mac: Some(ANY_MODS),
other: Some(ANY_MODS),
keys: &[named(NamedKey::F12)],
},
Claim {
action: "open_settings",
mac: Some(ModSpec::loose(mods(false, false, false, true), NO_MODS)),
other: Some(ModSpec::loose(mods(false, false, false, true), NO_MODS)),
keys: &[ch(',')],
},
];
const SHADER_EDITOR_TOGGLE: &[Claim] = &[];
const FPS_OVERLAY_TOGGLE: &[Claim] = &[Claim {
action: "toggle_fps_overlay",
mac: Some(ANY_MODS),
other: Some(ANY_MODS),
keys: &[named(NamedKey::F3)],
}];
const PROFILE_DRAWER_TOGGLE: &[Claim] = &[Claim {
action: "toggle_profile_drawer",
mac: Some(PRIMARY_SHIFT_MAC),
other: Some(PRIMARY_SHIFT_OTHER),
keys: &[ch('P')],
}];
const PROFILE_SHORTCUTS: &[Claim] = &[];
const UTILITY: &[Claim] = &[
Claim {
action: "clear_scrollback",
mac: Some(PRIMARY_SHIFT_MAC),
other: Some(PRIMARY_SHIFT_OTHER),
keys: &[ch('K')],
},
Claim {
action: "internal:clear_screen",
mac: Some(ModSpec::loose(
mods(true, false, false, false),
mods(false, false, true, false),
)),
other: Some(ModSpec::loose(
mods(true, false, false, false),
mods(false, false, true, false),
)),
keys: &[ch('L')],
},
Claim {
action: "increase_font_size",
mac: Some(ModSpec::loose(mods(false, false, false, true), NO_MODS)),
other: Some(ModSpec::loose(mods(true, false, false, false), NO_MODS)),
keys: &[ch('+'), ch('=')],
},
Claim {
action: "decrease_font_size",
mac: Some(ModSpec::loose(mods(false, false, false, true), NO_MODS)),
other: Some(ModSpec::loose(mods(true, false, false, false), NO_MODS)),
keys: &[ch('-'), ch('_')],
},
Claim {
action: "reset_font_size",
mac: Some(ModSpec::loose(
mods(false, false, false, true),
mods(false, false, true, false),
)),
other: Some(ModSpec::loose(
mods(true, false, false, false),
mods(false, false, true, false),
)),
keys: &[ch('0')],
},
Claim {
action: "cycle_cursor_style",
mac: Some(ModSpec::loose(
mods(true, false, false, false),
mods(false, false, true, false),
)),
other: Some(ModSpec::loose(
mods(true, false, false, false),
mods(false, false, true, false),
)),
keys: &[ch(',')],
},
Claim {
action: "cycle_cursor_style",
mac: Some(ModSpec::loose(
mods(false, false, false, true),
mods(false, false, true, false),
)),
other: Some(ModSpec::loose(
mods(false, false, false, true),
mods(false, false, true, false),
)),
keys: &[ch(',')],
},
];
const TABS: &[Claim] = &[
Claim {
action: "new_tab",
mac: Some(PRIMARY_MAC),
other: Some(PRIMARY_SHIFT_OTHER),
keys: &[ch('T')],
},
Claim {
action: "close_tab",
mac: Some(PRIMARY_MAC),
other: Some(PRIMARY_SHIFT_OTHER),
keys: &[ch('W')],
},
Claim {
action: "next_tab",
mac: Some(PRIMARY_SHIFT_MAC),
other: Some(PRIMARY_SHIFT_OTHER),
keys: &[ch(']')],
},
Claim {
action: "prev_tab",
mac: Some(PRIMARY_SHIFT_MAC),
other: Some(PRIMARY_SHIFT_OTHER),
keys: &[ch('[')],
},
Claim {
action: "next_tab",
mac: Some(ModSpec::loose(
mods(true, false, false, false),
mods(false, false, true, false),
)),
other: Some(ModSpec::loose(
mods(true, false, false, false),
mods(false, false, true, false),
)),
keys: &[named(NamedKey::Tab)],
},
Claim {
action: "prev_tab",
mac: Some(ModSpec::loose(mods(true, false, true, false), NO_MODS)),
other: Some(ModSpec::loose(mods(true, false, true, false), NO_MODS)),
keys: &[named(NamedKey::Tab)],
},
Claim {
action: "move_tab_left",
mac: Some(PRIMARY_SHIFT_MAC),
other: Some(PRIMARY_SHIFT_OTHER),
keys: &[named(NamedKey::ArrowLeft)],
},
Claim {
action: "move_tab_right",
mac: Some(PRIMARY_SHIFT_MAC),
other: Some(PRIMARY_SHIFT_OTHER),
keys: &[named(NamedKey::ArrowRight)],
},
Claim {
action: "switch_to_tab_1",
mac: Some(PRIMARY_MAC),
other: Some(TAB_SWITCH_OTHER),
keys: &[ch('1')],
},
Claim {
action: "switch_to_tab_2",
mac: Some(PRIMARY_MAC),
other: Some(TAB_SWITCH_OTHER),
keys: &[ch('2')],
},
Claim {
action: "switch_to_tab_3",
mac: Some(PRIMARY_MAC),
other: Some(TAB_SWITCH_OTHER),
keys: &[ch('3')],
},
Claim {
action: "switch_to_tab_4",
mac: Some(PRIMARY_MAC),
other: Some(TAB_SWITCH_OTHER),
keys: &[ch('4')],
},
Claim {
action: "switch_to_tab_5",
mac: Some(PRIMARY_MAC),
other: Some(TAB_SWITCH_OTHER),
keys: &[ch('5')],
},
Claim {
action: "switch_to_tab_6",
mac: Some(PRIMARY_MAC),
other: Some(TAB_SWITCH_OTHER),
keys: &[ch('6')],
},
Claim {
action: "switch_to_tab_7",
mac: Some(PRIMARY_MAC),
other: Some(TAB_SWITCH_OTHER),
keys: &[ch('7')],
},
Claim {
action: "switch_to_tab_8",
mac: Some(PRIMARY_MAC),
other: Some(TAB_SWITCH_OTHER),
keys: &[ch('8')],
},
Claim {
action: "switch_to_tab_9",
mac: Some(PRIMARY_MAC),
other: Some(TAB_SWITCH_OTHER),
keys: &[ch('9')],
},
];
pub(super) const TAB_SWITCH_OTHER: ModSpec = ModSpec::loose(
mods(false, true, false, false),
mods(true, false, true, false),
);
const PASTE_COPY: &[Claim] = &[
Claim {
action: "internal:paste",
mac: Some(ModSpec::loose(mods(false, false, false, true), NO_MODS)),
other: Some(ModSpec::loose(mods(true, false, true, false), NO_MODS)),
keys: &[ch('V')],
},
Claim {
action: "internal:paste",
mac: Some(ANY_MODS),
other: Some(ANY_MODS),
keys: &[named(NamedKey::Paste)],
},
Claim {
action: "internal:paste",
mac: None,
other: Some(ModSpec::loose(mods(false, false, true, false), NO_MODS)),
keys: &[named(NamedKey::Insert)],
},
Claim {
action: "internal:copy",
mac: Some(ModSpec::loose(mods(false, false, false, true), NO_MODS)),
other: Some(ModSpec::loose(mods(true, false, true, false), NO_MODS)),
keys: &[ch('C')],
},
Claim {
action: "internal:copy",
mac: Some(ANY_MODS),
other: Some(ANY_MODS),
keys: &[named(NamedKey::Copy)],
},
];
pub(super) const MACOS_APP_MENU: &[Claim] = &[
Claim {
action: "open_settings",
mac: Some(ModSpec::exact(mods(false, false, false, true))),
other: None,
keys: &[ch(',')],
},
Claim {
action: "quit",
mac: Some(ModSpec::exact(mods(false, false, false, true))),
other: None,
keys: &[ch('Q')],
},
Claim {
action: "internal:minimize",
mac: Some(ModSpec::exact(mods(false, false, false, true))),
other: None,
keys: &[ch('M')],
},
];
pub(crate) const LAYER_CLAIMS: &[(&str, &[Claim])] = &[
("scroll_keys", SCROLL_KEYS),
("config_reload", CONFIG_RELOAD),
("clipboard_history", CLIPBOARD_HISTORY),
("command_history", COMMAND_HISTORY),
("paste_special", PASTE_SPECIAL_UI),
("search", SEARCH),
("ai_inspector_toggle", AI_INSPECTOR),
("fullscreen_toggle", FULLSCREEN_TOGGLE),
("help_toggle", HELP_TOGGLE),
("settings_toggle", SETTINGS_TOGGLE),
("shader_editor_toggle", SHADER_EDITOR_TOGGLE),
("fps_overlay_toggle", FPS_OVERLAY_TOGGLE),
("profile_drawer_toggle", PROFILE_DRAWER_TOGGLE),
("profile_shortcuts", PROFILE_SHORTCUTS),
("utility_shortcuts", UTILITY),
("tab_shortcuts", TABS),
("paste_copy", PASTE_COPY),
];
pub(crate) const UNIFORM_LAYER_COUNT: usize = 14;