0

プロジェクトでテストRawKeyboardListenerしていFlutter Desktopます(Windows 10)。

イベントは正常に機能しますが、以下に示すように、間違ったキー ラベルを受け取ります。

ここに画像の説明を入力

アプリがさまざまなキー位置の Android キーボードからのイベントを予期していた場合のように、「キーボード レイアウト」の問題ですか (受信した .gif と「不明な Android キー コード」でわかるように)? どうすれば修正できますか?

また、印刷すると、押してもevent.isControlPressed常に戻ります。false

これは私が使用しているコードです:

import 'dart:io';

import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';

void main() {
  // See https://github.com/flutter/flutter/wiki/Desktop-shells#target-platform-override
  if (!kIsWeb && (Platform.isLinux || Platform.isWindows)) {
    debugDefaultTargetPlatformOverride = TargetPlatform.fuchsia;
  }
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      debugShowCheckedModeBanner: false,
      home: Scaffold(
        body: RawKeyboardListener(
          child: TextField(),
          focusNode: FocusNode(),
          onKey: (event) async {
            if (event.runtimeType == RawKeyDownEvent) {
              print(
                  'id: ${event.logicalKey.keyId}, label: ${event.logicalKey.keyLabel} debugName: ${event.logicalKey.debugName}');
            }
          },
        ),
      ),
    );
  }
}
4

1 に答える 1