diff --git a/projects/player/src/app/components/layout/layout.component.html b/projects/player/src/app/components/layout/layout.component.html
index 8665105bd36d51e4be7babced2a81b4bda62badd..06cbfdae079e163ecf4ff93bf4fe55ff59667648 100644
--- a/projects/player/src/app/components/layout/layout.component.html
+++ b/projects/player/src/app/components/layout/layout.component.html
@@ -10,14 +10,19 @@
         scrollPagesView"></ng-container>
     </div>
   </div>
-  <app-keyboard *ngIf="keyboardService.isOpen && keyboardService.position === 'right'"
-                [positionOffset]="0"
-                [inputElement]="keyboardService.inputElement"
-                [position]="keyboardService.position"
-                [preset]="keyboardService.preset"
-                (deleteCharacter)="keyboardService.deleterCharacters()"
-                (enterKey)="keyboardService.enterKey($event)">
+
+  <app-keyboard
+      *ngIf="keyboardService.isOpen && keyboardService.position === 'right'"
+      @keyboardSlideInOut
+      [positionOffset]="0"
+      [inputElement]="keyboardService.inputElement"
+      [position]="keyboardService.position"
+      [preset]="keyboardService.preset"
+      (deleteCharacter)="keyboardService.deleterCharacters()"
+      (enterKey)="keyboardService.enterKey($event)">
   </app-keyboard>
+
+
 </div>
 
 <ng-template #alwaysVisiblePageView>
diff --git a/projects/player/src/app/components/layout/layout.component.ts b/projects/player/src/app/components/layout/layout.component.ts
index c00487d47ca1be53fb1d2e0644abebcff652691a..1d8d1378581c2ee41c9ad0cdf55f960cfabb952b 100644
--- a/projects/player/src/app/components/layout/layout.component.ts
+++ b/projects/player/src/app/components/layout/layout.component.ts
@@ -6,6 +6,9 @@ import { FormGroup } from '@angular/forms';
 import { Subject } from 'rxjs';
 import { takeUntil } from 'rxjs/operators';
 import { TranslateService } from '@ngx-translate/core';
+import {
+  trigger, style, transition, animate
+} from '@angular/animations';
 import { KeyboardService } from '../../services/keyboard.service';
 import { NativeEventService } from '../../services/native-event.service';
 import { PlayerConfig } from '../../models/verona';
@@ -14,8 +17,20 @@ import { Page } from '../../../../../common/models/page';
 @Component({
   selector: 'app-layout',
   templateUrl: './layout.component.html',
-  styleUrls: ['./layout.component.css']
+  styleUrls: ['./layout.component.css'],
+  animations: [
+    trigger('keyboardSlideInOut', [
+      transition(':enter', [
+        style({ width: 0 }),
+        animate(200, style({ width: '*' }))
+      ]),
+      transition(':leave', [
+        animate(200, style({ width: 0 }))
+      ])
+    ])
+  ]
 })
+
 export class LayoutComponent implements OnInit, AfterViewInit, OnDestroy {
   @Input() parentForm!: FormGroup;
   @Input() pages!: Page[];