|  | @@ -4,6 +4,7 @@
 | 
	
		
			
				|  |  |  #include "abc800_gpio.h"
 | 
	
		
			
				|  |  |  #include "abc800_config.h"
 | 
	
		
			
				|  |  |  #include "WiFi.h"
 | 
	
		
			
				|  |  | +#include <SoftwareSerial.h>
 | 
	
		
			
				|  |  |  static const char TAG[] = __FILE__;
 | 
	
		
			
				|  |  |  extern QueueHandle_t abc800_key_queue_out;
 | 
	
		
			
				|  |  |  extern QueueHandle_t abc800_key_queue_in;
 | 
	
	
		
			
				|  | @@ -78,6 +79,7 @@ namespace abc800
 | 
	
		
			
				|  |  |                  }
 | 
	
		
			
				|  |  |                  if (keyboard_action == ABC800_KEY_RESET)
 | 
	
		
			
				|  |  |                  {
 | 
	
		
			
				|  |  | +                    ESP_LOGI(TAG,"RESET");
 | 
	
		
			
				|  |  |                      digitalWrite(A800_RST,HIGH);
 | 
	
		
			
				|  |  |                      delay(1000);
 | 
	
		
			
				|  |  |                      digitalWrite(A800_RST,LOW);
 | 
	
	
		
			
				|  | @@ -169,13 +171,13 @@ namespace abc800
 | 
	
		
			
				|  |  |              return(0x08);
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |          //F1-F8
 | 
	
		
			
				|  |  | -        if (keyqueue.special >= 0x3a && keyqueue.special <= 0x41)
 | 
	
		
			
				|  |  | +        if (keyqueue.special >= 0x3a && keyqueue.special <= 0x41 && keyqueue.modifier == 0x00)
 | 
	
		
			
				|  |  |          {
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |              return (keyqueue.special+0x86);
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |          //F1-F8 Shift
 | 
	
		
			
				|  |  | -        if (keyqueue.special >= 0x3a && keyqueue.special <= 0x41 && (keyqueue.modifier == 0x02 ||  keyqueue.modifier == 0x20))
 | 
	
		
			
				|  |  | +        if (keyqueue.special >= 0x3a && keyqueue.special <= 0x41 && (keyqueue.modifier == 0x02 ||  keyqueue.modifier == 0x22))
 | 
	
		
			
				|  |  |          {
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |              return (keyqueue.special+0x96);
 | 
	
	
		
			
				|  | @@ -523,7 +525,7 @@ namespace abc800
 | 
	
		
			
				|  |  |          if (keyqueue.special == 0x2a )
 | 
	
		
			
				|  |  |              return(0x08);
 | 
	
		
			
				|  |  |          // Delete
 | 
	
		
			
				|  |  | -        if (keyqueue.special == 0x4c )
 | 
	
		
			
				|  |  | +        if (keyqueue.special == 0x4c && keyqueue.modifier!=0x05 )
 | 
	
		
			
				|  |  |              return(0x18);
 | 
	
		
			
				|  |  |          
 | 
	
		
			
				|  |  |          return (0xFF);
 |