Я хочу создать службу, которая обнаруживает все входные данные клавиатуры, преобразует штрихи клавиш в действия на основе настраиваемого сопоставления и предоставляет наблюдаемые элементы, которые могут взаимодействовать различные элементы для реагирования на конкретные нажатия клавиш.
Ниже приведено упрощение моего кода, он работал, когда HostListener был в компоненте, но теперь я перевел его в службу, которую он никогда не запускает, даже если он определенно инициализирован. Невозможно ли обнаружить такой вход в службе?
import { Injectable, HostListener } from '@angular/core';
import { Subject } from 'rxjs/Subject';
@Injectable()
export class InputService {
@HostListener('window:keydown', ['$event'])
keyboardInput(event: any) {
console.log(event);
}
}