Browse Source

support undo/redo for azerty keyboards (#630)

* support undo/redo for azerty keyboards

* migrate to event.key

* remove unnecessary shiftKey check

Co-authored-by: David Luzar <luzar.david@gmail.com>
Faustino Kialungila 5 years ago
parent
commit
7c9e6dd3f1
4 changed files with 9 additions and 10 deletions
  1. 1 1
      src/actions/actionSelectAll.ts
  2. 2 2
      src/actions/actionStyles.ts
  3. 4 6
      src/actions/actionZindex.tsx
  4. 2 1
      src/index.tsx

+ 1 - 1
src/actions/actionSelectAll.ts

@@ -9,5 +9,5 @@ export const actionSelectAll: Action = {
     };
   },
   contextItemLabel: "labels.selectAll",
-  keyTest: event => event[KEYS.META] && event.code === "KeyA",
+  keyTest: event => event[KEYS.META] && event.key === "a",
 };

+ 2 - 2
src/actions/actionStyles.ts

@@ -14,7 +14,7 @@ export const actionCopyStyles: Action = {
     return {};
   },
   contextItemLabel: "labels.copyStyles",
-  keyTest: event => event[KEYS.META] && event.shiftKey && event.code === "KeyC",
+  keyTest: event => event[KEYS.META] && event.shiftKey && event.key === "C",
   contextMenuOrder: 0,
 };
 
@@ -46,6 +46,6 @@ export const actionPasteStyles: Action = {
     };
   },
   contextItemLabel: "labels.pasteStyles",
-  keyTest: event => event[KEYS.META] && event.shiftKey && event.code === "KeyV",
+  keyTest: event => event[KEYS.META] && event.shiftKey && event.key === "V",
   contextMenuOrder: 1,
 };

+ 4 - 6
src/actions/actionZindex.tsx

@@ -18,8 +18,7 @@ export const actionSendBackward: Action = {
   },
   contextItemLabel: "labels.sendBackward",
   keyPriority: 40,
-  keyTest: event =>
-    event[KEYS.META] && event.shiftKey && event.altKey && event.code === "KeyB",
+  keyTest: event => event[KEYS.META] && event.altKey && event.key === "B",
 };
 
 export const actionBringForward: Action = {
@@ -32,8 +31,7 @@ export const actionBringForward: Action = {
   },
   contextItemLabel: "labels.bringForward",
   keyPriority: 40,
-  keyTest: event =>
-    event[KEYS.META] && event.shiftKey && event.altKey && event.code === "KeyF",
+  keyTest: event => event[KEYS.META] && event.altKey && event.key === "F",
 };
 
 export const actionSendToBack: Action = {
@@ -45,7 +43,7 @@ export const actionSendToBack: Action = {
     };
   },
   contextItemLabel: "labels.sendToBack",
-  keyTest: event => event[KEYS.META] && event.shiftKey && event.code === "KeyB",
+  keyTest: event => event[KEYS.META] && event.shiftKey && event.key === "B",
 };
 
 export const actionBringToFront: Action = {
@@ -57,5 +55,5 @@ export const actionBringToFront: Action = {
     };
   },
   contextItemLabel: "labels.bringToFront",
-  keyTest: event => event[KEYS.META] && event.shiftKey && event.code === "KeyF",
+  keyTest: event => event[KEYS.META] && event.shiftKey && event.key === "F",
 };

+ 2 - 1
src/index.tsx

@@ -383,7 +383,8 @@ export class App extends React.Component<any, AppState> {
       }
       elements = clearSelection(elements);
       this.setState({ elementType: shape });
-    } else if (event[KEYS.META] && event.code === "KeyZ") {
+      // Undo action
+    } else if (event[KEYS.META] && /z/i.test(event.key)) {
       event.preventDefault();
 
       if (