optimize: 优化快捷键设置功能:忽略不支持的快捷键

pull/361/head
王良 2 months ago
parent 243f9b6440
commit 36e805415f

@ -27,7 +27,7 @@ module.exports = {
personalUrl: '' personalUrl: ''
}, },
startShowWindow: true, // 启动时是否打开窗口true=打开窗口, false=隐藏窗口 startShowWindow: true, // 启动时是否打开窗口true=打开窗口, false=隐藏窗口
showHideShortcut: 'Alt+S', // 显示/隐藏窗口快捷键 showHideShortcut: 'Alt + S', // 显示/隐藏窗口快捷键
windowSize: { width: 900, height: 750 }, // 启动时,窗口的尺寸 windowSize: { width: 900, height: 750 }, // 启动时,窗口的尺寸
theme: 'dark', // 主题light=亮色, dark=暗色 theme: 'dark', // 主题light=亮色, dark=暗色
autoChecked: true, // 是否自动检查更新 autoChecked: true, // 是否自动检查更新

@ -255,7 +255,7 @@ function createWindow (startHideWindow) {
// 监听键盘事件 // 监听键盘事件
win.webContents.on('before-input-event', (event, input) => { win.webContents.on('before-input-event', (event, input) => {
// 按 F12打开/关闭 开发者工具 // 按 F12打开/关闭 开发者工具
if (input.key === 'F12' && input.type === 'keyUp') { if (input.key === 'F12' && input.type === 'keyUp' && !input.control && !input.alt && !input.shift && !input.meta) {
switchDevTools() switchDevTools()
} }
}) })

@ -182,15 +182,27 @@ export default {
this.$api.ipc.openPath(dir + '/logs/') this.$api.ipc.openPath(dir + '/logs/')
}, },
getEventKey (event) { getEventKey (event) {
//
switch (event.key) { switch (event.key) {
case 'Control': case 'Control':
case 'Alt': case 'Alt':
case 'Shift': case 'Shift':
case 'Meta': // Window case 'Meta': // Window
return '' // CtrlAltShiftMeta case 'Escape':
case 'Backspace':
case 'Tab':
case 'CapsLock':
case 'NumLock':
case 'Enter':
case 'ArrowUp':
case 'ArrowDown':
case 'ArrowLeft':
case 'ArrowRight':
return ''
} }
switch (event.code) { switch (event.code) {
// F1 ~ F12
case 'F1': return 'F1' case 'F1': return 'F1'
case 'F2': return 'F2' case 'F2': return 'F2'
case 'F3': return 'F3' case 'F3': return 'F3'
@ -204,7 +216,8 @@ export default {
case 'F11': return 'F11' case 'F11': return 'F11'
case 'F12': return 'F12' case 'F12': return 'F12'
case 'Backquote': return '`' // 0 ~ 9
case 'Digit0': return '0'
case 'Digit1': return '1' case 'Digit1': return '1'
case 'Digit2': return '2' case 'Digit2': return '2'
case 'Digit3': return '3' case 'Digit3': return '3'
@ -214,27 +227,17 @@ export default {
case 'Digit7': return '7' case 'Digit7': return '7'
case 'Digit8': return '8' case 'Digit8': return '8'
case 'Digit9': return '9' case 'Digit9': return '9'
case 'Digit0': return '0'
case 'Backquote': return '`'
case 'Minus': return '-' case 'Minus': return '-'
case 'Equal': return '=' case 'Equal': return '='
case 'Backspace': return 'Backspace'
case 'Escape': return 'Esc'
case 'Tab': return 'Tab'
case 'CapsLock': return 'CapsLock'
case 'Space': return 'Space' case 'Space': return 'Space'
case 'ArrowUp': return 'ArrowUp'
case 'ArrowDown': return 'ArrowDown'
case 'ArrowLeft': return 'ArrowLeft'
case 'ArrowRight': return 'ArrowRight'
case 'BracketLeft': return '[' case 'BracketLeft': return '['
case 'BracketRight': return ']' case 'BracketRight': return ']'
case 'Backslash': return '\\' case 'Backslash': return '\\'
case 'Semicolon': return ';' case 'Semicolon': return ';'
case 'Quote': return '\'' case 'Quote': return '\''
case 'Enter': return 'Enter'
case 'Comma': return ',' case 'Comma': return ','
case 'Period': return '.' case 'Period': return '.'
case 'Slash': return '/' case 'Slash': return '/'
@ -247,37 +250,39 @@ export default {
case 'PageDown': return 'PageDown' case 'PageDown': return 'PageDown'
// //
case 'NumLock': return 'NumLock' case 'Numpad1': return 'Num1'
case 'Numpad1': return 'Numpad1' case 'Numpad2': return 'Num2'
case 'Numpad2': return 'Numpad2' case 'Numpad3': return 'Num3'
case 'Numpad3': return 'Numpad3' case 'Numpad4': return 'Num4'
case 'Numpad4': return 'Numpad4' case 'Numpad5': return 'Num5'
case 'Numpad5': return 'Numpad5' case 'Numpad6': return 'Num6'
case 'Numpad6': return 'Numpad6' case 'Numpad7': return 'Num7'
case 'Numpad7': return 'Numpad7' case 'Numpad8': return 'Num8'
case 'Numpad8': return 'Numpad8' case 'Numpad9': return 'Num9'
case 'Numpad9': return 'Numpad9' case 'Numpad0': return 'Num0'
case 'Numpad0': return 'Numpad0'
case 'NumpadDivide': return 'NumpadDivide' // / //
case 'NumpadMultiply': return 'NumpadMultiply' // * case 'NumpadDivide': // return 'Num/'
case 'NumpadDecimal': return 'NumpadDecimal' // . case 'NumpadMultiply': // return 'Num*'
case 'NumpadSubtract': return 'NumpadSubtract' // - case 'NumpadDecimal': // return 'Num.'
case 'NumpadAdd': return 'NumpadAdd' // + case 'NumpadSubtract': // return 'Num-'
case 'NumpadEnter': return 'NumpadEnter' // case 'NumpadAdd': // return 'Num+'
return ''
} }
//
if (event.code.startsWith('Key') && event.code.length === 4) { if (event.code.startsWith('Key') && event.code.length === 4) {
return event.key.toUpperCase() return event.key.toUpperCase()
} }
console.error(`未能识别的按键key=${event.key}, code=${event.code}, keyCode=${event.keyCode}`) console.error(`未能识别的按键key=${event.key}, code=${event.code}, keyCode=${event.keyCode}`)
return '' return ''
}, },
shortcutChange () { shortcutChange () {
this.config.app.showHideShortcut = '' this.config.app.showHideShortcut = ''
}, },
shortcutKeyDown (event) { shortcutKeyDown (event) {
// console.info(`code=${event.code}, key=${event.key}, keyCode=${event.keyCode}`)
if (event.type !== 'keydown') { if (event.type !== 'keydown') {
return return
} }
@ -289,9 +294,9 @@ export default {
} }
// CtrlAltShift // CtrlAltShift
let shortcut = event.ctrlKey ? 'Ctrl+' : '' let shortcut = event.ctrlKey ? 'Ctrl + ' : ''
if (event.altKey) shortcut += 'Alt+' if (event.altKey) shortcut += 'Alt + '
if (event.shiftKey) shortcut += 'Shift+' if (event.shiftKey) shortcut += 'Shift + '
if (shortcut === '') { if (shortcut === '') {
this.config.app.showHideShortcut = '' this.config.app.showHideShortcut = ''
return return

Loading…
Cancel
Save