mirror of
https://codeberg.org/unspeaker/tek.git
synced 2025-12-06 19:56:42 +01:00
help: display all keybinds
This commit is contained in:
parent
9bc4e3fb5f
commit
9f30f77aee
4 changed files with 25 additions and 29 deletions
|
|
@ -53,7 +53,7 @@ pub struct Tek {
|
||||||
// Modal overlay
|
// Modal overlay
|
||||||
pub modal: Option<Modal>,
|
pub modal: Option<Modal>,
|
||||||
// Input keymap
|
// Input keymap
|
||||||
pub keys: InputMap<'static, Self, TekCommand, TuiIn, SourceIter<'static>>
|
pub keys: InputMap<'static, Self, TekCommand, TuiIn, TokenIter<'static>>
|
||||||
}
|
}
|
||||||
|
|
||||||
impl Tek {
|
impl Tek {
|
||||||
|
|
|
||||||
|
|
@ -41,8 +41,8 @@ impl Tek {
|
||||||
Bsp::s(Tui::bold(true, "tek!"), Bsp::s("", Map::south(1, options, option)))
|
Bsp::s(Tui::bold(true, "tek!"), Bsp::s("", Map::south(1, options, option)))
|
||||||
}
|
}
|
||||||
|
|
||||||
fn view_modal_help (&self) -> impl Content<TuiOut> {
|
fn view_modal_help (&self) -> impl Content<TuiOut> + use<'_> {
|
||||||
let bindings = ||TokenIter::new(include_str!("../../../config/keys_groovebox.edn"))
|
let bindings = ||self.keys.layers.iter().flat_map(|a|a.1)
|
||||||
.filter_map(|x|if let Value::Exp(_, iter)=x.value{
|
.filter_map(|x|if let Value::Exp(_, iter)=x.value{
|
||||||
Some(iter)
|
Some(iter)
|
||||||
} else {
|
} else {
|
||||||
|
|
|
||||||
|
|
@ -120,40 +120,36 @@ impl Cli {
|
||||||
}),
|
}),
|
||||||
keys: match mode {
|
keys: match mode {
|
||||||
LaunchMode::Sampler => InputMap::default()
|
LaunchMode::Sampler => InputMap::default()
|
||||||
.layer(SourceIter(include_str!("../../config/keys_global.edn")))
|
.layer(SourceIter(include_str!("../../config/keys_global.edn")).into())
|
||||||
.layer(SourceIter(include_str!("../../config/keys_sampler.edn"))),
|
.layer(SourceIter(include_str!("../../config/keys_sampler.edn")).into()),
|
||||||
LaunchMode::Clock => InputMap::default()
|
LaunchMode::Clock => InputMap::default()
|
||||||
.layer(SourceIter(include_str!("../../config/keys_global.edn")))
|
.layer(SourceIter(include_str!("../../config/keys_global.edn")).into())
|
||||||
.layer(SourceIter(include_str!("../../config/keys_clock.edn"))),
|
.layer(SourceIter(include_str!("../../config/keys_clock.edn")).into()),
|
||||||
LaunchMode::Sequencer => InputMap::default()
|
LaunchMode::Sequencer => InputMap::default()
|
||||||
.layer(SourceIter(include_str!("../../config/keys_global.edn")))
|
.layer(SourceIter(include_str!("../../config/keys_global.edn")).into())
|
||||||
.layer(SourceIter(include_str!("../../config/keys_editor.edn")))
|
.layer(SourceIter(include_str!("../../config/keys_editor.edn")).into())
|
||||||
.layer(SourceIter(include_str!("../../config/keys_clock.edn")))
|
.layer(SourceIter(include_str!("../../config/keys_clock.edn")).into())
|
||||||
.layer(SourceIter(include_str!("../../config/keys_sequencer.edn"))),
|
.layer(SourceIter(include_str!("../../config/keys_sequencer.edn")).into()),
|
||||||
LaunchMode::Groovebox => InputMap::default()
|
LaunchMode::Groovebox => InputMap::default()
|
||||||
.layer(SourceIter(include_str!("../../config/keys_global.edn")))
|
.layer(SourceIter(include_str!("../../config/keys_global.edn")).into())
|
||||||
.layer(SourceIter(include_str!("../../config/keys_editor.edn")))
|
.layer(SourceIter(include_str!("../../config/keys_editor.edn")).into())
|
||||||
.layer(SourceIter(include_str!("../../config/keys_clock.edn")))
|
.layer(SourceIter(include_str!("../../config/keys_clock.edn")).into())
|
||||||
.layer(SourceIter(include_str!("../../config/keys_sequencer.edn")))
|
.layer(SourceIter(include_str!("../../config/keys_sequencer.edn")).into())
|
||||||
.layer(SourceIter(include_str!("../../config/keys_groovebox.edn"))),
|
.layer(SourceIter(include_str!("../../config/keys_groovebox.edn")).into()),
|
||||||
LaunchMode::Arranger {..} => InputMap::default()
|
LaunchMode::Arranger {..} => InputMap::default()
|
||||||
.layer(
|
.layer(SourceIter(include_str!("../../config/keys_global.edn")).into())
|
||||||
SourceIter(include_str!("../../config/keys_global.edn")))
|
|
||||||
.layer_if(|state: &Tek|state.is_editing(),
|
.layer_if(|state: &Tek|state.is_editing(),
|
||||||
SourceIter(include_str!("../../config/keys_editor.edn")))
|
SourceIter(include_str!("../../config/keys_editor.edn")).into())
|
||||||
.layer_if(|state: &Tek|state.selected.is_clip(),
|
.layer_if(|state: &Tek|state.selected.is_clip(),
|
||||||
SourceIter(include_str!("../../config/keys_clip.edn")))
|
SourceIter(include_str!("../../config/keys_clip.edn")).into())
|
||||||
.layer_if(|state: &Tek|state.selected.is_track(),
|
.layer_if(|state: &Tek|state.selected.is_track(),
|
||||||
SourceIter(include_str!("../../config/keys_track.edn")))
|
SourceIter(include_str!("../../config/keys_track.edn")).into())
|
||||||
.layer_if(|state: &Tek|state.selected.is_scene(),
|
.layer_if(|state: &Tek|state.selected.is_scene(),
|
||||||
SourceIter(include_str!("../../config/keys_scene.edn")))
|
SourceIter(include_str!("../../config/keys_scene.edn")).into())
|
||||||
.layer_if(|state: &Tek|state.selected.is_mix(),
|
.layer_if(|state: &Tek|state.selected.is_mix(),
|
||||||
SourceIter(include_str!("../../config/keys_mix.edn")))
|
SourceIter(include_str!("../../config/keys_mix.edn")).into())
|
||||||
.layer(
|
.layer(SourceIter(include_str!("../../config/keys_clock.edn")).into())
|
||||||
SourceIter(include_str!("../../config/keys_clock.edn")))
|
.layer(SourceIter(include_str!("../../config/keys_arranger.edn")).into()),
|
||||||
.layer(
|
|
||||||
SourceIter(include_str!("../../config/keys_arranger.edn")))
|
|
||||||
,
|
|
||||||
_ => todo!("{mode:?}"),
|
_ => todo!("{mode:?}"),
|
||||||
},
|
},
|
||||||
pool: match mode {
|
pool: match mode {
|
||||||
|
|
|
||||||
2
deps/tengri
vendored
2
deps/tengri
vendored
|
|
@ -1 +1 @@
|
||||||
Subproject commit 4ec51d5b694c14ccf617ec4538da04089b17ab92
|
Subproject commit 44ebe17c665b3a65e7a3a0020eff290093fc7ed2
|
||||||
Loading…
Add table
Add a link
Reference in a new issue