diff --git a/src/components/keyboard/slider/keyboard-slider.component.html b/src/components/keyboard/slider/keyboard-slider.component.html
index 0d1812ac..bd0dd323 100644
--- a/src/components/keyboard/slider/keyboard-slider.component.html
+++ b/src/components/keyboard/slider/keyboard-slider.component.html
@@ -1,6 +1,7 @@
\ No newline at end of file
diff --git a/src/components/keyboard/slider/keyboard-slider.component.ts b/src/components/keyboard/slider/keyboard-slider.component.ts
index f676e2e4..72fb8c75 100644
--- a/src/components/keyboard/slider/keyboard-slider.component.ts
+++ b/src/components/keyboard/slider/keyboard-slider.component.ts
@@ -78,6 +78,7 @@ type AnimationKeyboard =
export class KeyboardSliderComponent implements OnChanges {
@Input() layers: Layer[];
@Input() currentLayer: number;
+ @Input() keybindAnimationEnabled: boolean;
@Output() keyClick = new EventEmitter();
@Output() keyHover = new EventEmitter();
diff --git a/src/components/svg/keyboard/svg-keyboard.component.html b/src/components/svg/keyboard/svg-keyboard.component.html
index 1b97ba19..15174c84 100644
--- a/src/components/svg/keyboard/svg-keyboard.component.html
+++ b/src/components/svg/keyboard/svg-keyboard.component.html
@@ -3,6 +3,7 @@
diff --git a/src/components/svg/wrap/svg-keyboard-wrap.component.ts b/src/components/svg/wrap/svg-keyboard-wrap.component.ts
index b67af34c..3001849b 100644
--- a/src/components/svg/wrap/svg-keyboard-wrap.component.ts
+++ b/src/components/svg/wrap/svg-keyboard-wrap.component.ts
@@ -46,6 +46,7 @@ export class SvgKeyboardWrapComponent implements OnInit, OnChanges {
private popoverShown: boolean;
private keyEditConfig: { moduleId: number, keyId: number };
private popoverInitKeyAction: KeyAction;
+ private keybindAnimationEnabled: boolean;
private currentLayer: number = 0;
private tooltipData: { posTop: number, posLeft: number, content: { name: string, value: string }[], show: boolean };
private layers: Layer[];
@@ -89,13 +90,18 @@ export class SvgKeyboardWrapComponent implements OnInit, OnChanges {
}
ngOnChanges(changes: SimpleChanges) {
- if (changes['keymap'].previousValue.abbreviation !== changes['keymap'].currentValue.abbreviation) {
- this.layers = this.keymap.layers;
- this.currentLayer = 0;
- this.popoverShown = false;
- } else if (changes['keymap']) {
+ const keymapChanges = changes['keymap'];
+ if (keymapChanges) {
this.popoverShown = false;
+ if (keymapChanges.previousValue.abbreviation !== keymapChanges.currentValue.abbreviation) {
+ this.layers = this.keymap.layers;
+ this.currentLayer = 0;
+ this.keybindAnimationEnabled = keymapChanges.isFirstChange();
+ } else {
+ this.keybindAnimationEnabled = true;
+ }
}
+
}
onKeyClick(moduleId: number, keyId: number, keyTarget: HTMLElement): void {