42 lines
1.2 KiB
PowerShell
42 lines
1.2 KiB
PowerShell
param(
|
|
[Parameter(Mandatory = $true)]
|
|
[ValidateSet('MicrosoftPinyin', 'Sogou')]
|
|
[string]$ImeName,
|
|
[Parameter(Mandatory = $true)]
|
|
[ValidateSet('ObserveAndForward', 'ObserveAndConsume')]
|
|
[string]$Action,
|
|
[ValidateSet('WM_KEYDOWN', 'WM_KEYUP', 'WM_SYSKEYDOWN', 'WM_SYSKEYUP')]
|
|
[string]$Message = 'WM_KEYDOWN',
|
|
[ValidateRange(1, 255)]
|
|
[int]$VirtualKey = 229,
|
|
[ValidateRange(-1, 255)]
|
|
[int]$ScanCode = 1,
|
|
[string]$OperatorKeyLabel = 'Escape',
|
|
[ValidateSet('IdleOnly', 'ComposingOnly')]
|
|
[string]$ImeCondition = 'ComposingOnly',
|
|
[ValidateSet('none', 'ime_condition_not_met')]
|
|
[string]$ExpectedFailOpenReason = 'none',
|
|
[string]$BaselineSet,
|
|
[switch]$ConfirmImeIdentity
|
|
)
|
|
|
|
$ErrorActionPreference = 'Stop'
|
|
$runner = Join-Path $PSScriptRoot 'run-input-consume-probe.ps1'
|
|
$arguments = @{
|
|
Action = $Action
|
|
Message = $Message
|
|
VirtualKey = $VirtualKey
|
|
ScanCode = $ScanCode
|
|
OperatorKeyLabel = $OperatorKeyLabel
|
|
InputSource = 'Manual'
|
|
ImeCondition = $ImeCondition
|
|
ImeName = $ImeName
|
|
ConfirmImeIdentity = [bool]$ConfirmImeIdentity
|
|
ExpectedFailOpenReason = $ExpectedFailOpenReason
|
|
}
|
|
if ($BaselineSet) {
|
|
$arguments.BaselineSet = $BaselineSet
|
|
}
|
|
|
|
& $runner @arguments
|