Skip to content

Commit 3847046

Browse files
committed
Add preference enabling users to disable custom keyboard shortcuts
Fixes #408 Adds new translatable string.
1 parent c7c6d7f commit 3847046

File tree

23 files changed

+51
-7
lines changed

23 files changed

+51
-7
lines changed

scripts/event.js

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -375,12 +375,15 @@
375375
}
376376

377377
AblePlayer.prototype.okToHandleKeyPress = function () {
378-
379-
// returns true unless user's focus is on a UI element
378+
let defaultReturn = true;
379+
if ( this.prefNoKeyShortcuts === 1 ) {
380+
defaultReturn = false;
381+
}
382+
// returns true unless user's focus is on a UI element or user has disabled keyboard shortcuts.
380383
// that is likely to need supported keystrokes, including space
381384
var activeElement = AblePlayer.getActiveDOMElement();
382385

383-
return ($(activeElement).prop('tagName') === 'INPUT') ? false : true;
386+
return ($(activeElement).prop('tagName') === 'INPUT') ? false : defaultReturn;
384387
};
385388

386389
AblePlayer.prototype.onPlayerKeyPress = function (e) {

scripts/preference.js

Lines changed: 21 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -144,6 +144,12 @@
144144
'group': 'keyboard',
145145
'default': 0
146146
});
147+
prefs.push({
148+
'name': 'prefNoKeyShortcuts',
149+
'label': this.translate( 'prefNoKeyShortcuts', 'Disable Keyboard Shortcuts' ),
150+
'group': 'keyboard',
151+
'default': 0
152+
});
147153

148154
// Transcript preferences
149155
prefs.push({
@@ -586,10 +592,18 @@
586592
changedSpan = '.able-modkey-shift';
587593
changedText = thisObj.tt.prefShiftKey + ' + ';
588594
}
589-
if ($(this).is(':checked')) {
590-
$(changedSpan).text(changedText);
595+
if ( changedPref !== 'prefNoKeyShortcuts' ) {
596+
if ($(this).is(':checked')) {
597+
$(changedSpan).text(changedText);
598+
} else {
599+
$(changedSpan).text('');
600+
}
591601
} else {
592-
$(changedSpan).text('');
602+
if ($(this).is(':checked')) {
603+
$('.able-modkey-item').addClass('hidden');
604+
} else {
605+
$('.able-modkey-item').removeClass('hidden');
606+
}
593607
}
594608
});
595609
}
@@ -624,6 +638,8 @@
624638
this.currentSampleText = this.translate( 'sampleDescriptionText', 'Adjust settings to hear this sample text.' );
625639
}
626640
} else if (form === 'keyboard') {
641+
let shortcutClass = (this.prefNoKeyShortcuts === 1 ) ? 'able-modkey-item hidden' : 'able-modkey-item';
642+
627643
// add a current list of keyboard shortcuts
628644
$kbHeading = $('<h2>',{
629645
text: this.translate( 'prefHeadingKeyboard2', 'Current keyboard shortcuts' )
@@ -705,7 +721,8 @@
705721
kbListText += '<span class="able-modkey">' + keys[i] + '</span>';
706722
kbListText += ' = ' + kbLabels[i];
707723
$kbListItem = $('<li>',{
708-
html: kbListText
724+
'class': shortcutClass,
725+
html: kbListText,
709726
});
710727
$kbList.append($kbListItem);
711728
}

styles/ableplayer.css

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -611,6 +611,10 @@ div.able-modal-overlay {
611611
margin-top: 1rem;
612612
}
613613

614+
.able-modkey-item.hidden {
615+
display: none;
616+
}
617+
614618
.able-modal-header {
615619
display: flex;
616620
justify-content: space-between;

translations/ca.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -95,6 +95,7 @@
9595
"prefAltKey": "Alt",
9696
"prefCtrlKey": "Control",
9797
"prefShiftKey": "Majúscula",
98+
"prefNoKeyShortcuts": "Disable keyboard shortcuts",
9899
"escapeKey": "Escapada",
99100
"escapeKeyFunction": "Tanca el diàleg o finestre emergent actual",
100101
"prefDescFormat": "Format preferit",

translations/cs.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -95,6 +95,7 @@
9595
"prefAltKey": "Alt",
9696
"prefCtrlKey": "Control",
9797
"prefShiftKey": "Shift",
98+
"prefNoKeyShortcuts": "Disable keyboard shortcuts",
9899
"escapeKey": "Escape",
99100
"escapeKeyFunction": "Zavřít aktuální dialogové okno nebo vyskakovací nabídku",
100101
"prefDescFormat": "Preferovaný formát",

translations/da.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -95,6 +95,7 @@
9595
"prefAltKey": "Alt",
9696
"prefCtrlKey": "Ctrl",
9797
"prefShiftKey": "Shift",
98+
"prefNoKeyShortcuts": "Disable keyboard shortcuts",
9899
"escapeKey": "Escape",
99100
"escapeKeyFunction": "Luk nuværinde dialog eller popup-menu",
100101
"prefDescFormat": "Foretrukne format",

translations/de.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -95,6 +95,7 @@
9595
"prefAltKey": "Alt",
9696
"prefCtrlKey": "Strg",
9797
"prefShiftKey": "Umschalttaste",
98+
"prefNoKeyShortcuts": "Disable keyboard shortcuts",
9899
"escapeKey": "ESC Taste",
99100
"escapeKeyFunction": "Dialogfenster schließen",
100101
"prefDescFormat": "Bevorzugtes Format",

translations/en.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -95,6 +95,7 @@
9595
"prefAltKey": "Alt",
9696
"prefCtrlKey": "Control",
9797
"prefShiftKey": "Shift",
98+
"prefNoKeyShortcuts": "Disable keyboard shortcuts",
9899
"escapeKey": "Escape",
99100
"escapeKeyFunction": "Close current dialog or popup menu",
100101
"prefDescFormat": "Preferred format",

translations/es.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -95,6 +95,7 @@
9595
"prefAltKey": "Alt",
9696
"prefCtrlKey": "Control",
9797
"prefShiftKey": "Mayúsculas",
98+
"prefNoKeyShortcuts": "Disable keyboard shortcuts",
9899
"escapeKey": "Escape",
99100
"escapeKeyFunction": "Cerrar el cuadro de diálogo o menú contextual",
100101
"prefDescFormat": "Formato preferido",

translations/fr.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -95,6 +95,7 @@
9595
"prefAltKey": "Alt",
9696
"prefCtrlKey": "Ctrl",
9797
"prefShiftKey": "Shift",
98+
"prefNoKeyShortcuts": "Disable keyboard shortcuts",
9899
"escapeKey": "Esc",
99100
"escapeKeyFunction": "Fermer la fenêtre de dialogue ou le menu contextuel",
100101
"prefDescFormat": "Format privilégié",

0 commit comments

Comments
 (0)