Desktop: Fixed handling of Option key for shortcuts in macOS

pull/4012/head
Laurent Cozic 2020-10-31 13:01:40 +00:00
parent 154163bd6c
commit e4f53a48d2
1 changed files with 5 additions and 2 deletions

View File

@ -352,7 +352,10 @@ export default class KeymapService extends BaseService {
public domToElectronAccelerator(event: KeyboardEvent<HTMLDivElement>) { public domToElectronAccelerator(event: KeyboardEvent<HTMLDivElement>) {
const parts = []; const parts = [];
const { key, ctrlKey, metaKey, altKey, shiftKey } = event;
// We use the "keyCode" and not "key" because the modifier keys
// would change the "key" value. eg "Option+U" would give "º" as a key instead of "U"
const { keyCode, ctrlKey, metaKey, altKey, shiftKey } = event;
// First, the modifiers // First, the modifiers
if (ctrlKey) parts.push('Ctrl'); if (ctrlKey) parts.push('Ctrl');
@ -368,7 +371,7 @@ export default class KeymapService extends BaseService {
} }
// Finally, the key // Finally, the key
const electronKey = KeymapService.domToElectronKey(key); const electronKey = KeymapService.domToElectronKey(String.fromCharCode(keyCode));
if (electronKey) parts.push(electronKey); if (electronKey) parts.push(electronKey);
return parts.join('+'); return parts.join('+');