Initial commit
This commit is contained in:
57
Frontend/pages/home/ts/KeyBoardHandler.ts
Normal file
57
Frontend/pages/home/ts/KeyBoardHandler.ts
Normal file
@@ -0,0 +1,57 @@
|
||||
window.addEventListener('keydown', (ev: KeyboardEvent) => {
|
||||
if (document.activeElement && document.activeElement.nodeName != 'INPUT') {
|
||||
if ((isWin() && ev.ctrlKey) || (isMac() && ev.metaKey)) {
|
||||
switch (ev.key) {
|
||||
case 'c':
|
||||
ev.preventDefault();
|
||||
if (PageHandler.currentPageID && KeyHandler.selected.length == 1) {
|
||||
UndeckedClipboard.copyKey(
|
||||
parseInt(KeyHandler.selected[0].split(',')[0]),
|
||||
parseInt(KeyHandler.selected[0].split(',')[1])
|
||||
);
|
||||
}
|
||||
break;
|
||||
|
||||
case 'x':
|
||||
ev.preventDefault();
|
||||
if (PageHandler.currentPageID && KeyHandler.selected.length == 1) {
|
||||
UndeckedClipboard.cutKey(
|
||||
parseInt(KeyHandler.selected[0].split(',')[0]),
|
||||
parseInt(KeyHandler.selected[0].split(',')[1])
|
||||
);
|
||||
}
|
||||
break;
|
||||
|
||||
case 'v':
|
||||
ev.preventDefault();
|
||||
if (PageHandler.currentPageID && KeyHandler.selected.length == 1) {
|
||||
UndeckedClipboard.pasteKey(
|
||||
parseInt(KeyHandler.selected[0].split(',')[0]),
|
||||
parseInt(KeyHandler.selected[0].split(',')[1])
|
||||
);
|
||||
}
|
||||
break;
|
||||
|
||||
case 'g':
|
||||
ev.preventDefault();
|
||||
if (PageHandler.currentPageID && KeyHandler.selected.length == 1) {
|
||||
UndeckedClipboard.copyGhostKey(
|
||||
parseInt(KeyHandler.selected[0].split(',')[0]),
|
||||
parseInt(KeyHandler.selected[0].split(',')[1])
|
||||
);
|
||||
}
|
||||
break;
|
||||
}
|
||||
} else {
|
||||
switch (ev.key) {
|
||||
case 'Delete':
|
||||
var x = parseInt(KeyHandler.selected[0].split(',')[0]);
|
||||
var y = parseInt(KeyHandler.selected[0].split(',')[1]);
|
||||
socket.emit('page', 'operation', 'delete', PageHandler.currentPageID, x, y);
|
||||
Editor.close();
|
||||
KeyHandler.select(String(x), String(y));
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
Reference in New Issue
Block a user