MatButton
обеспечивает прямой доступ к Ripple
в текущем материале:
@ViewChild('btnNext', {static: false}) btnNext: MatButton;
@HostListener('document:keypress', ['$event'])
handleKeyboardEvent(event: KeyboardEvent) {
if( event.key === 'a') {
this.btnNext.ripple.launch({centered: true})
}
}
Вышеприведенное прообразует c пульсацию при нажатии «a».
https://stackblitz.com/edit/angular-3xgxiw