Skip to content

Commit

Permalink
Use event key and not keyCode, fixes #1305
Browse files Browse the repository at this point in the history
Use crtl shift for navigation shortcuts
  • Loading branch information
ivmartel committed Feb 1, 2023
1 parent 6f078d0 commit 0fbc5e7
Show file tree
Hide file tree
Showing 3 changed files with 28 additions and 23 deletions.
38 changes: 20 additions & 18 deletions src/app/application.js
Original file line number Diff line number Diff line change
Expand Up @@ -817,27 +817,29 @@ dwv.App = function () {
stage.getActiveLayerGroup().getActiveViewLayer().getViewController();
var size = viewController.getImageSize();
if (event.ctrlKey) {
if (event.keyCode === 37) { // crtl-arrow-left
if (size.moreThanOne(3)) {
viewController.decrementIndex(3);
}
} else if (event.keyCode === 38) { // crtl-arrow-up
if (viewController.canScroll()) {
viewController.incrementScrollIndex();
}
} else if (event.keyCode === 39) { // crtl-arrow-right
if (size.moreThanOne(3)) {
viewController.incrementIndex(3);
}
} else if (event.keyCode === 40) { // crtl-arrow-down
if (viewController.canScroll()) {
viewController.decrementScrollIndex();
if (event.shiftKey) {
if (event.key === 'ArrowLeft') { // crtl-shift-arrow-left
if (size.moreThanOne(3)) {
viewController.decrementIndex(3);
}
} else if (event.key === 'ArrowUp') { // crtl-shift-arrow-up
if (viewController.canScroll()) {
viewController.incrementScrollIndex();
}
} else if (event.key === 'ArrowRight') { // crtl-shift-arrow-right
if (size.moreThanOne(3)) {
viewController.incrementIndex(3);
}
} else if (event.key === 'ArrowDown') { // crtl-shift-arrow-down
if (viewController.canScroll()) {
viewController.decrementScrollIndex();
}
}
} else if (event.keyCode === 89) { // crtl-y
} else if (event.key === 'y') { // crtl-y
undoStack.redo();
} else if (event.keyCode === 90) { // crtl-z
} else if (event.key === 'z') { // crtl-z
undoStack.undo();
} else if (event.code === 'Space') { // crtl-space
} else if (event.key === ' ') { // crtl-space
for (var i = 0; i < stage.getNumberOfLayerGroups(); ++i) {
stage.getLayerGroup(i).setShowCrosshair(
!stage.getLayerGroup(i).getShowCrosshair()
Expand Down
8 changes: 5 additions & 3 deletions src/tools/draw.js
Original file line number Diff line number Diff line change
Expand Up @@ -387,8 +387,10 @@ dwv.tool.Draw = function (app) {
}
var konvaLayer;

// press delete key
if (event.keyCode === 46 && shapeEditor.isActive()) {
// press delete or backspace key
if ((event.key === 'Delete' ||
event.key === 'Backspace') &&
shapeEditor.isActive()) {
// get shape
var shapeGroup = shapeEditor.getShape().getParent();
konvaLayer = shapeGroup.getLayer();
Expand All @@ -404,7 +406,7 @@ dwv.tool.Draw = function (app) {
}

// escape key: exit shape creation
if (event.keyCode === 27 && tmpShapeGroup !== null) {
if (event.key === 'Escape' && tmpShapeGroup !== null) {
konvaLayer = tmpShapeGroup.getLayer();
// reset temporary shape group
tmpShapeGroup.destroy();
Expand Down
5 changes: 3 additions & 2 deletions tests/pacs/viewer.js
Original file line number Diff line number Diff line change
Expand Up @@ -541,7 +541,7 @@ function setupToolsCheckboxes() {
if (!event.ctrlKey &&
!event.altKey &&
!event.shiftKey &&
event.keyCode === char) {
event.key === char) {
input.click();
}
};
Expand All @@ -568,7 +568,8 @@ function setupToolsCheckboxes() {
toolsDiv.appendChild(label);

// keyboard shortcut
window.addEventListener('keydown', getKeyCheck(key.charCodeAt(0), input));
console.log('key', key, key[0]);
window.addEventListener('keydown', getKeyCheck(key[0].toLowerCase(), input));
}
}

Expand Down

0 comments on commit 0fbc5e7

Please sign in to comment.