J'ai travaillé avec le Motorola EMDK avant le MC55. Je ne suis pas sûr de savoir pourquoi les boutons sont désactivés, et puisque vous avez posté cela en Juin, vous n'avez probablement plus besoin de la réponse, mais voici une solution possible:
Au lieu de laisser l'EMDK gérer les déclencheurs de son propre chef , vous pouvez capturer tous les déclencheurs en mettant en place un événement:
// 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;
Ensuite, dans votre méthode de OnTrigger, vous pouvez gérer la gâchette et effectuer l'action appropriée. Par exemple, vous pouvez activer votre lecteur de codes à barres lorsque vous appuyez sur un déclencheur:
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();
}
}