@@ -467,17 +467,6 @@ size_t Keyboard_::press(uint8_t k)
467
467
// it shouldn't be repeated any more.
468
468
size_t Keyboard_::release (uint8_t k)
469
469
{
470
- /*
471
- uint8_t i;
472
- k = pgm_read_byte(_asciimap + k);
473
- if (!k) {
474
- return 0;
475
- }
476
- if (k & 0x80) {
477
- _keyReport.modifiers |= 0x02; // the left shift modifier
478
- k &= 0x7F;
479
- }
480
- */
481
470
uint8_t i;
482
471
if (k >= 136 ) { // it's a non-printing key (not a modifier)
483
472
k = k - 136 ;
@@ -509,6 +498,87 @@ size_t Keyboard_::release(uint8_t k)
509
498
return 1 ;
510
499
}
511
500
501
+ size_t Keyboard_::press (uint8_t k[], uint8_t len) {
502
+ uint8_t i;
503
+ uint8_t result = 0 ;
504
+ for (i=0 ; i<len; i++) {
505
+ result += press (k[i]);
506
+ }
507
+ return result;
508
+ }
509
+
510
+ size_t Keyboard_::press (uint8_t k1, uint8_t k2)
511
+ {
512
+ uint8_t k[] = {k1, k2};
513
+ return press (k, 2 );
514
+ }
515
+
516
+ size_t Keyboard_::press (uint8_t k1, uint8_t k2, uint8_t k3)
517
+ {
518
+ uint8_t k[] = {k1, k2, k3};
519
+ return press (k, 3 );
520
+ }
521
+
522
+ size_t Keyboard_::press (uint8_t k1, uint8_t k2, uint8_t k3, uint8_t k4)
523
+ {
524
+ uint8_t k[] = {k1, k2, k3, k4};
525
+ return press (k, 4 );
526
+ }
527
+
528
+ size_t Keyboard_::press (uint8_t k1, uint8_t k2, uint8_t k3, uint8_t k4, uint8_t k5)
529
+ {
530
+ uint8_t k[] = {k1, k2, k3, k4, k5};
531
+ return press (k, 5 );
532
+ }
533
+
534
+ size_t Keyboard_::press (uint8_t k1, uint8_t k2, uint8_t k3, uint8_t k4, uint8_t k5, uint8_t k6)
535
+ {
536
+ uint8_t k[] = {k1, k2, k3, k4, k5, k6};
537
+ return press (k, 6 );
538
+ }
539
+
540
+
541
+
542
+ size_t Keyboard_::release (uint8_t k[], uint8_t len) {
543
+ uint8_t i;
544
+ uint8_t result = 0 ;
545
+ for (i=0 ; i<len; i++) {
546
+ result += release (k[i]);
547
+ }
548
+ return result;
549
+ }
550
+
551
+ size_t Keyboard_::release (uint8_t k1, uint8_t k2)
552
+ {
553
+ uint8_t k[] = {k1, k2};
554
+ return release (k, 2 );
555
+ }
556
+
557
+ size_t Keyboard_::release (uint8_t k1, uint8_t k2, uint8_t k3)
558
+ {
559
+ uint8_t k[] = {k1, k2, k3};
560
+ return release (k, 3 );
561
+ }
562
+
563
+ size_t Keyboard_::release (uint8_t k1, uint8_t k2, uint8_t k3, uint8_t k4)
564
+ {
565
+ uint8_t k[] = {k1, k2, k3, k4};
566
+ return release (k, 4 );
567
+ }
568
+
569
+ size_t Keyboard_::release (uint8_t k1, uint8_t k2, uint8_t k3, uint8_t k4, uint8_t k5)
570
+ {
571
+ uint8_t k[] = {k1, k2, k3, k4, k5};
572
+ return release (k, 5 );
573
+ }
574
+
575
+ size_t Keyboard_::release (uint8_t k1, uint8_t k2, uint8_t k3, uint8_t k4, uint8_t k5, uint8_t k6)
576
+ {
577
+ uint8_t k[] = {k1, k2, k3, k4, k5, k6};
578
+ return release (k, 6 );
579
+ }
580
+
581
+
512
582
void Keyboard_::releaseAll (void )
513
583
{
514
584
_keyReport.keys [0 ] = 0 ;
0 commit comments