他のコードが実行されている間にキー (ctrl) が押されていることをシミュレートするにはどうすればよいですか? 次のメソッドの実装は何でしょうか?
self ctrlDownWhile: [self doSomething]
他のコードが実行されている間にキー (ctrl) が押されていることをシミュレートするにはどうすればよいですか? 次のメソッドの実装は何でしょうか?
self ctrlDownWhile: [self doSomething]
「ctrlDown」状態を変更することにより、入力状態を「だます」ことを試みることができます。悪いニュースは、それにアクセスするためのセッター メソッドがないことです (おそらく私のバージョンでのみ)。
ctrlDownWhile:aBlock
"aBlock will see ctrlDown as true"
|indexOfCtrlState|
indexOfCtrlState := InputState allInstVarNames indexOf:'ctrlState'.
InputState default instVarAt:indexOfCtrlState put:1.
aBlock
ensure: [
InputState default instVarAt:indexOfCtrlState put:0.
].
別の方法は、CTRL キーの keyPress & keyRelease イベントを作成し、ブロックの評価の前後に WindowSensor にキューに入れることです。