2019-05-21 16:26:04 +02:00
|
|
|
|
// Copyright (c) Microsoft Corporation.
|
|
|
|
|
// Licensed under the MIT license.
|
|
|
|
|
|
|
|
|
|
#include "pch.h"
|
|
|
|
|
#include "AppKeyBindings.h"
|
|
|
|
|
|
2019-05-23 19:36:29 +02:00
|
|
|
|
#include "AppKeyBindings.g.cpp"
|
|
|
|
|
|
2019-05-21 16:26:04 +02:00
|
|
|
|
using namespace winrt::Microsoft::Terminal;
|
|
|
|
|
using namespace winrt::TerminalApp;
|
2020-08-07 16:46:52 +02:00
|
|
|
|
using namespace winrt::Microsoft::Terminal::TerminalControl;
|
2019-05-21 16:26:04 +02:00
|
|
|
|
|
|
|
|
|
namespace winrt::TerminalApp::implementation
|
|
|
|
|
{
|
2020-08-07 16:46:52 +02:00
|
|
|
|
bool AppKeyBindings::TryKeyChord(const KeyChord& kc)
|
2019-05-21 16:26:04 +02:00
|
|
|
|
{
|
2020-09-14 22:38:56 +02:00
|
|
|
|
const auto actionAndArgs = _keymap.TryLookup(kc);
|
|
|
|
|
if (actionAndArgs)
|
2019-05-21 16:26:04 +02:00
|
|
|
|
{
|
2019-11-27 22:51:38 +01:00
|
|
|
|
return _dispatch.DoAction(actionAndArgs);
|
2019-05-21 16:26:04 +02:00
|
|
|
|
}
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
|
2019-11-27 22:51:38 +01:00
|
|
|
|
void AppKeyBindings::SetDispatch(const winrt::TerminalApp::ShortcutActionDispatch& dispatch)
|
2019-05-21 16:26:04 +02:00
|
|
|
|
{
|
2019-11-27 22:51:38 +01:00
|
|
|
|
_dispatch = dispatch;
|
2019-05-21 16:26:04 +02:00
|
|
|
|
}
|
|
|
|
|
|
2020-10-06 18:56:59 +02:00
|
|
|
|
void AppKeyBindings::SetKeyMapping(const winrt::Microsoft::Terminal::Settings::Model::KeyMapping& keymap)
|
2019-05-22 22:01:33 +02:00
|
|
|
|
{
|
2020-09-14 22:38:56 +02:00
|
|
|
|
_keymap = keymap;
|
2019-05-22 22:01:33 +02:00
|
|
|
|
}
|
2019-05-21 16:26:04 +02:00
|
|
|
|
}
|