fix: 修改方向键快捷键

This commit is contained in:
奔跑的面条 2022-04-13 11:03:30 +08:00
parent 15564813bc
commit dc347aeb0f

View File

@ -5,7 +5,6 @@ import debounce from 'lodash/debounce'
import keymaster from 'keymaster' import keymaster from 'keymaster'
// Keymaster可以支持识别以下组合键shiftoptionaltctrlcontrolcommand和⌘ // Keymaster可以支持识别以下组合键shiftoptionaltctrlcontrolcommand和⌘
const chartEditStore = useChartEditStore() const chartEditStore = useChartEditStore()
const winCtrlMerge = (e: string) => `${WinKeyboard.CTRL}+${e}` const winCtrlMerge = (e: string) => `${WinKeyboard.CTRL}+${e}`
@ -13,10 +12,10 @@ const winShiftMerge = (e: string) => `${WinKeyboard.SHIFT}+${e}`
const winAltMerge = (e: string) => `${WinKeyboard.ALT}+${e}` const winAltMerge = (e: string) => `${WinKeyboard.ALT}+${e}`
export const winKeyboardValue = { export const winKeyboardValue = {
[MenuEnum.ARROW_UP]: winCtrlMerge('arrowup'), [MenuEnum.ARROW_UP]: winCtrlMerge('up'),
[MenuEnum.ARROW_RIGHT]: winCtrlMerge('arrowright'), [MenuEnum.ARROW_RIGHT]: winCtrlMerge('right'),
[MenuEnum.ARROW_DOWN]: winCtrlMerge('arrowdown'), [MenuEnum.ARROW_DOWN]: winCtrlMerge('down'),
[MenuEnum.ARROW_LEFT]: winCtrlMerge('arrowleft'), [MenuEnum.ARROW_LEFT]: winCtrlMerge('left'),
[MenuEnum.COPY]: winCtrlMerge('c'), [MenuEnum.COPY]: winCtrlMerge('c'),
[MenuEnum.CUT]: winCtrlMerge('x'), [MenuEnum.CUT]: winCtrlMerge('x'),
[MenuEnum.PARSE]: winCtrlMerge('v'), [MenuEnum.PARSE]: winCtrlMerge('v'),
@ -25,6 +24,7 @@ export const winKeyboardValue = {
[MenuEnum.FORWORD]: winCtrlMerge(winShiftMerge('z')), [MenuEnum.FORWORD]: winCtrlMerge(winShiftMerge('z')),
} }
// 这个 Ctrl 后面还是换成了 ⌘
const macCtrlMerge = (e: string) => `${MacKeyboard.CTRL}+${e}` const macCtrlMerge = (e: string) => `${MacKeyboard.CTRL}+${e}`
const macShiftMerge = (e: string) => `${MacKeyboard.SHIFT}+${e}` const macShiftMerge = (e: string) => `${MacKeyboard.SHIFT}+${e}`
const macAltMerge = (e: string) => `${MacKeyboard.ALT}+${e}` const macAltMerge = (e: string) => `${MacKeyboard.ALT}+${e}`
@ -38,7 +38,7 @@ export const macKeyboardValue = {
[MenuEnum.COPY]: macCtrlMerge('c'), [MenuEnum.COPY]: macCtrlMerge('c'),
[MenuEnum.CUT]: macCtrlMerge('x'), [MenuEnum.CUT]: macCtrlMerge('x'),
[MenuEnum.PARSE]: macCtrlMerge('v'), [MenuEnum.PARSE]: macCtrlMerge('v'),
[MenuEnum.DELETE]: 'delete', [MenuEnum.DELETE]: macCtrlMerge('backspace'),
[MenuEnum.BACK]: macCtrlMerge('z'), [MenuEnum.BACK]: macCtrlMerge('z'),
[MenuEnum.FORWORD]: macCtrlMerge(macShiftMerge('z')), [MenuEnum.FORWORD]: macCtrlMerge(macShiftMerge('z')),
} }
@ -79,45 +79,45 @@ const macKeyList: Array<string> = [
export const useAddKeyboard = () => { export const useAddKeyboard = () => {
const switchHande = (keyboardValue: typeof winKeyboardValue, e: string) => { const switchHande = (keyboardValue: typeof winKeyboardValue, e: string) => {
switch (e) { switch (e) {
// // ct+
case keyboardValue.up: case keyboardValue.up:
keymaster(e, throttle(() => { chartEditStore.setMove(MenuEnum.ARROW_UP); return false }, 200)) keymaster(e, throttle(() => { chartEditStore.setMove(MenuEnum.ARROW_UP); return false }, 200))
break; break;
// // ct+
case keyboardValue.right: case keyboardValue.right:
keymaster(e, throttle(() => { chartEditStore.setMove(MenuEnum.ARROW_RIGHT); return false }, 200)) keymaster(e, throttle(() => { chartEditStore.setMove(MenuEnum.ARROW_RIGHT); return false }, 200))
break; break;
// // ct+
case keyboardValue.down: case keyboardValue.down:
keymaster(e, throttle(() => { chartEditStore.setMove(MenuEnum.ARROW_DOWN); return false }, 200)) keymaster(e, throttle(() => { chartEditStore.setMove(MenuEnum.ARROW_DOWN); return false }, 200))
break; break;
// // ct+
case keyboardValue.left: case keyboardValue.left:
keymaster(e, throttle(() => { chartEditStore.setMove(MenuEnum.ARROW_LEFT); return false }, 200)) keymaster(e, throttle(() => { chartEditStore.setMove(MenuEnum.ARROW_LEFT); return false }, 200))
break; break;
// 删除 // 删除 delete
case keyboardValue.delete: case keyboardValue.delete:
keymaster(e, debounce(() => { chartEditStore.removeComponentList(); return false }, 200)) keymaster(e, debounce(() => { chartEditStore.removeComponentList(); return false }, 200))
break; break;
// 复制 // 复制 ct+v
case keyboardValue.copy: case keyboardValue.copy:
keymaster(e, debounce(() => { chartEditStore.setCopy(); return false }, 200)) keymaster(e, debounce(() => { chartEditStore.setCopy(); return false }, 200))
break; break;
// 剪切 // 剪切 ct+x
case keyboardValue.cut: case keyboardValue.cut:
keymaster(e, debounce(() => { chartEditStore.setCut(); return false }, 200)) keymaster(e, debounce(() => { chartEditStore.setCut(); return false }, 200))
break; break;
// 粘贴 // 粘贴 ct+v
case keyboardValue.parse: case keyboardValue.parse:
keymaster(e, throttle(() => { chartEditStore.setParse(); return false }, 200)) keymaster(e, throttle(() => { chartEditStore.setParse(); return false }, 200))
break; break;
// 撤回 // 撤回 ct+z
case keyboardValue.back: case keyboardValue.back:
keymaster(e, throttle(() => { chartEditStore.setBack(); return false }, 200)) keymaster(e, throttle(() => { chartEditStore.setBack(); return false }, 200))
break; break;
// 前进 // 前进 ct+sh+z
case keyboardValue.forward: case keyboardValue.forward:
keymaster(e, throttle(() => { chartEditStore.setForward(); return false }, 200)) keymaster(e, throttle(() => { chartEditStore.setForward(); return false }, 200))
break; break;