public async Task <FehlerT> PushKey(params Taste[] tasten)
 {
     Event[] events = new Event[tasten.Length * 2];
     for (int i = 0; i < tasten.Length; i++)
     {
         events[i * 2]       = new BedientasteEvent((byte)tasten[i].TastNr, true);
         events[(i * 2) + 1] = new BedientasteEvent((byte)tasten[i].TastNr, false);
     }
     return(await QueryAsync(Event.Chain(events)).ConfigureAwait(false));
 }
        //should be a lot faster than mapping [] to byte[]

        public async Task <FehlerT> PushKeys(params EnumTaste[] keys)
        {
            Event[] events = new Event[keys.Length * 2];
            for (int i = 0; i < keys.Length; i++)
            {
                events[i * 2]     = new BedientasteEvent((byte)keys[i], true);
                events[i * 2 + 1] = new BedientasteEvent((byte)keys[i], false);
            }
            return(await QueryAsync(Event.Chain(events)).ConfigureAwait(false));
        }