MC55 で Motorola EMDK を使用したことがあります。ボタンが無効になっている理由はわかりません.6月にこれを投稿したので、おそらくもう答えは必要ありませんが、考えられる回避策は次のとおりです。
EMDK が独自にトリガーを処理する代わりに、イベントを設定することですべてのトリガーをキャプチャできます。
// Create a trigger device to handle all trigger events of stage 2 (pressed) or RELEASED
var device = new TriggerDevice(TriggerID.ALL_TRIGGERS, new[] { TriggerState.RELEASED, TriggerState.STAGE2 });
var trigger = new Trigger(device);
trigger.Stage2Notify += OnTrigger;
次に、OnTrigger メソッドでトリガーを処理し、適切なアクションを実行できます。たとえば、任意のトリガーが押されたときにバーコード リーダーをアクティブにすることができます。
private void OnTrigger(object sender, TriggerEventArgs e)
{
if (e.NewState == e.PreviousState)
return;
// Pseudocode
if (e.NewState == TriggerState.RELEASED)
{
myBarcodeReader.Actions.ToggleSoftTrigger();
myBarcodeReader.Actions.Flush();
myBarcodeReader.Actions.Disable();
}
else if (e.NewState == TriggerState.STAGE2)
{
// Prepare the barcode reader for scanning
// This initializes various objects but does not actually enable the scanner device
// The scanner device would still need to be triggered either via hardware or software
myBarcodeReader.Actions.Enable();
myBarcodeReader.Actions.Read(data);
// Finally, turn on the scanner via software
myBarcodeReader.Actions.ToggleSoftTrigger();
}
}