diff --git a/administrator/components/com_users/forms/user.xml b/administrator/components/com_users/forms/user.xml index 199662a2c8207..248beb05ffbe9 100644 --- a/administrator/components/com_users/forms/user.xml +++ b/administrator/components/com_users/forms/user.xml @@ -259,6 +259,18 @@ + + + + + + + diff --git a/administrator/language/en-GB/com_users.ini b/administrator/language/en-GB/com_users.ini index 1cd983eb0de7f..e8f1df9203641 100644 --- a/administrator/language/en-GB/com_users.ini +++ b/administrator/language/en-GB/com_users.ini @@ -10,6 +10,12 @@ COM_USERS_A11Y_SETTINGS_FIELD_CONTRAST="High Contrast" COM_USERS_A11Y_SETTINGS_FIELD_FONTSIZE="Increase Font Size" COM_USERS_A11Y_SETTINGS_FIELD_HIGHLIGHT="Highlight Links" COM_USERS_A11Y_SETTINGS_FIELD_MONOCHROME="Monochrome" +COM_USERS_A11Y_SETTINGS_FIELD_SHORTCUT_TIMEOUT="Keyboard Shortcut Timeout" +COM_USERS_A11Y_SETTINGS_FIELD_SHORTCUT_TIMEOUT_DESC="Customise the maximum time between key presses to activate Joomla-specific keyboard shortcuts." +COM_USERS_A11Y_SETTINGS_SHORTCUT_TIMEOUT_2000="2 seconds" +COM_USERS_A11Y_SETTINGS_SHORTCUT_TIMEOUT_3000="3 seconds" +COM_USERS_A11Y_SETTINGS_SHORTCUT_TIMEOUT_5000="5 seconds" +COM_USERS_A11Y_SETTINGS_SHORTCUT_TIMEOUT_10000="10 seconds" COM_USERS_ACTIVATED="Activated" COM_USERS_ADD_NOTE="Add Note" COM_USERS_ASSIGNED_GROUPS="Assigned User Groups" diff --git a/plugins/system/shortcut/src/Extension/Shortcut.php b/plugins/system/shortcut/src/Extension/Shortcut.php index 2293a996384fa..283e2037ae30e 100644 --- a/plugins/system/shortcut/src/Extension/Shortcut.php +++ b/plugins/system/shortcut/src/Extension/Shortcut.php @@ -110,7 +110,11 @@ public function initialize(BeforeCompileHeadEvent $event): void ['hotkeysjs', 'joomla.dialog'] ); - $timeout = $this->params->get('timeout', 2000); + $timeout = $app->getIdentity()->getParam('a11y_shortcut_timeout'); + + if (!is_numeric($timeout)) { + $timeout = $this->params->get('timeout', 2000); + } $document->addScriptOptions('plg_system_shortcut.shortcuts', $shortcuts); $document->addScriptOptions('plg_system_shortcut.timeout', $timeout);