mirror of
https://github.com/siyuan-note/siyuan.git
synced 2026-01-19 14:56:09 +01:00
This commit is contained in:
parent
2c71478d83
commit
4f263b31cc
19 changed files with 110 additions and 88 deletions
|
|
@ -1,4 +1,4 @@
|
|||
import {isCtrl, isMac, updateHotkeyTip, writeText} from "../../protyle/util/compatibility";
|
||||
import {isMac, isNotCtrl, isOnlyMeta, updateHotkeyTip, writeText} from "../../protyle/util/compatibility";
|
||||
import {matchHotKey} from "../../protyle/util/hotKey";
|
||||
import {openSearch} from "../../search/spread";
|
||||
import {
|
||||
|
|
@ -439,7 +439,7 @@ const fileTreeKeydown = (app: App, event: KeyboardEvent) => {
|
|||
|
||||
const liElements = Array.from(files.element.querySelectorAll(".b3-list-item--focus"));
|
||||
if (liElements.length === 0) {
|
||||
if (event.key.startsWith("Arrow") && !isCtrl(event)) {
|
||||
if (event.key.startsWith("Arrow") && isNotCtrl(event)) {
|
||||
const liElement = files.element.querySelector(".b3-list-item");
|
||||
if (liElement) {
|
||||
liElement.classList.add("b3-list-item--focus");
|
||||
|
|
@ -572,7 +572,7 @@ const fileTreeKeydown = (app: App, event: KeyboardEvent) => {
|
|||
}
|
||||
if (!window.siyuan.menus.menu.element.classList.contains("fn__none") &&
|
||||
(event.code.startsWith("Arrow") || event.code === "Enter") &&
|
||||
!event.altKey && !event.shiftKey && !isCtrl(event)) {
|
||||
!event.altKey && !event.shiftKey && isNotCtrl(event)) {
|
||||
event.preventDefault();
|
||||
return true;
|
||||
}
|
||||
|
|
@ -629,7 +629,7 @@ const fileTreeKeydown = (app: App, event: KeyboardEvent) => {
|
|||
}
|
||||
}
|
||||
return;
|
||||
} else if (!isCtrl(event)) {
|
||||
} else if (isNotCtrl(event)) {
|
||||
files.element.querySelector('[select-end="true"]')?.removeAttribute("select-end");
|
||||
files.element.querySelector('[select-start="true"]')?.removeAttribute("select-start");
|
||||
if ((event.key === "ArrowRight" && !liElements[0].querySelector(".b3-list-item__arrow--open") && !liElements[0].querySelector(".b3-list-item__toggle").classList.contains("fn__hidden")) ||
|
||||
|
|
@ -957,7 +957,7 @@ export const windowKeyDown = (app: App, event: KeyboardEvent) => {
|
|||
return;
|
||||
}
|
||||
const target = event.target as HTMLElement;
|
||||
if (!event.ctrlKey && !event.metaKey && !event.shiftKey && !event.altKey &&
|
||||
if (isNotCtrl(event) && !event.shiftKey && !event.altKey &&
|
||||
!["INPUT", "TEXTAREA"].includes(target.tagName) &&
|
||||
["0", "1", "2", "3", "4", "j", "k", "l", ";", "s", " ", "p"].includes(event.key.toLowerCase())) {
|
||||
let cardElement: Element;
|
||||
|
|
@ -978,15 +978,15 @@ export const windowKeyDown = (app: App, event: KeyboardEvent) => {
|
|||
}
|
||||
|
||||
// 仅处理以下快捷键操作
|
||||
if (!event.ctrlKey && !isCtrl(event) && event.key !== "Escape" && !event.shiftKey && !event.altKey &&
|
||||
if (isNotCtrl(event) && event.key !== "Escape" && !event.shiftKey && !event.altKey &&
|
||||
Constants.KEYCODELIST[event.keyCode] !== "PageUp" &&
|
||||
Constants.KEYCODELIST[event.keyCode] !== "PageDown" &&
|
||||
!/^F\d{1,2}$/.test(event.key) && event.key.indexOf("Arrow") === -1 && event.key !== "Enter" && event.key !== "Backspace" && event.key !== "Delete") {
|
||||
return;
|
||||
}
|
||||
|
||||
if (!event.altKey && !event.shiftKey && isCtrl(event)) {
|
||||
if (event.key === "Meta" || event.key === "Control" || event.ctrlKey || event.metaKey) {
|
||||
if (!event.altKey && !event.shiftKey && isOnlyMeta(event)) {
|
||||
if ((isMac() ? event.key === "Meta" : event.key === "Control") || isOnlyMeta(event)) {
|
||||
window.siyuan.ctrlIsPressed = true;
|
||||
if ((event.key === "Meta" || event.key === "Control") &&
|
||||
window.siyuan.config.editor.floatWindowMode === 1 && !event.repeat) {
|
||||
|
|
@ -997,7 +997,7 @@ export const windowKeyDown = (app: App, event: KeyboardEvent) => {
|
|||
}
|
||||
}
|
||||
|
||||
if (!event.altKey && event.shiftKey && !isCtrl(event)) {
|
||||
if (!event.altKey && event.shiftKey && isNotCtrl(event)) {
|
||||
if (event.key === "Shift") {
|
||||
window.siyuan.shiftIsPressed = true;
|
||||
if (!event.repeat) {
|
||||
|
|
@ -1008,7 +1008,7 @@ export const windowKeyDown = (app: App, event: KeyboardEvent) => {
|
|||
}
|
||||
}
|
||||
|
||||
if (event.altKey && !event.shiftKey && !isCtrl(event)) {
|
||||
if (event.altKey && !event.shiftKey && isNotCtrl(event)) {
|
||||
if (event.key === "Alt") {
|
||||
window.siyuan.altIsPressed = true;
|
||||
} else {
|
||||
|
|
@ -1016,6 +1016,7 @@ export const windowKeyDown = (app: App, event: KeyboardEvent) => {
|
|||
}
|
||||
}
|
||||
|
||||
// mac 中只能使用 ⌃
|
||||
if (switchDialog && event.ctrlKey && !event.metaKey && event.key.startsWith("Arrow")) {
|
||||
dialogArrow(app, switchDialog.element, event);
|
||||
return;
|
||||
|
|
@ -1100,7 +1101,7 @@ export const windowKeyDown = (app: App, event: KeyboardEvent) => {
|
|||
return;
|
||||
}
|
||||
|
||||
if (!event.ctrlKey && !event.metaKey && !event.shiftKey && !event.altKey &&
|
||||
if (isNotCtrl(event) && !event.shiftKey && !event.altKey &&
|
||||
(event.key.startsWith("Arrow") || event.key === "Enter")) {
|
||||
const openRecentDocsDialog = window.siyuan.dialogs.find(item => {
|
||||
if (item.element.getAttribute("data-key") === window.siyuan.config.keymap.general.recentDocs.custom) {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue