PowerShellではキーボードのキー入力を以下の書き方で取得できるようです。
[Console]::ReadKey($true)
これをPowerShellコンソールから実行してみると動きがわかりやすいです。
#Ctrl+C+Enterで抜けます while($true){[Console]::ReadKey($true)}
取得できるのはConsoleKeyInfoオブジェクトで、
以下のようなプロパティを持っています。
- KeyChar
- Key
- Modifiers
Modifiersがわかりにくいですが、「修飾語句」という意味で、ShiftやAltを取得します。
例えばShift+Sのキーが押された時の処理を書きたい場合に使えます。
#Ctrl+C+Enterで抜けます while($true) { $keyInfo = [Console]::ReadKey($true) if($keyInfo.Key -eq "S" -and $keyInfo.Modifiers -eq "Shift") { "Shift+S Pressed" } }