mirror of
https://github.com/microsoft/PowerToys.git
synced 2026-04-03 09:46:54 +02:00
[Quick Accent]Left/Right key action normal behaviour added for less than input delay(#27604)
* [Quick Accent] - Left/Right key action normal behaviour added for less than input delay. - Showing toolbar bug is resolved. * [Quick Accent] Used spaces instead of tabs
This commit is contained in:
@@ -203,6 +203,18 @@ public class PowerAccent : IDisposable
|
||||
break;
|
||||
}
|
||||
|
||||
case InputType.Right:
|
||||
{
|
||||
SendKeys.SendWait("{RIGHT}");
|
||||
break;
|
||||
}
|
||||
|
||||
case InputType.Left:
|
||||
{
|
||||
SendKeys.SendWait("{LEFT}");
|
||||
break;
|
||||
}
|
||||
|
||||
case InputType.Char:
|
||||
{
|
||||
if (_selectedIndex != -1)
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
namespace winrt::PowerToys::PowerAccentKeyboardService::implementation
|
||||
{
|
||||
KeyboardListener::KeyboardListener() :
|
||||
m_toolbarVisible(false), m_triggeredWithSpace(false), m_leftShiftPressed(false), m_rightShiftPressed(false)
|
||||
m_toolbarVisible(false), m_triggeredWithSpace(false), m_leftShiftPressed(false), m_rightShiftPressed(false), m_triggeredWithLeftArrow(false), m_triggeredWithRightArrow(false)
|
||||
{
|
||||
s_instance = this;
|
||||
LoggerHelpers::init_logger(L"PowerAccent", L"PowerAccentKeyboardService", "PowerAccent");
|
||||
@@ -174,8 +174,8 @@ namespace winrt::PowerToys::PowerAccentKeyboardService::implementation
|
||||
(triggerPressed == VK_SPACE && m_settings.activationKey == PowerAccentActivationKey::LeftRightArrow) ||
|
||||
((triggerPressed == VK_LEFT || triggerPressed == VK_RIGHT) && m_settings.activationKey == PowerAccentActivationKey::Space))
|
||||
{
|
||||
triggerPressed = 0;
|
||||
Logger::debug(L"Reset trigger key");
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -186,6 +186,8 @@ namespace winrt::PowerToys::PowerAccentKeyboardService::implementation
|
||||
|
||||
// Keep track if it was triggered with space so that it can be typed on false starts.
|
||||
m_triggeredWithSpace = triggerPressed == VK_SPACE;
|
||||
m_triggeredWithLeftArrow = triggerPressed == VK_LEFT;
|
||||
m_triggeredWithRightArrow = triggerPressed == VK_RIGHT;
|
||||
m_toolbarVisible = true;
|
||||
m_showToolbarCb(letterPressed);
|
||||
}
|
||||
@@ -241,6 +243,14 @@ namespace winrt::PowerToys::PowerAccentKeyboardService::implementation
|
||||
{
|
||||
m_hideToolbarCb(InputType::Space);
|
||||
}
|
||||
else if (m_triggeredWithLeftArrow)
|
||||
{
|
||||
m_hideToolbarCb(InputType::Left);
|
||||
}
|
||||
else if (m_triggeredWithRightArrow)
|
||||
{
|
||||
m_hideToolbarCb(InputType::Right);
|
||||
}
|
||||
else
|
||||
{
|
||||
m_hideToolbarCb(InputType::None);
|
||||
|
||||
@@ -55,6 +55,8 @@ namespace winrt::PowerToys::PowerAccentKeyboardService::implementation
|
||||
std::function<void(TriggerKey, bool)> m_nextCharCb;
|
||||
std::function<bool(LetterKey)> m_isLanguageLetterCb;
|
||||
bool m_triggeredWithSpace;
|
||||
bool m_triggeredWithLeftArrow;
|
||||
bool m_triggeredWithRightArrow;
|
||||
spdlog::stopwatch m_stopwatch;
|
||||
bool m_leftShiftPressed;
|
||||
bool m_rightShiftPressed;
|
||||
|
||||
@@ -60,6 +60,8 @@ namespace PowerToys
|
||||
{
|
||||
None,
|
||||
Space,
|
||||
Left,
|
||||
Right,
|
||||
Char
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user