startListening method

Future<void> startListening(
  1. Listener listener
)

Implementation

Future<void> startListening(Listener listener) async {
  var subscription = _eventChannel.receiveBroadcastStream(nextListenerId++).listen(//listener
      (dynamic msg) {
    var list = List<int>.from(msg);
    var keyEvent = KeyEvent(list);
    if (keyEvent.isKeyDown) {
      if (!state.state.contains(keyEvent.vkCode)) {
        state.state.add(keyEvent.vkCode);
      }
    } else {
      if (state.state.contains(keyEvent.vkCode)) {
        state.state.remove(keyEvent.vkCode);
      }
    }
    listener(keyEvent);
  }, cancelOnError: true);
  debugPrint('keyboard_event/event startListening');
  _cancelListening = () {
    subscription.cancel();
    debugPrint('keyboard_event/event canceled');
  };
}