0

[keyboard-alt]: Update six pack notification strings

Bug: b/289009538
Change-Id: Ie7e294e6acb722aed70f47956f862bf92d48e999
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4749272
Reviewed-by: David Padlipsky <dpad@google.com>
Commit-Queue: Michael Checo <michaelcheco@google.com>
Cr-Commit-Position: refs/heads/main@{#1181280}
This commit is contained in:
Michael Checo
2023-08-09 02:07:05 +00:00
committed by Chromium LUCI CQ
parent 268491aaf1
commit 16ea85bc79
24 changed files with 139 additions and 14 deletions

@ -6981,26 +6981,69 @@ To shut down the device, press and hold the power button on the device again.
<message name="IDS_ASH_DEVICE_SETTINGS_NOTIFICATIONS_RIGHT_CLICK_DISABLED" desc="The message shown to notify a user that the shortcut used to simulate a right-click using touchpad and keyboard is disabled.">
The right-click shortcut is currently off
</message>
<message name="IDS_ASH_DEVICE_SETTINGS_SIX_PACK_KEY_INSERT" translateable="false" desc="Label for the Insert 6-pack key.">
<message name="IDS_ASH_DEVICE_SETTINGS_SIX_PACK_KEY_INSERT" desc="Label for the Insert 6-pack key.">
insert
</message>
<message name="IDS_ASH_DEVICE_SETTINGS_SIX_PACK_KEY_HOME" translateable="false" desc="Label for the Home 6-pack key.">
<message name="IDS_ASH_DEVICE_SETTINGS_SIX_PACK_KEY_HOME" desc="Label for the Home 6-pack key.">
home
</message>
<message name="IDS_ASH_DEVICE_SETTINGS_SIX_PACK_KEY_END" translateable="false" desc="Label for the End 6-pack key.">
<message name="IDS_ASH_DEVICE_SETTINGS_SIX_PACK_KEY_END" desc="Label for the End 6-pack key.">
end
</message>
<message name="IDS_ASH_DEVICE_SETTINGS_SIX_PACK_KEY_PAGE_UP" translateable="false" desc="Label for the PageUp 6-pack key.">
<message name="IDS_ASH_DEVICE_SETTINGS_SIX_PACK_KEY_PAGE_UP" desc="Label for the PageUp 6-pack key.">
page up
</message>
<message name="IDS_ASH_DEVICE_SETTINGS_SIX_PACK_KEY_PAGE_DOWN" translateable="false" desc="Label for the PageDown 6-pack key.">
<message name="IDS_ASH_DEVICE_SETTINGS_SIX_PACK_KEY_PAGE_DOWN" desc="Label for the PageDown 6-pack key.">
page down
</message>
<message name="IDS_ASH_DEVICE_SETTINGS_SIX_PACK_KEY_DELETE" translateable="false" desc="Label for the Delete 6-pack key.">
<message name="IDS_ASH_DEVICE_SETTINGS_SIX_PACK_KEY_DELETE" desc="Label for the Delete 6-pack key.">
delete
</message>
<message name="IDS_ASH_DEVICE_SETTINGS_NOTIFICATIONS_SIX_PACK_KEY" translateable="false" desc="">
The keyboard shortcut to use the <ph name="SIX_PACK_KEY_NAME">$1<ex>Delete</ex></ph> key has changed, visit device settings to configure the shortcut.
<message name="IDS_ASH_DEVICE_SETTINGS_NOTIFICATIONS_SIX_PACK_SHORTCUT_DISABLED" desc="">
The <ph name="SIX_PACK_KEY_NAME">$1<ex>delete</ex></ph> shortcut is currently off
</message>
<message name="IDS_ASH_DEVICE_SETTINGS_NOTIFICATIONS_SIX_PACK_KEY" desc="">
The <ph name="SIX_PACK_KEY_NAME">$1<ex>delete</ex></ph> shortcut is updated to <ph name="NEW_SHORTCUT">$2<ex>search + backspace</ex></ph> from <ph name="OLD_SHORTCUT">$3<ex>alt + backspace</ex></ph>
</message>
<message name="IDS_ASH_SETTINGS_SIX_PACK_KEY_DELETE_ALT" desc="In the keyboard settings subpage, the dropdown list item for the alt + backspace option.">
alt + backspace
</message>
<message name="IDS_ASH_SETTINGS_SIX_PACK_KEY_DELETE_SEARCH" desc="In the keyboard settings subpage, the dropdown list item for the search + backspace option.">
<ph name="LAUNCHER_KEY_NAME">$1<ex>launcher</ex></ph> + backspace
</message>
<message name="IDS_ASH_SETTINGS_SIX_PACK_KEY_HOME_ALT" desc="In the keyboard settings subpage, the dropdown list item for the alt + backspace option.">
ctrl + alt + up arrow
</message>
<message name="IDS_ASH_SETTINGS_SIX_PACK_KEY_HOME_SEARCH" desc="In the keyboard settings subpage, the dropdown list item for the alt + backspace option.">
<ph name="LAUNCHER_KEY_NAME">$1<ex>launcher</ex></ph> + left arrow
</message>
<message name="IDS_ASH_SETTINGS_SIX_PACK_KEY_END_ALT" desc="In the keyboard settings subpage, the dropdown list item for the alt + backspace option.">
ctrl + alt + down arrow
</message>
<message name="IDS_ASH_SETTINGS_SIX_PACK_KEY_END_SEARCH" desc="In the keyboard settings subpage, the dropdown list item for the alt + backspace option.">
<ph name="LAUNCHER_KEY_NAME">$1<ex>launcher</ex></ph> + right arrow
</message>
<message name="IDS_ASH_SETTINGS_SIX_PACK_KEY_PAGE_DOWN_ALT" desc="In the keyboard settings subpage, the dropdown list item for the alt + backspace option.">
alt + down arrow
</message>
<message name="IDS_ASH_SETTINGS_SIX_PACK_KEY_PAGE_DOWN_SEARCH" desc="In the keyboard settings subpage, the dropdown list item for the alt + backspace option.">
<ph name="LAUNCHER_KEY_NAME">$1<ex>launcher</ex></ph> + down arrow
</message>
<message name="IDS_ASH_SETTINGS_SIX_PACK_KEY_PAGE_UP_ALT" desc="In the keyboard settings subpage, the dropdown list item for the alt + backspace option.">
alt + up arrow
</message>
<message name="IDS_ASH_SETTINGS_SIX_PACK_KEY_PAGE_UP_SEARCH" desc="In the keyboard settings subpage, the dropdown list item for the alt + backspace option.">
<ph name="LAUNCHER_KEY_NAME">$1<ex>launcher</ex></ph> + up arrow
</message>
<!-- Modifier key names -->
<message name="IDS_ASH_SETTINGS_SHORTCUT_MODIFIER_LAUNCHER" desc="Name of the [Launcher] key. This key has a different name and keyboard glyph/icon depending on the device. This is the string for when it is called Launcher and has a circle/launcher icon.">
launcher
</message>
<message name="IDS_ASH_SETTINGS_SHORTCUT_MODIFIER_SEARCH" desc="Name of the [Search] key. This key has a different name and keyboard glyph/icon depending on the device. This is the string for when it is called Search and has a magnifier icon.">
search
</message>
<message name="IDS_ASH_SETTINGS_SHORTCUT_NOTIFICATION_TITLE" desc="Title for shortcut notifications.">
Keyboard shortcut has changed
</message>
<message name="IDS_ASH_DEVICE_SETTINGS_NOTIFICATIONS_RIGHT_CLICK_TITLE" desc="Title for the right-click shortcut changed notification.">
Keyboard shortcut has changed

@ -0,0 +1 @@
887a21e99f39b45831a3e30618ee3c4b20cd85f2

@ -0,0 +1 @@
5b57fc6fca152d142b62828b145b52456e6a2428

@ -0,0 +1 @@
7259a86f64ff06b60b538f4dbe0ccac93577cc7b

@ -0,0 +1 @@
3c1f53188fc88c4b685c4a62af85ee6e38ae3032

@ -0,0 +1 @@
887a21e99f39b45831a3e30618ee3c4b20cd85f2

@ -0,0 +1 @@
5b57fc6fca152d142b62828b145b52456e6a2428

@ -0,0 +1 @@
64badbdbc4918763f597a6ffd1699b2d3694a8ce

@ -0,0 +1 @@
67b851c4d732a0abe1dbb506ca378d9fae8006ed

@ -0,0 +1 @@
7987f28b6347d0e75bd4c1e194a97fcd3afdc7b8

@ -0,0 +1 @@
7259a86f64ff06b60b538f4dbe0ccac93577cc7b

@ -0,0 +1 @@
64badbdbc4918763f597a6ffd1699b2d3694a8ce

@ -0,0 +1 @@
7259a86f64ff06b60b538f4dbe0ccac93577cc7b

@ -0,0 +1 @@
7259a86f64ff06b60b538f4dbe0ccac93577cc7b

@ -0,0 +1 @@
3c1f53188fc88c4b685c4a62af85ee6e38ae3032

@ -0,0 +1 @@
3c1f53188fc88c4b685c4a62af85ee6e38ae3032

@ -0,0 +1 @@
887a21e99f39b45831a3e30618ee3c4b20cd85f2

@ -0,0 +1 @@
887a21e99f39b45831a3e30618ee3c4b20cd85f2

@ -0,0 +1 @@
64badbdbc4918763f597a6ffd1699b2d3694a8ce

@ -0,0 +1 @@
64badbdbc4918763f597a6ffd1699b2d3694a8ce

@ -0,0 +1 @@
67b851c4d732a0abe1dbb506ca378d9fae8006ed

@ -0,0 +1 @@
67b851c4d732a0abe1dbb506ca378d9fae8006ed

@ -39,6 +39,26 @@ namespace {
using SimulateRightClickModifier = ui::mojom::SimulateRightClickModifier;
using SixPackShortcutModifier = ui::mojom::SixPackShortcutModifier;
// Maps a six pack key to the search/alt shortcut strings.
static constexpr auto kSixPackNotificationsMap =
base::MakeFixedFlatMap<ui::KeyboardCode, std::array<int, 2>>({
{ui::KeyboardCode::VKEY_DELETE,
{IDS_ASH_SETTINGS_SIX_PACK_KEY_DELETE_ALT,
IDS_ASH_SETTINGS_SIX_PACK_KEY_DELETE_SEARCH}},
{ui::KeyboardCode::VKEY_HOME,
{IDS_ASH_SETTINGS_SIX_PACK_KEY_HOME_ALT,
IDS_ASH_SETTINGS_SIX_PACK_KEY_HOME_SEARCH}},
{ui::KeyboardCode::VKEY_END,
{IDS_ASH_SETTINGS_SIX_PACK_KEY_END_ALT,
IDS_ASH_SETTINGS_SIX_PACK_KEY_END_SEARCH}},
{ui::KeyboardCode::VKEY_NEXT,
{IDS_ASH_SETTINGS_SIX_PACK_KEY_PAGE_DOWN_ALT,
IDS_ASH_SETTINGS_SIX_PACK_KEY_PAGE_DOWN_SEARCH}},
{ui::KeyboardCode::VKEY_PRIOR,
{IDS_ASH_SETTINGS_SIX_PACK_KEY_PAGE_UP_ALT,
IDS_ASH_SETTINGS_SIX_PACK_KEY_PAGE_UP_SEARCH}},
});
constexpr auto kSixPackKeyToPrefName =
base::MakeFixedFlatMap<ui::KeyboardCode, const char*>({
{ui::KeyboardCode::VKEY_DELETE,
@ -80,6 +100,10 @@ bool IsRightClickRewriteDisabled(SimulateRightClickModifier active_modifier) {
return active_modifier == SimulateRightClickModifier::kNone;
}
bool IsSixPackShortcutDisabled(SixPackShortcutModifier active_modifier) {
return active_modifier == SixPackShortcutModifier::kNone;
}
std::u16string GetRightClickRewriteNotificationMessage(
SimulateRightClickModifier blocked_modifier,
SimulateRightClickModifier active_modifier) {
@ -185,6 +209,44 @@ std::u16string GetSixPackKeyName(ui::KeyboardCode key_code) {
}
}
std::u16string GetSixPackShortcut(ui::KeyboardCode key_code,
SixPackShortcutModifier modifier) {
CHECK(modifier != SixPackShortcutModifier::kNone);
int message_id =
kSixPackNotificationsMap.at(key_code)[static_cast<int>(modifier) - 1];
if (modifier == SixPackShortcutModifier::kSearch) {
const int launcher_key_name_id =
Shell::Get()->keyboard_capability()->HasLauncherButtonOnAnyKeyboard()
? IDS_ASH_SETTINGS_SHORTCUT_MODIFIER_LAUNCHER
: IDS_ASH_SETTINGS_SHORTCUT_MODIFIER_SEARCH;
const std::u16string launcher_key_name =
l10n_util::GetStringUTF16(launcher_key_name_id);
return l10n_util::GetStringFUTF16(message_id, launcher_key_name);
}
return l10n_util::GetStringUTF16(message_id);
}
std::u16string GetSixPackNotificationMessage(
ui::KeyboardCode key_code,
SixPackShortcutModifier blocked_modifier,
SixPackShortcutModifier active_modifier) {
const auto six_pack_key_name = GetSixPackKeyName(key_code);
if (IsSixPackShortcutDisabled(active_modifier)) {
return l10n_util::GetStringFUTF16(
IDS_ASH_DEVICE_SETTINGS_NOTIFICATIONS_SIX_PACK_SHORTCUT_DISABLED,
six_pack_key_name);
}
// There's only one active shortcut for the "Insert" six pack key.
CHECK(key_code != ui::KeyboardCode::VKEY_INSERT);
const auto new_shortcut = GetSixPackShortcut(key_code, active_modifier);
const auto old_shortcut = GetSixPackShortcut(key_code, blocked_modifier);
return l10n_util::GetStringFUTF16(
IDS_ASH_DEVICE_SETTINGS_NOTIFICATIONS_SIX_PACK_KEY, six_pack_key_name,
new_shortcut, old_shortcut);
}
std::string GetSixPackNotificationId(ui::KeyboardCode key_code, int device_id) {
std::string notification_id;
switch (key_code) {
@ -339,10 +401,9 @@ void InputDeviceSettingsNotificationController::
auto notification = CreateSystemNotificationPtr(
message_center::NOTIFICATION_TYPE_SIMPLE,
GetSixPackNotificationId(key_code, device_id),
l10n_util::GetStringUTF16(IDS_DEPRECATED_SHORTCUT_TITLE),
l10n_util::GetStringFUTF16(
IDS_ASH_DEVICE_SETTINGS_NOTIFICATIONS_SIX_PACK_KEY,
GetSixPackKeyName(key_code)),
l10n_util::GetStringUTF16(IDS_ASH_SETTINGS_SHORTCUT_NOTIFICATION_TITLE),
GetSixPackNotificationMessage(key_code, blocked_modifier,
active_modifier),
std::u16string(), GURL(),
message_center::NotifierId(
message_center::NotifierType::SYSTEM_COMPONENT, kNotifierId,

@ -225,8 +225,8 @@ TEST_F(InputDeviceSettingsNotificationControllerTest,
"delete_six_pack_rewrite_blocked_by_setting_1"));
controller()->NotifySixPackRewriteBlockedBySetting(
ui::VKEY_INSERT, ui::mojom::SixPackShortcutModifier::kAlt,
ui::mojom::SixPackShortcutModifier::kSearch,
ui::VKEY_INSERT, ui::mojom::SixPackShortcutModifier::kSearch,
ui::mojom::SixPackShortcutModifier::kNone,
/*device_id=*/1);
EXPECT_EQ(expected_notification_count++,
message_center()->NotificationCount());