私は SdlDotNet 6.1 を使用していますが、とても気に入っています :)
SurfaceControl WinForm コントロール (pictureBox)、キーの上下イベントを受信しません他のすべてのイベント (MouseDown、MouseMotion、Tick) は、Events.Run() を呼び出した後にのみ機能しているようです (スレッドをロックします...)
WinForm イベント "PreviewKeyDown" も発生しません。
これらのイベントを発生させるには、SurfaceControl にフォーカスが必要であることがわかりました。MouseMove イベントで mySurfaceControl.Select() を使用して、フォーカスを強制します。
私の問題は、keyboardDown イベントがすべてのキーで発生しないことです... AZ Escape NumLock Enter Space F1-12 Pause Home Delete で発生しました。Ctrl Shift Tab Return 1-9 1-9(num) 矢印記号では発生しません。Alt と Alt-Gr は Keys.Menu として発生します。
私の Azerty キーボード (申し訳ありませんがフランス人です) が原因ではありません。Qwerty モードでテストしました。
すべてのキーは WinForm イベント「PreviewKeyDown」で検出されますが、WinForm は PreviewKeyup イベントを提供しません...
そのため、Keyboard.IsKeyPressed は常に false を返し、KeyboardState は 323 false を返しますが、Events.IsEventEnabled() は true を返します。
AZ が押されたことを検出する必要があります: OK Ctrl/Shift/Alt が押されたかどうかを検出する必要があります: OK ではありません
何か案は ?ありがとうございました。