diff --git a/packages/uhk-web/src/app/components/popover/popover.component.html b/packages/uhk-web/src/app/components/popover/popover.component.html
index cd8057d3..e1e151b5 100644
--- a/packages/uhk-web/src/app/components/popover/popover.component.html
+++ b/packages/uhk-web/src/app/components/popover/popover.component.html
@@ -81,14 +81,14 @@
diff --git a/packages/uhk-web/src/app/components/popover/popover.component.ts b/packages/uhk-web/src/app/components/popover/popover.component.ts
index 885ff0fb..352737fa 100644
--- a/packages/uhk-web/src/app/components/popover/popover.component.ts
+++ b/packages/uhk-web/src/app/components/popover/popover.component.ts
@@ -32,6 +32,7 @@ import { Tab } from './tab';
import { AppState } from '../../store';
import { getKeymaps } from '../../store/reducers/user-configuration';
import { KeyActionRemap } from '../../models/key-action-remap';
+import { RemapInfo } from '../../models/remap-info';
enum TabName {
Keypress,
@@ -84,8 +85,7 @@ export class PopoverComponent implements OnChanges {
@Input() wrapPosition: any;
@Input() visible: boolean;
@Input() allowLayerDoubleTap: boolean;
- @Input() remapOnAllKeymap: boolean;
- @Input() remapOnAllLayer: boolean;
+ @Input() remapInfo: RemapInfo;
@Output() cancel = new EventEmitter
();
@Output() remap = new EventEmitter();
@@ -160,8 +160,8 @@ export class PopoverComponent implements OnChanges {
if (this.keyActionValid) {
try {
this.remap.emit({
- remapOnAllKeymap: this.remapOnAllKeymap,
- remapOnAllLayer: this.remapOnAllLayer,
+ remapOnAllKeymap: this.remapInfo.remapOnAllKeymap,
+ remapOnAllLayer: this.remapInfo.remapOnAllLayer,
action: this.selectedTab.toKeyAction()
});
} catch (e) {
diff --git a/packages/uhk-web/src/app/components/svg/keys/svg-keyboard-key/svg-keyboard-key.component.ts b/packages/uhk-web/src/app/components/svg/keys/svg-keyboard-key/svg-keyboard-key.component.ts
index 871d15b6..4d77d231 100644
--- a/packages/uhk-web/src/app/components/svg/keys/svg-keyboard-key/svg-keyboard-key.component.ts
+++ b/packages/uhk-web/src/app/components/svg/keys/svg-keyboard-key/svg-keyboard-key.component.ts
@@ -125,6 +125,8 @@ export class SvgKeyboardKeyComponent implements OnInit, OnChanges, OnDestroy {
shiftPressed: this.pressedShiftLocation > -1,
altPressed: this.pressedAltLocation > -1
});
+ this.pressedShiftLocation = -1;
+ this.pressedAltLocation = -1;
}
@HostListener('mousedown', ['$event'])
diff --git a/packages/uhk-web/src/app/components/svg/wrap/svg-keyboard-wrap.component.html b/packages/uhk-web/src/app/components/svg/wrap/svg-keyboard-wrap.component.html
index 2e1d70d2..2ac70d65 100644
--- a/packages/uhk-web/src/app/components/svg/wrap/svg-keyboard-wrap.component.html
+++ b/packages/uhk-web/src/app/components/svg/wrap/svg-keyboard-wrap.component.html
@@ -22,8 +22,7 @@
[currentKeymap]="keymap"
[currentLayer]="currentLayer"
[allowLayerDoubleTap]="allowLayerDoubleTap"
- [remapOnAllKeymap]="remapOnAllKeymap"
- [remapOnAllLayer]="remapOnAllLayer"
+ [remapInfo]="remapInfo"
(cancel)="hidePopover()"
(remap)="onRemap($event)">
diff --git a/packages/uhk-web/src/app/components/svg/wrap/svg-keyboard-wrap.component.ts b/packages/uhk-web/src/app/components/svg/wrap/svg-keyboard-wrap.component.ts
index c735d2d4..44928606 100644
--- a/packages/uhk-web/src/app/components/svg/wrap/svg-keyboard-wrap.component.ts
+++ b/packages/uhk-web/src/app/components/svg/wrap/svg-keyboard-wrap.component.ts
@@ -48,6 +48,7 @@ import {
SvgKeyboardKeyClickEvent,
SvgKeyHoverEvent
} from '../../../models/svg-key-events';
+import { RemapInfo } from '../../../models/remap-info';
interface NameValuePair {
name: string;
@@ -87,8 +88,10 @@ export class SvgKeyboardWrapComponent implements OnInit, OnChanges {
layers: Layer[];
keyPosition: ClientRect;
wrapPosition: ClientRect;
- remapOnAllKeymap: boolean;
- remapOnAllLayer: boolean;
+ remapInfo: RemapInfo = {
+ remapOnAllKeymap: false,
+ remapOnAllLayer: false
+ };
private wrapHost: HTMLElement;
private keyElement: HTMLElement;
@@ -156,8 +159,10 @@ export class SvgKeyboardWrapComponent implements OnInit, OnChanges {
this.selectedKey = {layerId: this.currentLayer, moduleId: event.moduleId, keyId: event.keyId};
const keyActionToEdit: KeyAction = this.layers[this.currentLayer].modules[event.moduleId].keyActions[event.keyId];
this.keyElement = event.keyTarget;
- this.remapOnAllKeymap = event.shiftPressed;
- this.remapOnAllLayer = event.altPressed;
+ this.remapInfo = {
+ remapOnAllKeymap: event.shiftPressed,
+ remapOnAllLayer: event.altPressed
+ };
this.showPopover(keyActionToEdit);
}
}
diff --git a/packages/uhk-web/src/app/models/remap-info.ts b/packages/uhk-web/src/app/models/remap-info.ts
new file mode 100644
index 00000000..aea06fb9
--- /dev/null
+++ b/packages/uhk-web/src/app/models/remap-info.ts
@@ -0,0 +1,4 @@
+export interface RemapInfo {
+ remapOnAllKeymap: boolean;
+ remapOnAllLayer: boolean;
+}