アセンブリでゲームを書いていますが、キーが押されたかどうかを確認する必要があります。では、kbhit は Linux でどのように実装されているのでしょうか?
ありがとう。
GoogleはC言語でLinux用のkbhit実装を発表しました:http://cboard.cprogramming.com/c-programming/63166-kbhit-linux.html
これをそのままコンパイルしてアセンブリコードから呼び出すか、本当に必要な場合はアセンブリに変換することができます。
キーリリースも必要だと思います。また、コンソールを使用していると仮定します (X の場合、XKeyEvent には十分な情報があります)。
まず、端末 (つまり、コンソール) を非正規モードまたは raw モードにする必要があります。これを行わないと、入力に行区切り文字または EOF があるまで入力が表示されません。前の質問に対する私の回答を参照してください。
次に、キー リリースを取得するには、キーボードを RAW または MEDIUMRAW モードに設定します (これは端末の raw モードとは関係ありません。これは Linux およびコンソール固有のものです。console_ioctl(4) を参照してください)。終了する前に、キーボードを元のモードに戻すことを忘れないでください。
これに関する素晴らしい記事がここにあります。