Index: c51/kb_process.c
===================================================================
--- /branch/mouse_project/LeXiang/Keyboard/KD8017C_2mode_3ch_LI/c51/kb_process.c	(revision 5394)
+++ /branch/mouse_project/LeXiang/Keyboard/KD8017C_2mode_3ch_LI/c51/kb_process.c	(working copy)
@@ -619,12 +619,14 @@
 
 	temp = key_value;
 	 
-	if(g_variable.system_mode != OSMODE_WINDOWS)
+	if((g_variable.system_mode != OSMODE_WINDOWS) && (g_variable.system_mode != OSMODE_ANDROID))
 	{
 		if(key_value == HID_KEY_RIGHT_ALT)
 			temp = HID_KEY_RIGHT_GUI;
 		else if(key_value == HID_KEY_RIGHT_GUI)
 			temp = HID_KEY_RIGHT_ALT;	
+		else if(key_value == HID_KEY_RIGHT_CTL)
+			temp = HID_KEY_RIGHT_ALT;	
 		else if(key_value == HID_KEY_LEFT_GUI)
 			temp = HID_KEY_LEFT_ALT;
 		else if(key_value == HID_KEY_LEFT_ALT)
Index: c51/output/FW
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Index: c51/output/FW.COD
===================================================================
--- /branch/mouse_project/LeXiang/Keyboard/KD8017C_2mode_3ch_LI/c51/output/FW.COD	(revision 5394)
+++ /branch/mouse_project/LeXiang/Keyboard/KD8017C_2mode_3ch_LI/c51/output/FW.COD	(working copy)
@@ -1,4 +1,4 @@
-LX51 LINKER/LOCATER V4.41                                                               01/05/2023  11:12:12  PAGE 1
+LX51 LINKER/LOCATER V4.41                                                               03/06/2023  16:16:32  PAGE 1
 
 
 
@@ -1186,7 +1186,7 @@
 000CDF 904E7F            MOV     DPTR,#len
 000CE2 E0                MOVX    A,@DPTR
 000CE3 FD                MOV     R5,A
-000CE4 12379F            LCALL   _IPC_TxBleData
+000CE4 1237B2            LCALL   _IPC_TxBleData
   142: 
   143: 	}
 000CE7         ?C0033?KB_PROCESS:
@@ -1723,7 +1723,7 @@
 000F7C 7974              MOV     R1,#074H
 000F7E A201              MOV     C,bit_val
 000F80 9200              MOV     ?_gpioSetBit?BIT,C
-000F82 1233F8            LCALL   _gpioSetBit
+000F82 12340B            LCALL   _gpioSetBit
 000F85         ?C0007?GPIO:
 000F85 22                RET     
 ----- FUNCTION _GPIO_Setout (END) -------
@@ -1801,14 +1801,14 @@
 000FD0         ?C0016?GPIO:
 000FD0 AF04              MOV     R7,AR4
 000FD2 D204              SETB    ?_GPIO_Setoe?BIT
-000FD4 1233E7            LCALL   _GPIO_Setoe
+000FD4 1233FA            LCALL   _GPIO_Setoe
 000FD7 AF04              MOV     R7,AR4
 000FD9 A206              MOV     C,st
 000FDB 9201              MOV     ?_GPIO_Setout?BIT,C
 000FDD F174              ACALL   _GPIO_Setout
 000FDF AF04              MOV     R7,AR4
 000FE1 C202              CLR     ?_GPIO_SetPu?BIT
-000FE3 1233C5            LCALL   _GPIO_SetPu
+000FE3 1233D8            LCALL   _GPIO_SetPu
 000FE6         ?C0017?GPIO:
 000FE6 22                RET     
 ----- FUNCTION _GPIO_SetOutput (END) -------
@@ -1888,7 +1888,7 @@
 00103C E0                MOVX    A,@DPTR
 00103D FD                MOV     R5,A
 00103E 7B64              MOV     R3,#064H
-001040 1236DF            LCALL   _bufsize
+001040 1236F2            LCALL   _bufsize
 001043 904EBE            MOV     DPTR,#len
 001046 E0                MOVX    A,@DPTR
 001047 FE                MOV     R6,A
@@ -1990,8 +1990,8 @@
     5: 	switch (key_num)
     6: 	{
 0010D5 14                DEC     A
-0010D6 B40D00            CJNE    A,#0DH,?C0268?KB_PROCESS
-0010D9         ?C0268?KB_PROCESS:
+0010D6 B40D00            CJNE    A,#0DH,?C0270?KB_PROCESS
+0010D9         ?C0270?KB_PROCESS:
 0010D9 4002              JC      $ + 4H
 0010DB 419E              AJMP    ?C0025?KB_PROCESS
 0010DD 9010EB            MOV     DPTR,#010EBH
@@ -2001,7 +2001,7 @@
 0010E6 25F0              ADD     A,B
 0010E8 C583              XCH     A,DPH
 0010EA 73                JMP     @A+DPTR
-0010EB         ?C0269?KB_PROCESS:
+0010EB         ?C0271?KB_PROCESS:
 0010EB 021112            LJMP    ?C0004?KB_PROCESS
 0010EE 021112            LJMP    ?C0004?KB_PROCESS
 0010F1 021112            LJMP    ?C0004?KB_PROCESS
@@ -2850,9 +2850,9 @@
   168: 
   169: 			
   170: 		System_Hardware_init();
-00149F 12339F            LCALL   System_Hardware_init
+00149F 1233B2            LCALL   System_Hardware_init
   171: 		System_Software_init();
-0014A2 12357D            LCALL   System_Software_init
+0014A2 123590            LCALL   System_Software_init
   172: 		IIC_Read(EEPROM_RECON_INFO_LAST_DEVICE ,1 ,(byte *)&g_variable.last_device_num);
 0014A5 7B01              MOV     R3,#01H
 0014A7 7A4C              MOV     R2,#HIGH g_variable+01H
@@ -2960,7 +2960,7 @@
   196: 	case IPC_EVT_WAKEUP:
 00153C         ?C0025?SYS:
   197: 		System_IIC_clk_setup();
-00153C 123459            LCALL   System_IIC_clk_setup
+00153C 12346C            LCALL   System_IIC_clk_setup
   198: 		KS_Initialize();
 00153F F1B0              ACALL   KS_Initialize
   199: 		g_variable.g24_long_sleep_flag = 0;
@@ -3265,7 +3265,7 @@
 0016A2 E0                MOVX    A,@DPTR
 0016A3 7003              JNZ     ?C0043?SYS
   294: 			LED_device_poweroff();
-0016A5 12346C            LCALL   LED_device_poweroff
+0016A5 12347F            LCALL   LED_device_poweroff
 0016A8         ?C0043?SYS:
   295: 		g_variable.pairing_timeout = 0;
 0016A8 E4                CLR     A
@@ -3562,7 +3562,7 @@
 0017B7 A3                INC     DPTR
 0017B8 F0                MOVX    @DPTR,A
   212: 	ksColInitialize();
-0017B9 123364            LCALL   ksRawInitialize
+0017B9 123377            LCALL   ksRawInitialize
 ;----                  JMP     ksColInitialize
   213: }
 ----- FUNCTION KS_Initialize (END) -------
@@ -3588,7 +3588,7 @@
 0017CB 600D              JZ      ?C0035?KEYSCAN
   203: 	}
 0017CD C205              CLR     ?_GPIO_SetInput?BIT
-0017CF 123381            LCALL   _GPIO_SetInput
+0017CF 123394            LCALL   _GPIO_SetInput
   204: }
 0017D2 904F08            MOV     DPTR,#i
 0017D5 E0                MOVX    A,@DPTR
@@ -3958,7 +3958,7 @@
 00195E 904CE2            MOV     DPTR,#g_variable+023H
 001961 F0                MOVX    @DPTR,A
    80: 				LED_device_poweroff();
-001962 12346C            LCALL   LED_device_poweroff
+001962 12347F            LCALL   LED_device_poweroff
    81: 			}
    82: 		}
 001965         ?C0016?LED:
@@ -4380,7 +4380,7 @@
 001B28 80B0              SJMP    ?C0037?KEYSCAN
 001B2A         ?C0038?KEYSCAN:
   229: 	GPIO_fillpd();
-001B2A 1237F4            LCALL   GPIO_fillpd
+001B2A 123807            LCALL   GPIO_fillpd
   230: 	
   231: 	temp = REG_GPIO_IN(0);
 001B2D 90811C            MOV     DPTR,#0811CH
@@ -4974,7 +4974,7 @@
 001DCA 7E0C              MOV     R6,#HIGH ipcReadBuff
 001DCC 7F4B              MOV     R7,#LOW ipcReadBuff
 001DCE 7D03              MOV     R5,#03H
-001DD0 123739            LCALL   _ipcRx
+001DD0 12374C            LCALL   _ipcRx
 001DD3 904EF0            MOV     DPTR,#pbuff
 001DD6 E0                MOVX    A,@DPTR
 001DD7 FB                MOV     R3,A
@@ -5042,7 +5042,7 @@
 001E39 1203B6            LCALL   ?C?CLDPTR
 001E3C 14                DEC     A
 001E3D FD                MOV     R5,A
-001E3E 123739            LCALL   _ipcRx
+001E3E 12374C            LCALL   _ipcRx
 001E41 904EF0            MOV     DPTR,#pbuff
 001E44 E0                MOVX    A,@DPTR
 001E45 FB                MOV     R3,A
@@ -5112,7 +5112,7 @@
 001EA5 1203B6            LCALL   ?C?CLDPTR
 001EA8 14                DEC     A
 001EA9 FD                MOV     R5,A
-001EAA 123739            LCALL   _ipcRx
+001EAA 12374C            LCALL   _ipcRx
 001EAD 904EF0            MOV     DPTR,#pbuff
 001EB0 E0                MOVX    A,@DPTR
 001EB1 FB                MOV     R3,A
@@ -5182,7 +5182,7 @@
 001F11 1203B6            LCALL   ?C?CLDPTR
 001F14 14                DEC     A
 001F15 FD                MOV     R5,A
-001F16 123739            LCALL   _ipcRx
+001F16 12374C            LCALL   _ipcRx
 001F19 904EF0            MOV     DPTR,#pbuff
 001F1C E0                MOVX    A,@DPTR
 001F1D FB                MOV     R3,A
@@ -6901,8 +6901,8 @@
 
 ----- FUNCTION _kb_multikey_setup (BEGIN) -----
  FILE: 'kb_process.c'
-  808: void kb_multikey_setup(tKSEVENT *pEvt)
-  809: {
+  810: void kb_multikey_setup(tKSEVENT *pEvt)
+  811: {
 0026B2 904EDB            MOV     DPTR,#pEvt
 0026B5 EB                MOV     A,R3
 0026B6 F0                MOVX    @DPTR,A
@@ -6912,23 +6912,23 @@
 0026BA A3                INC     DPTR
 0026BB E9                MOV     A,R1
 0026BC F0                MOVX    @DPTR,A
-  810: 	byte i = 0;
-  811: 	
+  812: 	byte i = 0;
+  813: 	
 0026BD E4                CLR     A
 0026BE A3                INC     DPTR
 0026BF F0                MOVX    @DPTR,A
-  812: 	for (i = 0;i < 6;i++)
+  814: 	for (i = 0;i < 6;i++)
 0026C0 F0                MOVX    @DPTR,A
-0026C1         ?C0208?KB_PROCESS:
+0026C1         ?C0210?KB_PROCESS:
 0026C1 904EDE            MOV     DPTR,#i
 0026C4 E0                MOVX    A,@DPTR
 0026C5 FF                MOV     R7,A
 0026C6 C3                CLR     C
 0026C7 9406              SUBB    A,#06H
 0026C9 4003              JC      $ + 5H
-0026CB 0229CB            LJMP    ?C0267?KB_PROCESS
-  813: 	{		
-  814: 		if ((pEvt->ksPool[i] &0xF0) == 0xf0 
+0026CB 0229CB            LJMP    ?C0269?KB_PROCESS
+  815: 	{		
+  816: 		if ((pEvt->ksPool[i] &0xF0) == 0xf0 
 0026CE 904EDB            MOV     DPTR,#pEvt
 0026D1 E0                MOVX    A,@DPTR
 0026D2 FB                MOV     R3,A
@@ -6953,41 +6953,41 @@
 0026E9 FF                MOV     R7,A
 0026EA 54F0              ANL     A,#0F0H
 0026EC 64F0              XRL     A,#0F0H
-0026EE 600A              JZ      ?C0212?KB_PROCESS
+0026EE 600A              JZ      ?C0214?KB_PROCESS
 0026F0 EF                MOV     A,R7
 0026F1 54D0              ANL     A,#0D0H
 0026F3 64D0              XRL     A,#0D0H
 0026F5 6003              JZ      $ + 5H
-0026F7 0229C2            LJMP    ?C0210?KB_PROCESS
-0026FA         ?C0212?KB_PROCESS:
-  815: 			|| (pEvt->ksPool[i] &0xD0) == 0xD0)
-  816: 		{
-  817: 			
-  818: 			if (pEvt->ksPool[i] ==  HID_MULTIKEY_MEDIA) //media select
+0026F7 0229C2            LJMP    ?C0212?KB_PROCESS
+0026FA         ?C0214?KB_PROCESS:
+  817: 			|| (pEvt->ksPool[i] &0xD0) == 0xD0)
+  818: 		{
+  819: 			
+  820: 			if (pEvt->ksPool[i] ==  HID_MULTIKEY_MEDIA) //media select
 0026FA 1203B6            LCALL   ?C?CLDPTR
 0026FD FB                MOV     R3,A
-0026FE B4F109            CJNE    A,#0F1H,?C0213?KB_PROCESS
-  819: 			{
-  820: 				kb_set_multikey(0x0183); 
+0026FE B4F109            CJNE    A,#0F1H,?C0215?KB_PROCESS
+  821: 			{
+  822: 				kb_set_multikey(0x0183); 
 002701 7F83              MOV     R7,#083H
 002703 7E01              MOV     R6,#01H
 002705 D197              ACALL   _kb_set_multikey
-  821: 			}
-002707 022997            LJMP    ?C0214?KB_PROCESS
-00270A         ?C0213?KB_PROCESS:
-  822: 			else
-  823: 			if (pEvt->ksPool[i] ==  HID_MULTIKEY_PALY) //play / pause
+  823: 			}
+002707 022997            LJMP    ?C0216?KB_PROCESS
+00270A         ?C0215?KB_PROCESS:
+  824: 			else
+  825: 			if (pEvt->ksPool[i] ==  HID_MULTIKEY_PALY) //play / pause
 00270A EB                MOV     A,R3
-00270B B4F209            CJNE    A,#0F2H,?C0215?KB_PROCESS
-  824: 			{ 
-  825: 				kb_set_multikey(0x00cd);
+00270B B4F209            CJNE    A,#0F2H,?C0217?KB_PROCESS
+  826: 			{ 
+  827: 				kb_set_multikey(0x00cd);
 00270E 7FCD              MOV     R7,#0CDH
 002710 7E00              MOV     R6,#00H
 002712 D197              ACALL   _kb_set_multikey
-  826: 			}
-002714 022997            LJMP    ?C0214?KB_PROCESS
-002717         ?C0215?KB_PROCESS:
-  827: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_STOP)  //stop
+  828: 			}
+002714 022997            LJMP    ?C0216?KB_PROCESS
+002717         ?C0217?KB_PROCESS:
+  829: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_STOP)  //stop
 002717 904EDB            MOV     DPTR,#pEvt
 00271A E0                MOVX    A,@DPTR
 00271B FB                MOV     R3,A
@@ -7011,26 +7011,26 @@
 00272F FA                MOV     R2,A
 002730 1203B6            LCALL   ?C?CLDPTR
 002733 FB                MOV     R3,A
-002734 B4F307            CJNE    A,#0F3H,?C0217?KB_PROCESS
-  828: 			{
-  829: 				kb_set_multikey(0x00b7);
+002734 B4F307            CJNE    A,#0F3H,?C0219?KB_PROCESS
+  830: 			{
+  831: 				kb_set_multikey(0x00b7);
 002737 7FB7              MOV     R7,#0B7H
 002739 D197              ACALL   _kb_set_multikey
-  830: 			}	
-00273B 022997            LJMP    ?C0214?KB_PROCESS
-00273E         ?C0217?KB_PROCESS:
-  831: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_PRE_TRACK) //pre Track
+  832: 			}	
+00273B 022997            LJMP    ?C0216?KB_PROCESS
+00273E         ?C0219?KB_PROCESS:
+  833: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_PRE_TRACK) //pre Track
 00273E EB                MOV     A,R3
-00273F B4F409            CJNE    A,#0F4H,?C0219?KB_PROCESS
-  832: 			{
-  833: 				kb_set_multikey(0x00b6);
+00273F B4F409            CJNE    A,#0F4H,?C0221?KB_PROCESS
+  834: 			{
+  835: 				kb_set_multikey(0x00b6);
 002742 7FB6              MOV     R7,#0B6H
 002744 7E00              MOV     R6,#00H
 002746 D197              ACALL   _kb_set_multikey
-  834: 			}
-002748 022997            LJMP    ?C0214?KB_PROCESS
-00274B         ?C0219?KB_PROCESS:
-  835: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_NEXT_TRACK) //next Track
+  836: 			}
+002748 022997            LJMP    ?C0216?KB_PROCESS
+00274B         ?C0221?KB_PROCESS:
+  837: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_NEXT_TRACK) //next Track
 00274B 904EDB            MOV     DPTR,#pEvt
 00274E E0                MOVX    A,@DPTR
 00274F FB                MOV     R3,A
@@ -7054,26 +7054,26 @@
 002763 FA                MOV     R2,A
 002764 1203B6            LCALL   ?C?CLDPTR
 002767 FB                MOV     R3,A
-002768 B4F507            CJNE    A,#0F5H,?C0221?KB_PROCESS
-  836: 			{
-  837: 				kb_set_multikey(0x00b5);
+002768 B4F507            CJNE    A,#0F5H,?C0223?KB_PROCESS
+  838: 			{
+  839: 				kb_set_multikey(0x00b5);
 00276B 7FB5              MOV     R7,#0B5H
 00276D D197              ACALL   _kb_set_multikey
-  838: 			}
-00276F 022997            LJMP    ?C0214?KB_PROCESS
-002772         ?C0221?KB_PROCESS:
-  839: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_VOL_DOWN) //vol-
+  840: 			}
+00276F 022997            LJMP    ?C0216?KB_PROCESS
+002772         ?C0223?KB_PROCESS:
+  841: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_VOL_DOWN) //vol-
 002772 EB                MOV     A,R3
-002773 B4F609            CJNE    A,#0F6H,?C0223?KB_PROCESS
-  840: 			{
-  841: 				kb_set_multikey(0x00ea);
+002773 B4F609            CJNE    A,#0F6H,?C0225?KB_PROCESS
+  842: 			{
+  843: 				kb_set_multikey(0x00ea);
 002776 7FEA              MOV     R7,#0EAH
 002778 7E00              MOV     R6,#00H
 00277A D197              ACALL   _kb_set_multikey
-  842: 			}
-00277C 022997            LJMP    ?C0214?KB_PROCESS
-00277F         ?C0223?KB_PROCESS:
-  843: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_VOL_UP) //vol+
+  844: 			}
+00277C 022997            LJMP    ?C0216?KB_PROCESS
+00277F         ?C0225?KB_PROCESS:
+  845: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_VOL_UP) //vol+
 00277F 904EDB            MOV     DPTR,#pEvt
 002782 E0                MOVX    A,@DPTR
 002783 FB                MOV     R3,A
@@ -7097,26 +7097,26 @@
 002797 FA                MOV     R2,A
 002798 1203B6            LCALL   ?C?CLDPTR
 00279B FB                MOV     R3,A
-00279C B4F707            CJNE    A,#0F7H,?C0225?KB_PROCESS
-  844: 			{
-  845: 				kb_set_multikey(0x00e9);
+00279C B4F707            CJNE    A,#0F7H,?C0227?KB_PROCESS
+  846: 			{
+  847: 				kb_set_multikey(0x00e9);
 00279F 7FE9              MOV     R7,#0E9H
 0027A1 D197              ACALL   _kb_set_multikey
-  846: 			}
-0027A3 022997            LJMP    ?C0214?KB_PROCESS
-0027A6         ?C0225?KB_PROCESS:
-  847: 			else	if (pEvt->ksPool[i] ==  HID_MULTIKEY_MUTE) //mute
+  848: 			}
+0027A3 022997            LJMP    ?C0216?KB_PROCESS
+0027A6         ?C0227?KB_PROCESS:
+  849: 			else	if (pEvt->ksPool[i] ==  HID_MULTIKEY_MUTE) //mute
 0027A6 EB                MOV     A,R3
-0027A7 B4F809            CJNE    A,#0F8H,?C0227?KB_PROCESS
-  848: 			{
-  849: 				kb_set_multikey(0x00e2);
+0027A7 B4F809            CJNE    A,#0F8H,?C0229?KB_PROCESS
+  850: 			{
+  851: 				kb_set_multikey(0x00e2);
 0027AA 7FE2              MOV     R7,#0E2H
 0027AC 7E00              MOV     R6,#00H
 0027AE D197              ACALL   _kb_set_multikey
-  850: 			}
-0027B0 022997            LJMP    ?C0214?KB_PROCESS
-0027B3         ?C0227?KB_PROCESS:
-  851: 			else	if (pEvt->ksPool[i] ==  HID_MULTIKEY_MY_COMPUTER) 
+  852: 			}
+0027B0 022997            LJMP    ?C0216?KB_PROCESS
+0027B3         ?C0229?KB_PROCESS:
+  853: 			else	if (pEvt->ksPool[i] ==  HID_MULTIKEY_MY_COMPUTER) 
 0027B3 904EDB            MOV     DPTR,#pEvt
 0027B6 E0                MOVX    A,@DPTR
 0027B7 FB                MOV     R3,A
@@ -7140,27 +7140,27 @@
 0027CB FA                MOV     R2,A
 0027CC 1203B6            LCALL   ?C?CLDPTR
 0027CF FB                MOV     R3,A
-0027D0 B4F908            CJNE    A,#0F9H,?C0229?KB_PROCESS
-  852: 			{
-  853: 				kb_set_multikey(0x0194);
+0027D0 B4F908            CJNE    A,#0F9H,?C0231?KB_PROCESS
+  854: 			{
+  855: 				kb_set_multikey(0x0194);
 0027D3 7F94              MOV     R7,#094H
 0027D5 0E                INC     R6
 0027D6 D197              ACALL   _kb_set_multikey
-  854: 			}	
-0027D8 022997            LJMP    ?C0214?KB_PROCESS
-0027DB         ?C0229?KB_PROCESS:
-  855: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_MAIL)  //mail
+  856: 			}	
+0027D8 022997            LJMP    ?C0216?KB_PROCESS
+0027DB         ?C0231?KB_PROCESS:
+  857: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_MAIL)  //mail
 0027DB EB                MOV     A,R3
-0027DC B4FA09            CJNE    A,#0FAH,?C0231?KB_PROCESS
-  856: 			{
-  857: 				kb_set_multikey(0x018a);//mail
+0027DC B4FA09            CJNE    A,#0FAH,?C0233?KB_PROCESS
+  858: 			{
+  859: 				kb_set_multikey(0x018a);//mail
 0027DF 7F8A              MOV     R7,#08AH
 0027E1 7E01              MOV     R6,#01H
 0027E3 D197              ACALL   _kb_set_multikey
-  858: 			}
-0027E5 022997            LJMP    ?C0214?KB_PROCESS
-0027E8         ?C0231?KB_PROCESS:
-  859: 			else	if (pEvt->ksPool[i] ==  HID_MULTIKEY_CALCULATOR) //calculator
+  860: 			}
+0027E5 022997            LJMP    ?C0216?KB_PROCESS
+0027E8         ?C0233?KB_PROCESS:
+  861: 			else	if (pEvt->ksPool[i] ==  HID_MULTIKEY_CALCULATOR) //calculator
 0027E8 904EDB            MOV     DPTR,#pEvt
 0027EB E0                MOVX    A,@DPTR
 0027EC FB                MOV     R3,A
@@ -7184,27 +7184,27 @@
 002800 FA                MOV     R2,A
 002801 1203B6            LCALL   ?C?CLDPTR
 002804 FB                MOV     R3,A
-002805 B4FB08            CJNE    A,#0FBH,?C0233?KB_PROCESS
-  860: 			{
-  861: 				kb_set_multikey(0x0192);
+002805 B4FB08            CJNE    A,#0FBH,?C0235?KB_PROCESS
+  862: 			{
+  863: 				kb_set_multikey(0x0192);
 002808 7F92              MOV     R7,#092H
 00280A 0E                INC     R6
 00280B 122697            LCALL   _kb_set_multikey
-  862: 			}
-00280E 2197              AJMP    ?C0214?KB_PROCESS
-002810         ?C0233?KB_PROCESS:
-  863: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_AC_FAVORITES) 
+  864: 			}
+00280E 2197              AJMP    ?C0216?KB_PROCESS
+002810         ?C0235?KB_PROCESS:
+  865: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_AC_FAVORITES) 
 002810 EB                MOV     A,R3
-002811 B4D009            CJNE    A,#0D0H,?C0235?KB_PROCESS
-  864: 			{
-  865: 				kb_set_multikey(0x022a);//www Favorites
+002811 B4D009            CJNE    A,#0D0H,?C0237?KB_PROCESS
+  866: 			{
+  867: 				kb_set_multikey(0x022a);//www Favorites
 002814 7F2A              MOV     R7,#02AH
 002816 7E02              MOV     R6,#02H
 002818 122697            LCALL   _kb_set_multikey
-  866: 			}
-00281B 2197              AJMP    ?C0214?KB_PROCESS
-00281D         ?C0235?KB_PROCESS:
-  867: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_AC_FORWARD)  
+  868: 			}
+00281B 2197              AJMP    ?C0216?KB_PROCESS
+00281D         ?C0237?KB_PROCESS:
+  869: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_AC_FORWARD)  
 00281D 904EDB            MOV     DPTR,#pEvt
 002820 E0                MOVX    A,@DPTR
 002821 FB                MOV     R3,A
@@ -7228,27 +7228,27 @@
 002835 FA                MOV     R2,A
 002836 1203B6            LCALL   ?C?CLDPTR
 002839 FB                MOV     R3,A
-00283A B4D109            CJNE    A,#0D1H,?C0237?KB_PROCESS
-  868: 			{
-  869: 				kb_set_multikey(0x0225);
+00283A B4D109            CJNE    A,#0D1H,?C0239?KB_PROCESS
+  870: 			{
+  871: 				kb_set_multikey(0x0225);
 00283D 7F25              MOV     R7,#025H
 00283F 7E02              MOV     R6,#02H
 002841 122697            LCALL   _kb_set_multikey
-  870: 			}
-002844 2197              AJMP    ?C0214?KB_PROCESS
-002846         ?C0237?KB_PROCESS:
-  871: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_AC_STOP)  //www Stop
+  872: 			}
+002844 2197              AJMP    ?C0216?KB_PROCESS
+002846         ?C0239?KB_PROCESS:
+  873: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_AC_STOP)  //www Stop
 002846 EB                MOV     A,R3
-002847 B4D309            CJNE    A,#0D3H,?C0239?KB_PROCESS
-  872: 			{
-  873: 				kb_set_multikey(0x0226);
+002847 B4D309            CJNE    A,#0D3H,?C0241?KB_PROCESS
+  874: 			{
+  875: 				kb_set_multikey(0x0226);
 00284A 7F26              MOV     R7,#026H
 00284C 7E02              MOV     R6,#02H
 00284E 122697            LCALL   _kb_set_multikey
-  874: 			}
-002851 2197              AJMP    ?C0214?KB_PROCESS
-002853         ?C0239?KB_PROCESS:
-  875: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_AC_BACK)  
+  876: 			}
+002851 2197              AJMP    ?C0216?KB_PROCESS
+002853         ?C0241?KB_PROCESS:
+  877: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_AC_BACK)  
 002853 904EDB            MOV     DPTR,#pEvt
 002856 E0                MOVX    A,@DPTR
 002857 FB                MOV     R3,A
@@ -7272,27 +7272,27 @@
 00286B FA                MOV     R2,A
 00286C 1203B6            LCALL   ?C?CLDPTR
 00286F FB                MOV     R3,A
-002870 B4D209            CJNE    A,#0D2H,?C0241?KB_PROCESS
-  876: 			{
-  877: 				kb_set_multikey(0x0224);
+002870 B4D209            CJNE    A,#0D2H,?C0243?KB_PROCESS
+  878: 			{
+  879: 				kb_set_multikey(0x0224);
 002873 7F24              MOV     R7,#024H
 002875 7E02              MOV     R6,#02H
 002877 122697            LCALL   _kb_set_multikey
-  878: 			}
-00287A 2197              AJMP    ?C0214?KB_PROCESS
-00287C         ?C0241?KB_PROCESS:
-  879: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_AC_REFRESH) //www refresh
+  880: 			}
+00287A 2197              AJMP    ?C0216?KB_PROCESS
+00287C         ?C0243?KB_PROCESS:
+  881: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_AC_REFRESH) //www refresh
 00287C EB                MOV     A,R3
-00287D B4D409            CJNE    A,#0D4H,?C0243?KB_PROCESS
-  880: 			{
-  881: 				kb_set_multikey(0x0227);
+00287D B4D409            CJNE    A,#0D4H,?C0245?KB_PROCESS
+  882: 			{
+  883: 				kb_set_multikey(0x0227);
 002880 7F27              MOV     R7,#027H
 002882 7E02              MOV     R6,#02H
 002884 122697            LCALL   _kb_set_multikey
-  882: 			}	
-002887 2197              AJMP    ?C0214?KB_PROCESS
-002889         ?C0243?KB_PROCESS:
-  883: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_AC_SEARCH)  //www search
+  884: 			}	
+002887 2197              AJMP    ?C0216?KB_PROCESS
+002889         ?C0245?KB_PROCESS:
+  885: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_AC_SEARCH)  //www search
 002889 904EDB            MOV     DPTR,#pEvt
 00288C E0                MOVX    A,@DPTR
 00288D FB                MOV     R3,A
@@ -7316,27 +7316,27 @@
 0028A1 FA                MOV     R2,A
 0028A2 1203B6            LCALL   ?C?CLDPTR
 0028A5 FB                MOV     R3,A
-0028A6 B4D509            CJNE    A,#0D5H,?C0245?KB_PROCESS
-  884: 			{
-  885: 				kb_set_multikey(0x0221);
+0028A6 B4D509            CJNE    A,#0D5H,?C0247?KB_PROCESS
+  886: 			{
+  887: 				kb_set_multikey(0x0221);
 0028A9 7F21              MOV     R7,#021H
 0028AB 7E02              MOV     R6,#02H
 0028AD 122697            LCALL   _kb_set_multikey
-  886: 			}
-0028B0 2197              AJMP    ?C0214?KB_PROCESS
-0028B2         ?C0245?KB_PROCESS:
-  887: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_AC_HOME)
+  888: 			}
+0028B0 2197              AJMP    ?C0216?KB_PROCESS
+0028B2         ?C0247?KB_PROCESS:
+  889: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_AC_HOME)
 0028B2 EB                MOV     A,R3
-0028B3 B4D609            CJNE    A,#0D6H,?C0247?KB_PROCESS
-  888: 			{
-  889: 				kb_set_multikey(0x0223);
+0028B3 B4D609            CJNE    A,#0D6H,?C0249?KB_PROCESS
+  890: 			{
+  891: 				kb_set_multikey(0x0223);
 0028B6 7F23              MOV     R7,#023H
 0028B8 7E02              MOV     R6,#02H
 0028BA 122697            LCALL   _kb_set_multikey
-  890: 			}
-0028BD 2197              AJMP    ?C0214?KB_PROCESS
-0028BF         ?C0247?KB_PROCESS:
-  891: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_LIGHT_DOWN)
+  892: 			}
+0028BD 2197              AJMP    ?C0216?KB_PROCESS
+0028BF         ?C0249?KB_PROCESS:
+  893: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_LIGHT_DOWN)
 0028BF 904EDB            MOV     DPTR,#pEvt
 0028C2 E0                MOVX    A,@DPTR
 0028C3 FB                MOV     R3,A
@@ -7360,26 +7360,26 @@
 0028D7 FA                MOV     R2,A
 0028D8 1203B6            LCALL   ?C?CLDPTR
 0028DB FB                MOV     R3,A
-0028DC B4D707            CJNE    A,#0D7H,?C0249?KB_PROCESS
-  892: 			{
-  893: 				kb_set_multikey(0x0070);
+0028DC B4D707            CJNE    A,#0D7H,?C0251?KB_PROCESS
+  894: 			{
+  895: 				kb_set_multikey(0x0070);
 0028DF 7F70              MOV     R7,#070H
 0028E1 122697            LCALL   _kb_set_multikey
-  894: 			}
-0028E4 2197              AJMP    ?C0214?KB_PROCESS
-0028E6         ?C0249?KB_PROCESS:
-  895: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_LIGHT_UP)
+  896: 			}
+0028E4 2197              AJMP    ?C0216?KB_PROCESS
+0028E6         ?C0251?KB_PROCESS:
+  897: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_LIGHT_UP)
 0028E6 EB                MOV     A,R3
-0028E7 B4D809            CJNE    A,#0D8H,?C0251?KB_PROCESS
-  896: 			{
-  897: 				kb_set_multikey(0x006f);
+0028E7 B4D809            CJNE    A,#0D8H,?C0253?KB_PROCESS
+  898: 			{
+  899: 				kb_set_multikey(0x006f);
 0028EA 7F6F              MOV     R7,#06FH
 0028EC 7E00              MOV     R6,#00H
 0028EE 122697            LCALL   _kb_set_multikey
-  898: 			}	
-0028F1 2197              AJMP    ?C0214?KB_PROCESS
-0028F3         ?C0251?KB_PROCESS:
-  899: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_IOS_SOFT_KB)  //IOS VIR KB
+  900: 			}	
+0028F1 2197              AJMP    ?C0216?KB_PROCESS
+0028F3         ?C0253?KB_PROCESS:
+  901: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_IOS_SOFT_KB)  //IOS VIR KB
 0028F3 904EDB            MOV     DPTR,#pEvt
 0028F6 E0                MOVX    A,@DPTR
 0028F7 FB                MOV     R3,A
@@ -7403,26 +7403,26 @@
 00290B FA                MOV     R2,A
 00290C 1203B6            LCALL   ?C?CLDPTR
 00290F FB                MOV     R3,A
-002910 B4D907            CJNE    A,#0D9H,?C0253?KB_PROCESS
-  900: 		      	{
-  901: 		        	kb_set_multikey(0x00b8);
+002910 B4D907            CJNE    A,#0D9H,?C0255?KB_PROCESS
+  902: 		      	{
+  903: 		        	kb_set_multikey(0x00b8);
 002913 7FB8              MOV     R7,#0B8H
 002915 122697            LCALL   _kb_set_multikey
-  902: 		      	}
-002918 807D              SJMP    ?C0214?KB_PROCESS
-00291A         ?C0253?KB_PROCESS:
-  903: 		      else if (pEvt->ksPool[i] ==  HID_MULTIKEY_OS_LOCK)
+  904: 		      	}
+002918 807D              SJMP    ?C0216?KB_PROCESS
+00291A         ?C0255?KB_PROCESS:
+  905: 		      else if (pEvt->ksPool[i] ==  HID_MULTIKEY_OS_LOCK)
 00291A EB                MOV     A,R3
-00291B B4DA09            CJNE    A,#0DAH,?C0255?KB_PROCESS
-  904: 		      	{
-  905: 		        	kb_set_multikey(0x0030);
+00291B B4DA09            CJNE    A,#0DAH,?C0257?KB_PROCESS
+  906: 		      	{
+  907: 		        	kb_set_multikey(0x0030);
 00291E 7F30              MOV     R7,#030H
 002920 7E00              MOV     R6,#00H
 002922 122697            LCALL   _kb_set_multikey
-  906: 		      	}	
-002925 8070              SJMP    ?C0214?KB_PROCESS
-002927         ?C0255?KB_PROCESS:
-  907: 		      	else if (pEvt->ksPool[i] ==  HID_MULTIKEY_ANDROID_SETUP_SHORTCUTS)
+  908: 		      	}	
+002925 8070              SJMP    ?C0216?KB_PROCESS
+002927         ?C0257?KB_PROCESS:
+  909: 		      	else if (pEvt->ksPool[i] ==  HID_MULTIKEY_ANDROID_SETUP_SHORTCUTS)
 002927 904EDB            MOV     DPTR,#pEvt
 00292A E0                MOVX    A,@DPTR
 00292B FB                MOV     R3,A
@@ -7446,27 +7446,27 @@
 00293F FA                MOV     R2,A
 002940 1203B6            LCALL   ?C?CLDPTR
 002943 FB                MOV     R3,A
-002944 B4DB09            CJNE    A,#0DBH,?C0257?KB_PROCESS
-  908: 		      	{
-  909: 		        	kb_set_multikey(0x0306);
+002944 B4DB09            CJNE    A,#0DBH,?C0259?KB_PROCESS
+  910: 		      	{
+  911: 		        	kb_set_multikey(0x0306);
 002947 7F06              MOV     R7,#06H
 002949 7E03              MOV     R6,#03H
 00294B 122697            LCALL   _kb_set_multikey
-  910: 		      	}
-00294E 8047              SJMP    ?C0214?KB_PROCESS
-002950         ?C0257?KB_PROCESS:
-  911: 		      	else if (pEvt->ksPool[i] ==  HID_MULTIKEY_ANDROID_SOFT_KB)
+  912: 		      	}
+00294E 8047              SJMP    ?C0216?KB_PROCESS
+002950         ?C0259?KB_PROCESS:
+  913: 		      	else if (pEvt->ksPool[i] ==  HID_MULTIKEY_ANDROID_SOFT_KB)
 002950 EB                MOV     A,R3
-002951 B4DC09            CJNE    A,#0DCH,?C0259?KB_PROCESS
-  912: 		      	{
-  913: 		        	kb_set_multikey(0x0307);
+002951 B4DC09            CJNE    A,#0DCH,?C0261?KB_PROCESS
+  914: 		      	{
+  915: 		        	kb_set_multikey(0x0307);
 002954 7F07              MOV     R7,#07H
 002956 7E03              MOV     R6,#03H
 002958 122697            LCALL   _kb_set_multikey
-  914: 		      	}
-00295B 803A              SJMP    ?C0214?KB_PROCESS
-00295D         ?C0259?KB_PROCESS:
-  915: 		      	else if (pEvt->ksPool[i] ==  HID_SYSTEM_KEY_POWER_DOWN)
+  916: 		      	}
+00295B 803A              SJMP    ?C0216?KB_PROCESS
+00295D         ?C0261?KB_PROCESS:
+  917: 		      	else if (pEvt->ksPool[i] ==  HID_SYSTEM_KEY_POWER_DOWN)
 00295D 904EDB            MOV     DPTR,#pEvt
 002960 E0                MOVX    A,@DPTR
 002961 FB                MOV     R3,A
@@ -7490,39 +7490,39 @@
 002975 FA                MOV     R2,A
 002976 1203B6            LCALL   ?C?CLDPTR
 002979 FE                MOV     R6,A
-00297A B4DD06            CJNE    A,#0DDH,?C0261?KB_PROCESS
-  916: 		      	{
-  917: 		        	kb_set_systemkey(0x01);
+00297A B4DD06            CJNE    A,#0DDH,?C0263?KB_PROCESS
+  918: 		      	{
+  919: 		        	kb_set_systemkey(0x01);
 00297D 7F01              MOV     R7,#01H
 00297F 31CC              ACALL   _kb_set_systemkey
-  918: 		      	}
-002981 8014              SJMP    ?C0214?KB_PROCESS
-002983         ?C0261?KB_PROCESS:
-  919: 		      	else if (pEvt->ksPool[i] ==  HID_SYSTEM_KEY_SLEEP)
+  920: 		      	}
+002981 8014              SJMP    ?C0216?KB_PROCESS
+002983         ?C0263?KB_PROCESS:
+  921: 		      	else if (pEvt->ksPool[i] ==  HID_SYSTEM_KEY_SLEEP)
 002983 EE                MOV     A,R6
-002984 B4DE06            CJNE    A,#0DEH,?C0263?KB_PROCESS
-  920: 		      	{
-  921: 		        	kb_set_systemkey(0x02);
+002984 B4DE06            CJNE    A,#0DEH,?C0265?KB_PROCESS
+  922: 		      	{
+  923: 		        	kb_set_systemkey(0x02);
 002987 7F02              MOV     R7,#02H
 002989 31CC              ACALL   _kb_set_systemkey
-  922: 		      	}
-00298B 800A              SJMP    ?C0214?KB_PROCESS
-00298D         ?C0263?KB_PROCESS:
-  923: 		      	else if (pEvt->ksPool[i] ==  HID_SYSTEM_KEY_WAKE_UP)
+  924: 		      	}
+00298B 800A              SJMP    ?C0216?KB_PROCESS
+00298D         ?C0265?KB_PROCESS:
+  925: 		      	else if (pEvt->ksPool[i] ==  HID_SYSTEM_KEY_WAKE_UP)
 00298D 1203B6            LCALL   ?C?CLDPTR
-002990 B4DF04            CJNE    A,#0DFH,?C0214?KB_PROCESS
-  924: 		      	{
-  925: 		        	kb_set_systemkey(0x04);
+002990 B4DF04            CJNE    A,#0DFH,?C0216?KB_PROCESS
+  926: 		      	{
+  927: 		        	kb_set_systemkey(0x04);
 002993 7F04              MOV     R7,#04H
 002995 31CC              ACALL   _kb_set_systemkey
-  926: 		      	}			
-002997         ?C0214?KB_PROCESS:
-  927: 			if(mult_key_status == KEY_WAIT_RELEASE)
+  928: 		      	}			
+002997         ?C0216?KB_PROCESS:
+  929: 			if(mult_key_status == KEY_WAIT_RELEASE)
 002997 904E4D            MOV     DPTR,#mult_key_status
 00299A E0                MOVX    A,@DPTR
-00299B B40224            CJNE    A,#02H,?C0210?KB_PROCESS
-  928: 			{
-  929: 				mult_key_value = pEvt->ksPool[i];
+00299B B40224            CJNE    A,#02H,?C0212?KB_PROCESS
+  930: 			{
+  931: 				mult_key_value = pEvt->ksPool[i];
 00299E 904EDB            MOV     DPTR,#pEvt
 0029A1 E0                MOVX    A,@DPTR
 0029A2 FB                MOV     R3,A
@@ -7547,20 +7547,20 @@
 0029B7 1203B6            LCALL   ?C?CLDPTR
 0029BA 904DEE            MOV     DPTR,#mult_key_value
 0029BD F0                MOVX    @DPTR,A
-  930: 				pEvt->ksPool[i] = 0;
+  932: 				pEvt->ksPool[i] = 0;
 0029BE E4                CLR     A
 0029BF 1203FC            LCALL   ?C?CSTPTR
-  931: 			}
-  932: 		}
-  933: 	}
-0029C2         ?C0210?KB_PROCESS:
+  933: 			}
+  934: 		}
+  935: 	}
+0029C2         ?C0212?KB_PROCESS:
 0029C2 904EDE            MOV     DPTR,#i
 0029C5 E0                MOVX    A,@DPTR
 0029C6 04                INC     A
 0029C7 F0                MOVX    @DPTR,A
-0029C8 0226C1            LJMP    ?C0208?KB_PROCESS
-  934: }
-0029CB         ?C0267?KB_PROCESS:
+0029C8 0226C1            LJMP    ?C0210?KB_PROCESS
+  936: }
+0029CB         ?C0269?KB_PROCESS:
 0029CB 22                RET     
 ----- FUNCTION _kb_multikey_setup (END) -------
 
@@ -9250,17 +9250,17 @@
  FILE: 'kb_process.c'
   613: byte key_fn_function(byte state ,byte key_value)
   614: {
-;---- Variable 'state' assigned to Register 'R6' ----
-00307E AE07              MOV     R6,AR7
-;---- Variable 'key_value' assigned to Register 'R4' ----
-003080 AC05              MOV     R4,AR5
+;---- Variable 'key_value' assigned to Register 'R6' ----
+00307E AE05              MOV     R6,AR5
+;---- Variable 'state' assigned to Register 'R4' ----
+003080 AC07              MOV     R4,AR7
   615: 	byte temp = 0;
   616: 
 003082 E4                CLR     A
 003083 904F06            MOV     DPTR,#temp
 003086 F0                MOVX    @DPTR,A
   617: 	if(state & 1)
-003087 EE                MOV     A,R6
+003087 EC                MOV     A,R4
 003088 30E005            JNB     ACC.0,?C0137?KB_PROCESS
   618: 		g_variable.one_key_press_wait_release_timer = 0;
 00308B E4                CLR     A
@@ -9270,615 +9270,627 @@
   619: 
   620: 	temp = key_value;
 003090 904F06            MOV     DPTR,#temp
-003093 EC                MOV     A,R4
+003093 EE                MOV     A,R6
 003094 F0                MOVX    @DPTR,A
   621: 	 
-  622: 	if(g_variable.system_mode != OSMODE_WINDOWS)
+  622: 	if((g_variable.system_mode != OSMODE_WINDOWS) && (g_variable.system_mode != OSMODE_ANDROID))
 003095 904CC1            MOV     DPTR,#g_variable+02H
 003098 E0                MOVX    A,@DPTR
 003099 FF                MOV     R7,A
-00309A 602E              JZ      ?C0138?KB_PROCESS
+00309A 603E              JZ      ?C0138?KB_PROCESS
+00309C 6401              XRL     A,#01H
+00309E 603A              JZ      ?C0138?KB_PROCESS
   623: 	{
   624: 		if(key_value == HID_KEY_RIGHT_ALT)
-00309C EC                MOV     A,R4
-00309D B4E608            CJNE    A,#0E6H,?C0139?KB_PROCESS
+0030A0 EE                MOV     A,R6
+0030A1 B4E608            CJNE    A,#0E6H,?C0139?KB_PROCESS
   625: 			temp = HID_KEY_RIGHT_GUI;
-0030A0 904F06            MOV     DPTR,#temp
-0030A3 74E7              MOV     A,#0E7H
-0030A5 F0                MOVX    @DPTR,A
-0030A6 8022              SJMP    ?C0138?KB_PROCESS
-0030A8         ?C0139?KB_PROCESS:
+0030A4 904F06            MOV     DPTR,#temp
+0030A7 74E7              MOV     A,#0E7H
+0030A9 F0                MOVX    @DPTR,A
+0030AA 802E              SJMP    ?C0138?KB_PROCESS
+0030AC         ?C0139?KB_PROCESS:
   626: 		else if(key_value == HID_KEY_RIGHT_GUI)
-0030A8 EC                MOV     A,R4
-0030A9 B4E708            CJNE    A,#0E7H,?C0141?KB_PROCESS
+0030AC EE                MOV     A,R6
+0030AD B4E708            CJNE    A,#0E7H,?C0141?KB_PROCESS
   627: 			temp = HID_KEY_RIGHT_ALT;	
-0030AC 904F06            MOV     DPTR,#temp
-0030AF 74E6              MOV     A,#0E6H
-0030B1 F0                MOVX    @DPTR,A
-0030B2 8016              SJMP    ?C0138?KB_PROCESS
-0030B4         ?C0141?KB_PROCESS:
-  628: 		else if(key_value == HID_KEY_LEFT_GUI)
-0030B4 EC                MOV     A,R4
-0030B5 B4E308            CJNE    A,#0E3H,?C0143?KB_PROCESS
-  629: 			temp = HID_KEY_LEFT_ALT;
-0030B8 904F06            MOV     DPTR,#temp
-0030BB 74E2              MOV     A,#0E2H
-0030BD F0                MOVX    @DPTR,A
-0030BE 800A              SJMP    ?C0138?KB_PROCESS
-0030C0         ?C0143?KB_PROCESS:
-  630: 		else if(key_value == HID_KEY_LEFT_ALT)
-0030C0 EC                MOV     A,R4
-0030C1 B4E206            CJNE    A,#0E2H,?C0138?KB_PROCESS
-  631: 			temp = HID_KEY_LEFT_GUI;	
-0030C4 904F06            MOV     DPTR,#temp
-0030C7 74E3              MOV     A,#0E3H
-0030C9 F0                MOVX    @DPTR,A
-  632: 	}
-0030CA         ?C0138?KB_PROCESS:
-  633: 	 
-  634: 	if(g_variable.system_mode == OSMODE_WINDOWS)
-0030CA EF                MOV     A,R7
-0030CB 7011              JNZ     ?C0146?KB_PROCESS
-  635: 	{
-  636: 		if(key_value == HID_MULTIKEY_OS_LOCK)
-0030CD EC                MOV     A,R4
-0030CE B4DA0D            CJNE    A,#0DAH,?C0146?KB_PROCESS
-  637: 		{
-  638: 			kb_combination_key_press(state,KS_SEL_LGUI,HID_KEY_L);
-0030D1 AF06              MOV     R7,AR6
-0030D3 7B0F              MOV     R3,#0FH
-0030D5 7D08              MOV     R5,#08H
-0030D7 1159              ACALL   _kb_combination_key_press
-  639: 			temp = HID_KEY_NULL;
-0030D9 E4                CLR     A
-0030DA 904F06            MOV     DPTR,#temp
-0030DD F0                MOVX    @DPTR,A
-  640: 		}
-  641: 	}
-0030DE         ?C0146?KB_PROCESS:
-  642: 
-  643: 	if(fn_flag == 1)			// Fn lock
-0030DE 904DE3            MOV     DPTR,#fn_flag
-0030E1 E0                MOVX    A,@DPTR
-0030E2 6401              XRL     A,#01H
-0030E4 6002              JZ      $ + 4H
-0030E6 21C8              AJMP    ?C0148?KB_PROCESS
-  644: 	{
-  645: 		if((key_value == HID_KEY_Q) || (key_value == HID_KEY_W) || (key_value == HID_KEY_E)|| (key_value == HID_KEY_R))
+0030B0 904F06            MOV     DPTR,#temp
+0030B3 74E6              MOV     A,#0E6H
+0030B5 F0                MOVX    @DPTR,A
+0030B6 8022              SJMP    ?C0138?KB_PROCESS
+0030B8         ?C0141?KB_PROCESS:
+  628: 		else if(key_value == HID_KEY_RIGHT_CTL)
+0030B8 EE                MOV     A,R6
+0030B9 B4E408            CJNE    A,#0E4H,?C0143?KB_PROCESS
+  629: 			temp = HID_KEY_RIGHT_ALT;	
+0030BC 904F06            MOV     DPTR,#temp
+0030BF 74E6              MOV     A,#0E6H
+0030C1 F0                MOVX    @DPTR,A
+0030C2 8016              SJMP    ?C0138?KB_PROCESS
+0030C4         ?C0143?KB_PROCESS:
+  630: 		else if(key_value == HID_KEY_LEFT_GUI)
+0030C4 EE                MOV     A,R6
+0030C5 B4E308            CJNE    A,#0E3H,?C0145?KB_PROCESS
+  631: 			temp = HID_KEY_LEFT_ALT;
+0030C8 904F06            MOV     DPTR,#temp
+0030CB 74E2              MOV     A,#0E2H
+0030CD F0                MOVX    @DPTR,A
+0030CE 800A              SJMP    ?C0138?KB_PROCESS
+0030D0         ?C0145?KB_PROCESS:
+  632: 		else if(key_value == HID_KEY_LEFT_ALT)
+0030D0 EE                MOV     A,R6
+0030D1 B4E206            CJNE    A,#0E2H,?C0138?KB_PROCESS
+  633: 			temp = HID_KEY_LEFT_GUI;	
+0030D4 904F06            MOV     DPTR,#temp
+0030D7 74E3              MOV     A,#0E3H
+0030D9 F0                MOVX    @DPTR,A
+  634: 	}
+0030DA         ?C0138?KB_PROCESS:
+  635: 	 
+  636: 	if(g_variable.system_mode == OSMODE_WINDOWS)
+0030DA 904CC1            MOV     DPTR,#g_variable+02H
+0030DD E0                MOVX    A,@DPTR
+0030DE 7011              JNZ     ?C0148?KB_PROCESS
+  637: 	{
+  638: 		if(key_value == HID_MULTIKEY_OS_LOCK)
+0030E0 EE                MOV     A,R6
+0030E1 B4DA0D            CJNE    A,#0DAH,?C0148?KB_PROCESS
+  639: 		{
+  640: 			kb_combination_key_press(state,KS_SEL_LGUI,HID_KEY_L);
+0030E4 AF04              MOV     R7,AR4
+0030E6 7B0F              MOV     R3,#0FH
+0030E8 7D08              MOV     R5,#08H
+0030EA 1159              ACALL   _kb_combination_key_press
+  641: 			temp = HID_KEY_NULL;
+0030EC E4                CLR     A
+0030ED 904F06            MOV     DPTR,#temp
+0030F0 F0                MOVX    @DPTR,A
+  642: 		}
+  643: 	}
+0030F1         ?C0148?KB_PROCESS:
+  644: 
+  645: 	if(fn_flag == 1)			// Fn lock
+0030F1 904DE3            MOV     DPTR,#fn_flag
+0030F4 E0                MOVX    A,@DPTR
+0030F5 6401              XRL     A,#01H
+0030F7 6002              JZ      $ + 4H
+0030F9 21DB              AJMP    ?C0150?KB_PROCESS
+  646: 	{
+  647: 		if((key_value == HID_KEY_Q) || (key_value == HID_KEY_W) || (key_value == HID_KEY_E)|| (key_value == HID_KEY_R))
 >> 
-0030E8 EC                MOV     A,R4
-0030E9 6414              XRL     A,#014H
-0030EB 600F              JZ      ?C0150?KB_PROCESS
-0030ED EC                MOV     A,R4
-0030EE 641A              XRL     A,#01AH
-0030F0 600A              JZ      ?C0150?KB_PROCESS
-0030F2 EC                MOV     A,R4
-0030F3 6408              XRL     A,#08H
-0030F5 6005              JZ      ?C0150?KB_PROCESS
-0030F7 EC                MOV     A,R4
-0030F8 6415              XRL     A,#015H
-0030FA 7072              JNZ     ?C0149?KB_PROCESS
-0030FC         ?C0150?KB_PROCESS:
-  646: 			{
-  647: 				if(key_value == HID_KEY_R)
-0030FC EC                MOV     A,R4
-0030FD B41508            CJNE    A,#015H,?C0151?KB_PROCESS
-  648: 				{
-  649: 					g_variable.system_mode = OSMODE_MAC;
-003100 904CC1            MOV     DPTR,#g_variable+02H
-003103 7402              MOV     A,#02H
-003105 F0                MOVX    @DPTR,A
-  650: 				}
-003106 8021              SJMP    ?C0152?KB_PROCESS
-003108         ?C0151?KB_PROCESS:
-  651: 				else if(key_value == HID_KEY_W)
-003108 EC                MOV     A,R4
-003109 B41A07            CJNE    A,#01AH,?C0153?KB_PROCESS
-  652: 				{
-  653: 					g_variable.system_mode = OSMODE_WINDOWS;
-00310C E4                CLR     A
-00310D 904CC1            MOV     DPTR,#g_variable+02H
-003110 F0                MOVX    @DPTR,A
-  654: 	
-  655: 				}
-003111 8016              SJMP    ?C0152?KB_PROCESS
-003113         ?C0153?KB_PROCESS:
-  656: 				else if(key_value == HID_KEY_E)
-003113 EC                MOV     A,R4
-003114 B40808            CJNE    A,#08H,?C0155?KB_PROCESS
-  657: 				{
-  658: 					g_variable.system_mode = OSMODE_ANDROID;
-003117 904CC1            MOV     DPTR,#g_variable+02H
-00311A 7401              MOV     A,#01H
-00311C F0                MOVX    @DPTR,A
-  659: 	
-  660: 				}
-00311D 800A              SJMP    ?C0152?KB_PROCESS
-00311F         ?C0155?KB_PROCESS:
-  661: 				else if(key_value == HID_KEY_Q)
-00311F EC                MOV     A,R4
-003120 B41406            CJNE    A,#014H,?C0152?KB_PROCESS
-  662: 				{
-  663: 					g_variable.system_mode = OSMODE_IOS;
-003123 904CC1            MOV     DPTR,#g_variable+02H
-003126 7403              MOV     A,#03H
-003128 F0                MOVX    @DPTR,A
-  664: 	
-  665: 				}
-003129         ?C0152?KB_PROCESS:
-  666: 				temp = HID_KEY_NULL;
-003129 E4                CLR     A
-00312A 904F06            MOV     DPTR,#temp
-00312D F0                MOVX    @DPTR,A
-  667: 				if(g_variable.current_device_num == 0 || g_variable.current_device_num == 0xfe)
-00312E 904CC3            MOV     DPTR,#g_variable+04H
-003131 E0                MOVX    A,@DPTR
-003132 FF                MOV     R7,A
-003133 6003              JZ      ?C0159?KB_PROCESS
-003135 B4FE08            CJNE    A,#0FEH,?C0158?KB_PROCESS
-003138         ?C0159?KB_PROCESS:
-  668: 				{
-  669: 					g_variable.update_eeprom_flag = EEPROM_STORE_TYPE_G24;
-003138 904CBF            MOV     DPTR,#g_variable
-00313B 7402              MOV     A,#02H
-00313D F0                MOVX    @DPTR,A
-  670: 				}
-00313E 21C8              AJMP    ?C0148?KB_PROCESS
-003140         ?C0158?KB_PROCESS:
-  671: 				else	if (g_variable.current_device_num <= 3 && g_variable.current_device_num >= 1)
-003140 EF                MOV     A,R7
-003141 D3                SETB    C
-003142 9403              SUBB    A,#03H
-003144 4002              JC      $ + 4H
-003146 21C8              AJMP    ?C0148?KB_PROCESS
-003148 EF                MOV     A,R7
-003149 C3                CLR     C
-00314A 9401              SUBB    A,#01H
-00314C 407A              JC      ?C0148?KB_PROCESS
-  672: 				{
-  673: 					bd_key_record_list[g_variable.current_device_num - 1].system_mode = g_variable.system_mode;
-00314E 904CC1            MOV     DPTR,#g_variable+02H
-003151 E0                MOVX    A,@DPTR
-003152 FF                MOV     R7,A
-003153 904CC3            MOV     DPTR,#g_variable+04H
-003156 E0                MOVX    A,@DPTR
-003157 75F01F            MOV     B,#01FH
-00315A A4                MUL     AB
-00315B 24EE              ADD     A,#LOW bd_key_record_list-02H
-00315D F582              MOV     DPL,A
-00315F E4                CLR     A
-003160 344D              ADDC    A,#HIGH bd_key_record_list-02H
-003162 F583              MOV     DPH,A
-003164 EF                MOV     A,R7
-003165 F0                MOVX    @DPTR,A
-  674: 					g_variable.update_eeprom_flag = EEPROM_STORE_TYPE_BT;
-003166 904CBF            MOV     DPTR,#g_variable
-003169 7403              MOV     A,#03H
-00316B F0                MOVX    @DPTR,A
-  675: 				}
-  676: 			}	
-00316C 805A              SJMP    ?C0148?KB_PROCESS
-00316E         ?C0149?KB_PROCESS:
-  677: 		else if(key_value == HID_KEY_ESC)
-00316E EC                MOV     A,R4
-00316F 6429              XRL     A,#029H
-003171 7055              JNZ     ?C0148?KB_PROCESS
-  678: 			{
-  679: 				if(state & 1)
-003173 EE                MOV     A,R6
-003174 30E04C            JNB     ACC.0,?C0164?KB_PROCESS
-  680: 				{						
-  681: 					if(fn_lock_flag)
-003177 904DE8            MOV     DPTR,#fn_lock_flag
-00317A E0                MOVX    A,@DPTR
-00317B 6004              JZ      ?C0165?KB_PROCESS
-  682: 					{
-  683: 						fn_lock_flag = 0;
-00317D E4                CLR     A
+0030FB EE                MOV     A,R6
+0030FC 6414              XRL     A,#014H
+0030FE 600F              JZ      ?C0152?KB_PROCESS
+003100 EE                MOV     A,R6
+003101 641A              XRL     A,#01AH
+003103 600A              JZ      ?C0152?KB_PROCESS
+003105 EE                MOV     A,R6
+003106 6408              XRL     A,#08H
+003108 6005              JZ      ?C0152?KB_PROCESS
+00310A EE                MOV     A,R6
+00310B 6415              XRL     A,#015H
+00310D 7072              JNZ     ?C0151?KB_PROCESS
+00310F         ?C0152?KB_PROCESS:
+  648: 			{
+  649: 				if(key_value == HID_KEY_R)
+00310F EE                MOV     A,R6
+003110 B41508            CJNE    A,#015H,?C0153?KB_PROCESS
+  650: 				{
+  651: 					g_variable.system_mode = OSMODE_MAC;
+003113 904CC1            MOV     DPTR,#g_variable+02H
+003116 7402              MOV     A,#02H
+003118 F0                MOVX    @DPTR,A
+  652: 				}
+003119 8021              SJMP    ?C0154?KB_PROCESS
+00311B         ?C0153?KB_PROCESS:
+  653: 				else if(key_value == HID_KEY_W)
+00311B EE                MOV     A,R6
+00311C B41A07            CJNE    A,#01AH,?C0155?KB_PROCESS
+  654: 				{
+  655: 					g_variable.system_mode = OSMODE_WINDOWS;
+00311F E4                CLR     A
+003120 904CC1            MOV     DPTR,#g_variable+02H
+003123 F0                MOVX    @DPTR,A
+  656: 	
+  657: 				}
+003124 8016              SJMP    ?C0154?KB_PROCESS
+003126         ?C0155?KB_PROCESS:
+  658: 				else if(key_value == HID_KEY_E)
+003126 EE                MOV     A,R6
+003127 B40808            CJNE    A,#08H,?C0157?KB_PROCESS
+  659: 				{
+  660: 					g_variable.system_mode = OSMODE_ANDROID;
+00312A 904CC1            MOV     DPTR,#g_variable+02H
+00312D 7401              MOV     A,#01H
+00312F F0                MOVX    @DPTR,A
+  661: 	
+  662: 				}
+003130 800A              SJMP    ?C0154?KB_PROCESS
+003132         ?C0157?KB_PROCESS:
+  663: 				else if(key_value == HID_KEY_Q)
+003132 EE                MOV     A,R6
+003133 B41406            CJNE    A,#014H,?C0154?KB_PROCESS
+  664: 				{
+  665: 					g_variable.system_mode = OSMODE_IOS;
+003136 904CC1            MOV     DPTR,#g_variable+02H
+003139 7403              MOV     A,#03H
+00313B F0                MOVX    @DPTR,A
+  666: 	
+  667: 				}
+00313C         ?C0154?KB_PROCESS:
+  668: 				temp = HID_KEY_NULL;
+00313C E4                CLR     A
+00313D 904F06            MOV     DPTR,#temp
+003140 F0                MOVX    @DPTR,A
+  669: 				if(g_variable.current_device_num == 0 || g_variable.current_device_num == 0xfe)
+003141 904CC3            MOV     DPTR,#g_variable+04H
+003144 E0                MOVX    A,@DPTR
+003145 FF                MOV     R7,A
+003146 6003              JZ      ?C0161?KB_PROCESS
+003148 B4FE08            CJNE    A,#0FEH,?C0160?KB_PROCESS
+00314B         ?C0161?KB_PROCESS:
+  670: 				{
+  671: 					g_variable.update_eeprom_flag = EEPROM_STORE_TYPE_G24;
+00314B 904CBF            MOV     DPTR,#g_variable
+00314E 7402              MOV     A,#02H
+003150 F0                MOVX    @DPTR,A
+  672: 				}
+003151 21DB              AJMP    ?C0150?KB_PROCESS
+003153         ?C0160?KB_PROCESS:
+  673: 				else	if (g_variable.current_device_num <= 3 && g_variable.current_device_num >= 1)
+003153 EF                MOV     A,R7
+003154 D3                SETB    C
+003155 9403              SUBB    A,#03H
+003157 4002              JC      $ + 4H
+003159 21DB              AJMP    ?C0150?KB_PROCESS
+00315B EF                MOV     A,R7
+00315C C3                CLR     C
+00315D 9401              SUBB    A,#01H
+00315F 407A              JC      ?C0150?KB_PROCESS
+  674: 				{
+  675: 					bd_key_record_list[g_variable.current_device_num - 1].system_mode = g_variable.system_mode;
+003161 904CC1            MOV     DPTR,#g_variable+02H
+003164 E0                MOVX    A,@DPTR
+003165 FF                MOV     R7,A
+003166 904CC3            MOV     DPTR,#g_variable+04H
+003169 E0                MOVX    A,@DPTR
+00316A 75F01F            MOV     B,#01FH
+00316D A4                MUL     AB
+00316E 24EE              ADD     A,#LOW bd_key_record_list-02H
+003170 F582              MOV     DPL,A
+003172 E4                CLR     A
+003173 344D              ADDC    A,#HIGH bd_key_record_list-02H
+003175 F583              MOV     DPH,A
+003177 EF                MOV     A,R7
+003178 F0                MOVX    @DPTR,A
+  676: 					g_variable.update_eeprom_flag = EEPROM_STORE_TYPE_BT;
+003179 904CBF            MOV     DPTR,#g_variable
+00317C 7403              MOV     A,#03H
 00317E F0                MOVX    @DPTR,A
-  684: 					}
-00317F 8006              SJMP    ?C0166?KB_PROCESS
-003181         ?C0165?KB_PROCESS:
-  685: 					else
-  686: 						fn_lock_flag = 1;
-003181 904DE8            MOV     DPTR,#fn_lock_flag
-003184 7401              MOV     A,#01H
-003186 F0                MOVX    @DPTR,A
-003187         ?C0166?KB_PROCESS:
-  687: 						
-  688: 					if(g_variable.current_device_num == 0 || g_variable.current_device_num == 0xfe)
-003187 904CC3            MOV     DPTR,#g_variable+04H
-00318A E0                MOVX    A,@DPTR
-00318B FF                MOV     R7,A
-00318C 6003              JZ      ?C0168?KB_PROCESS
-00318E B4FE08            CJNE    A,#0FEH,?C0167?KB_PROCESS
-003191         ?C0168?KB_PROCESS:
-  689: 					{
-  690: 						g_variable.update_eeprom_flag = EEPROM_STORE_TYPE_G24;
-003191 904CBF            MOV     DPTR,#g_variable
-003194 7402              MOV     A,#02H
-003196 F0                MOVX    @DPTR,A
-  691: 					}
-003197 802A              SJMP    ?C0164?KB_PROCESS
-003199         ?C0167?KB_PROCESS:
-  692: 					else	if (g_variable.current_device_num <= 3 && g_variable.current_device_num >= 1)
-003199 EF                MOV     A,R7
-00319A D3                SETB    C
-00319B 9403              SUBB    A,#03H
-00319D 5024              JNC     ?C0164?KB_PROCESS
-00319F EF                MOV     A,R7
-0031A0 C3                CLR     C
-0031A1 9401              SUBB    A,#01H
-0031A3 401E              JC      ?C0164?KB_PROCESS
-  693: 					{
-  694: 						bd_key_record_list[g_variable.current_device_num - 1].fn_lock = fn_lock_flag;
-0031A5 904DE8            MOV     DPTR,#fn_lock_flag
-0031A8 E0                MOVX    A,@DPTR
-0031A9 FF                MOV     R7,A
-0031AA 904CC3            MOV     DPTR,#g_variable+04H
-0031AD E0                MOVX    A,@DPTR
-0031AE 75F01F            MOV     B,#01FH
-0031B1 A4                MUL     AB
-0031B2 24EF              ADD     A,#LOW bd_key_record_list-01H
-0031B4 F582              MOV     DPL,A
-0031B6 E4                CLR     A
-0031B7 344D              ADDC    A,#HIGH bd_key_record_list-01H
-0031B9 F583              MOV     DPH,A
-0031BB EF                MOV     A,R7
-0031BC F0                MOVX    @DPTR,A
-  695: 						g_variable.update_eeprom_flag = EEPROM_STORE_TYPE_BT;
-0031BD 904CBF            MOV     DPTR,#g_variable
-0031C0 7403              MOV     A,#03H
-0031C2 F0                MOVX    @DPTR,A
-  696: 					}
-  697: 				}
-0031C3         ?C0164?KB_PROCESS:
-  698: 				temp = HID_KEY_NULL;
-0031C3 E4                CLR     A
-0031C4 904F06            MOV     DPTR,#temp
-0031C7 F0                MOVX    @DPTR,A
-  699: 			}					
-  700: 	}
-0031C8         ?C0148?KB_PROCESS:
-  701: 	if((!fast_connect_flag)  && ((!fn_flag && !fn_lock_flag) || (fn_flag == 1 && fn_lock_flag == 1)))
-0031C8 904E57            MOV     DPTR,#fast_connect_flag
-0031CB E0                MOVX    A,@DPTR
-0031CC 6002              JZ      $ + 4H
-0031CE 615E              AJMP    ?C0171?KB_PROCESS
-0031D0 904DE3            MOV     DPTR,#fn_flag
-0031D3 E0                MOVX    A,@DPTR
-0031D4 7006              JNZ     ?C0173?KB_PROCESS
-0031D6 904DE8            MOV     DPTR,#fn_lock_flag
-0031D9 E0                MOVX    A,@DPTR
-0031DA 6014              JZ      ?C0172?KB_PROCESS
-0031DC         ?C0173?KB_PROCESS:
-0031DC 904DE3            MOV     DPTR,#fn_flag
-0031DF E0                MOVX    A,@DPTR
-0031E0 6401              XRL     A,#01H
-0031E2 6002              JZ      $ + 4H
-0031E4 615E              AJMP    ?C0171?KB_PROCESS
-0031E6 904DE8            MOV     DPTR,#fn_lock_flag
-0031E9 E0                MOVX    A,@DPTR
-0031EA 6401              XRL     A,#01H
-0031EC 6002              JZ      $ + 4H
-0031EE 615E              AJMP    ?C0171?KB_PROCESS
-0031F0         ?C0172?KB_PROCESS:
-  702: 	{
-  703: 		switch (key_value)
-0031F0 EC                MOV     A,R4
-0031F1 24C6              ADD     A,#0C6H
-0031F3 B40C00            CJNE    A,#0CH,?C0270?KB_PROCESS
-0031F6         ?C0270?KB_PROCESS:
-0031F6 4002              JC      $ + 4H
-0031F8 615E              AJMP    ?C0171?KB_PROCESS
-0031FA 903208            MOV     DPTR,#03208H
-0031FD 75F003            MOV     B,#03H
-003200 A4                MUL     AB
-003201 C583              XCH     A,DPH
-003203 25F0              ADD     A,B
-003205 C583              XCH     A,DPH
-003207 73                JMP     @A+DPTR
-003208         ?C0271?KB_PROCESS:
-003208 02322C            LJMP    ?C0175?KB_PROCESS
-00320B 023234            LJMP    ?C0176?KB_PROCESS
-00320E 02323C            LJMP    ?C0177?KB_PROCESS
-003211 023283            LJMP    ?C0184?KB_PROCESS
-003214 0232A9            LJMP    ?C0187?KB_PROCESS
-003217 0232EA            LJMP    ?C0194?KB_PROCESS
-00321A 023330            LJMP    ?C0200?KB_PROCESS
-00321D 023338            LJMP    ?C0201?KB_PROCESS
-003220 023340            LJMP    ?C0202?KB_PROCESS
-003223 023348            LJMP    ?C0203?KB_PROCESS
-003226 023350            LJMP    ?C0204?KB_PROCESS
-003229 023358            LJMP    ?C0205?KB_PROCESS
-  704: 		{ 	
-  705: 			case HID_KEY_F1:
-00322C         ?C0175?KB_PROCESS:
-  706: 				temp = HID_MULTIKEY_LIGHT_DOWN;	
-00322C 904F06            MOV     DPTR,#temp
-00322F 74D7              MOV     A,#0D7H
-003231 F0                MOVX    @DPTR,A
-  707: 				break;
-003232 615E              AJMP    ?C0171?KB_PROCESS
-  708: 			case HID_KEY_F2:
-003234         ?C0176?KB_PROCESS:
-  709: 				temp = HID_MULTIKEY_LIGHT_UP;
-003234 904F06            MOV     DPTR,#temp
-003237 74D8              MOV     A,#0D8H
-003239 F0                MOVX    @DPTR,A
-  710: 				break;
-00323A 615E              AJMP    ?C0171?KB_PROCESS
-  711: 			case HID_KEY_F3:
-00323C         ?C0177?KB_PROCESS:
-  712: 				if(g_variable.system_mode == OSMODE_MAC)
-00323C 904CC1            MOV     DPTR,#g_variable+02H
-00323F E0                MOVX    A,@DPTR
-003240 FC                MOV     R4,A
-003241 B40219            CJNE    A,#02H,?C0178?KB_PROCESS
-  713: 				{
-  714: 					kb_combination_key_press(state,KS_SEL_LGUI,HID_KEY_TAB);
-003244 AF06              MOV     R7,AR6
-003246 7B2B              MOV     R3,#02BH
-003248 7D08              MOV     R5,#08H
-00324A 1159              ACALL   _kb_combination_key_press
-  715: 					if(state & 1)
-00324C EE                MOV     A,R6
-00324D 30E006            JNB     ACC.0,?C0179?KB_PROCESS
-  716: 					{						
-  717: 						g_variable.one_key_press_wait_release_timer = 10;
-003250 904CF8            MOV     DPTR,#g_variable+039H
-003253 740A              MOV     A,#0AH
-003255 F0                MOVX    @DPTR,A
-  718: 					}
-003256         ?C0179?KB_PROCESS:
-  719: 					temp = HID_KEY_NULL;
-003256 E4                CLR     A
-003257 904F06            MOV     DPTR,#temp
-00325A F0                MOVX    @DPTR,A
-  720: 				}				
-00325B 615E              AJMP    ?C0171?KB_PROCESS
-00325D         ?C0178?KB_PROCESS:
-  721: 				else if((g_variable.system_mode == OSMODE_ANDROID)||(g_variable.system_mode == OSMODE_WINDOWS))
-00325D EC                MOV     A,R4
-00325E 6401              XRL     A,#01H
-003260 6008              JZ      ?C0182?KB_PROCESS
-003262 904CC1            MOV     DPTR,#g_variable+02H
-003265 E0                MOVX    A,@DPTR
-003266 6002              JZ      $ + 4H
-003268 615E              AJMP    ?C0171?KB_PROCESS
-00326A         ?C0182?KB_PROCESS:
-  722: 				{
-  723: 					kb_combination_key_press(state,KS_SEL_LALT,HID_KEY_TAB);
-00326A AF06              MOV     R7,AR6
-00326C 7B2B              MOV     R3,#02BH
-00326E 7D04              MOV     R5,#04H
-003270 1159              ACALL   _kb_combination_key_press
-  724: 					if(state & 1)
-003272 EE                MOV     A,R6
-003273 30E006            JNB     ACC.0,?C0183?KB_PROCESS
-  725: 					{						
-  726: 						g_variable.one_key_press_wait_release_timer = 10;
-003276 904CF8            MOV     DPTR,#g_variable+039H
-003279 740A              MOV     A,#0AH
-00327B F0                MOVX    @DPTR,A
-  727: 					}
-00327C         ?C0183?KB_PROCESS:
-  728: 					temp = HID_KEY_NULL;
-00327C E4                CLR     A
-00327D 904F06            MOV     DPTR,#temp
-003280 F0                MOVX    @DPTR,A
-  729: 				}
-  730: 				
-  731: 				break;
-003281 615E              AJMP    ?C0171?KB_PROCESS
-  732: 			case HID_KEY_F4:
-003283         ?C0184?KB_PROCESS:
-  733: 				if(g_variable.system_mode == OSMODE_MAC)
-003283 904CC1            MOV     DPTR,#g_variable+02H
-003286 E0                MOVX    A,@DPTR
-003287 B40217            CJNE    A,#02H,?C0185?KB_PROCESS
-  734: 				{
-  735: 					kb_combination_key_press(state,KS_SEL_LGUI|KS_SEL_LCTRL,HID_KEY_SPACE);
-00328A AF06              MOV     R7,AR6
-00328C 7B2C              MOV     R3,#02CH
-00328E 7D09              MOV     R5,#09H
-003290 1159              ACALL   _kb_combination_key_press
-  736: 					if(state & 1)    
-003292 EE                MOV     A,R6
-003293 30E006            JNB     ACC.0,?C0186?KB_PROCESS
-  737: 					{            
-  738: 					g_variable.one_key_press_wait_release_timer = 10;     
-003296 904CF8            MOV     DPTR,#g_variable+039H
-003299 740A              MOV     A,#0AH
-00329B F0                MOVX    @DPTR,A
-  739: 					}	
-00329C         ?C0186?KB_PROCESS:
-  740: 				temp = HID_KEY_NULL;
-00329C E4                CLR     A
-00329D 904F06            MOV     DPTR,#temp
-0032A0 F0                MOVX    @DPTR,A
-  741: 				}				
-0032A1         ?C0185?KB_PROCESS:
-  742: 				temp = HID_MULTIKEY_AC_SEARCH;
-0032A1 904F06            MOV     DPTR,#temp
-0032A4 74D5              MOV     A,#0D5H
-0032A6 F0                MOVX    @DPTR,A
-  743: 				break;				
-0032A7 615E              AJMP    ?C0171?KB_PROCESS
-  744: 			case HID_KEY_F5: 
-0032A9         ?C0187?KB_PROCESS:
-  745: 				if((g_variable.system_mode == OSMODE_IOS) ||(g_variable.system_mode == OSMODE_MAC))
-0032A9 904CC1            MOV     DPTR,#g_variable+02H
-0032AC E0                MOVX    A,@DPTR
-0032AD FF                MOV     R7,A
-0032AE 6403              XRL     A,#03H
-0032B0 6004              JZ      ?C0189?KB_PROCESS
-0032B2 EF                MOV     A,R7
-0032B3 B4020A            CJNE    A,#02H,?C0188?KB_PROCESS
-0032B6         ?C0189?KB_PROCESS:
-  746: 					kb_combination_key_press(state,KS_SEL_LCTRL,HID_KEY_SPACE);
-0032B6 AF06              MOV     R7,AR6
-0032B8 7B2C              MOV     R3,#02CH
-0032BA 7D01              MOV     R5,#01H
-0032BC 1159              ACALL   _kb_combination_key_press
-0032BE 8019              SJMP    ?C0190?KB_PROCESS
-0032C0         ?C0188?KB_PROCESS:
-  747: 				else if(g_variable.system_mode == OSMODE_ANDROID)
-0032C0 904CC1            MOV     DPTR,#g_variable+02H
-0032C3 E0                MOVX    A,@DPTR
-0032C4 B4010A            CJNE    A,#01H,?C0191?KB_PROCESS
-  748: 					kb_combination_key_press(state,KS_SEL_LSHIFT,HID_KEY_SPACE);
-0032C7 AF06              MOV     R7,AR6
-0032C9 7B2C              MOV     R3,#02CH
-0032CB 7D02              MOV     R5,#02H
-0032CD 1159              ACALL   _kb_combination_key_press
-0032CF 8008              SJMP    ?C0190?KB_PROCESS
-0032D1         ?C0191?KB_PROCESS:
-  749: 				else
-  750: 					kb_combination_key_press(state,KS_SEL_LGUI,HID_KEY_SPACE);
-0032D1 AF06              MOV     R7,AR6
-0032D3 7B2C              MOV     R3,#02CH
-0032D5 7D08              MOV     R5,#08H
-0032D7 1159              ACALL   _kb_combination_key_press
-0032D9         ?C0190?KB_PROCESS:
-  751: 				
-  752: 				if(state & 1)
-0032D9 EE                MOV     A,R6
-0032DA 30E006            JNB     ACC.0,?C0193?KB_PROCESS
-  753: 				{						
-  754: 					g_variable.one_key_press_wait_release_timer = 10;
-0032DD 904CF8            MOV     DPTR,#g_variable+039H
-0032E0 740A              MOV     A,#0AH
-0032E2 F0                MOVX    @DPTR,A
-  755: 				}
-0032E3         ?C0193?KB_PROCESS:
-  756: 				temp = HID_KEY_NULL;
-0032E3 E4                CLR     A
-0032E4 904F06            MOV     DPTR,#temp
-0032E7 F0                MOVX    @DPTR,A
-  757: 				break;
-0032E8 8074              SJMP    ?C0171?KB_PROCESS
-  758: 			case HID_KEY_F6:
-0032EA         ?C0194?KB_PROCESS:
-  759: 				if(g_variable.system_mode == OSMODE_IOS)
-0032EA 904CC1            MOV     DPTR,#g_variable+02H
-0032ED E0                MOVX    A,@DPTR
-0032EE B40317            CJNE    A,#03H,?C0195?KB_PROCESS
-  760: 				{
-  761: 				kb_combination_key_press(state,KS_SEL_LGUI|KS_SEL_LSHIFT,HID_KEY_3);
-0032F1 AF06              MOV     R7,AR6
-0032F3 7B20              MOV     R3,#020H
-0032F5 7D0A              MOV     R5,#0AH
-0032F7 1159              ACALL   _kb_combination_key_press
-  762: 					if(state & 1)    
-0032F9 EE                MOV     A,R6
-0032FA 30E006            JNB     ACC.0,?C0196?KB_PROCESS
-  763: 					{            
-  764: 					g_variable.one_key_press_wait_release_timer = 10;     
-0032FD 904CF8            MOV     DPTR,#g_variable+039H
-003300 740A              MOV     A,#0AH
-003302 F0                MOVX    @DPTR,A
-  765: 					}	
-003303         ?C0196?KB_PROCESS:
-  766: 				temp = HID_KEY_NULL;
-003303 E4                CLR     A
-003304 904F06            MOV     DPTR,#temp
-003307 F0                MOVX    @DPTR,A
-  767: 				}
-003308         ?C0195?KB_PROCESS:
-  768: 				if(g_variable.system_mode == OSMODE_MAC)
-003308 904CC1            MOV     DPTR,#g_variable+02H
-00330B E0                MOVX    A,@DPTR
-00330C B40219            CJNE    A,#02H,?C0197?KB_PROCESS
-  769: 				{
-  770: 					kb_combination_key_press(state,KS_SEL_LGUI|KS_SEL_LSHIFT,HID_KEY_3);
-00330F AF06              MOV     R7,AR6
-003311 7B20              MOV     R3,#020H
-003313 7D0A              MOV     R5,#0AH
-003315 1159              ACALL   _kb_combination_key_press
-  771: 					if(state & 1)    
-003317 EF                MOV     A,R7
-003318 30E006            JNB     ACC.0,?C0198?KB_PROCESS
-  772: 					{            
-  773: 					g_variable.one_key_press_wait_release_timer = 10;     
-00331B 904CF8            MOV     DPTR,#g_variable+039H
-00331E 740A              MOV     A,#0AH
-003320 F0                MOVX    @DPTR,A
-  774: 					}	
-003321         ?C0198?KB_PROCESS:
-  775: 				temp = HID_KEY_NULL;
-003321 E4                CLR     A
-003322 904F06            MOV     DPTR,#temp
-003325 F0                MOVX    @DPTR,A
-  776: 				}				
-003326 8036              SJMP    ?C0171?KB_PROCESS
-003328         ?C0197?KB_PROCESS:
-  777: 				else
-  778: 					temp = HID_KEY_PRINT_SCREEN;
-003328 904F06            MOV     DPTR,#temp
-00332B 7446              MOV     A,#046H
-00332D F0                MOVX    @DPTR,A
-  779: 				break;	
-00332E 802E              SJMP    ?C0171?KB_PROCESS
-  780: 			case HID_KEY_F7:
-003330         ?C0200?KB_PROCESS:
-  781: 				temp = HID_MULTIKEY_PRE_TRACK;
-003330 904F06            MOV     DPTR,#temp
-003333 74F4              MOV     A,#0F4H
-003335 F0                MOVX    @DPTR,A
-  782: 				break;	
-003336 8026              SJMP    ?C0171?KB_PROCESS
-  783: 			case HID_KEY_F8:
-003338         ?C0201?KB_PROCESS:
-  784: 				temp = HID_MULTIKEY_PALY;
-003338 904F06            MOV     DPTR,#temp
-00333B 74F2              MOV     A,#0F2H
-00333D F0                MOVX    @DPTR,A
-  785: 				break;
-00333E 801E              SJMP    ?C0171?KB_PROCESS
-  786: 			case HID_KEY_F9:
-003340         ?C0202?KB_PROCESS:
-  787: 				temp = HID_MULTIKEY_NEXT_TRACK;
-003340 904F06            MOV     DPTR,#temp
-003343 74F5              MOV     A,#0F5H
-003345 F0                MOVX    @DPTR,A
-  788: 				break;
-003346 8016              SJMP    ?C0171?KB_PROCESS
-  789: 			case HID_KEY_F10:
-003348         ?C0203?KB_PROCESS:
-  790: 				temp = HID_MULTIKEY_MUTE;
-003348 904F06            MOV     DPTR,#temp
-00334B 74F8              MOV     A,#0F8H
-00334D F0                MOVX    @DPTR,A
-  791: 				break;
-00334E 800E              SJMP    ?C0171?KB_PROCESS
-  792: 			case HID_KEY_F11:
-003350         ?C0204?KB_PROCESS:
-  793: 				temp = HID_MULTIKEY_VOL_DOWN;
-003350 904F06            MOV     DPTR,#temp
-003353 74F6              MOV     A,#0F6H
-003355 F0                MOVX    @DPTR,A
-  794: 				break;
-003356 8006              SJMP    ?C0171?KB_PROCESS
-  795: 			case HID_KEY_F12:
-003358         ?C0205?KB_PROCESS:
-  796: 				temp = HID_MULTIKEY_VOL_UP;
-003358 904F06            MOV     DPTR,#temp
-00335B 74F7              MOV     A,#0F7H
-00335D F0                MOVX    @DPTR,A
-  797: 				break;			
-  798: 			default :
-  799: 				break;
-  800: 		}
-  801: 	}
-00335E         ?C0171?KB_PROCESS:
-  802: 
-  803: 	return temp;
-00335E 904F06            MOV     DPTR,#temp
-003361 E0                MOVX    A,@DPTR
-003362 FF                MOV     R7,A
-  804: }
-003363 22                RET     
+  677: 				}
+  678: 			}	
+00317F 805A              SJMP    ?C0150?KB_PROCESS
+003181         ?C0151?KB_PROCESS:
+  679: 		else if(key_value == HID_KEY_ESC)
+003181 EE                MOV     A,R6
+003182 6429              XRL     A,#029H
+003184 7055              JNZ     ?C0150?KB_PROCESS
+  680: 			{
+  681: 				if(state & 1)
+003186 EC                MOV     A,R4
+003187 30E04C            JNB     ACC.0,?C0166?KB_PROCESS
+  682: 				{						
+  683: 					if(fn_lock_flag)
+00318A 904DE8            MOV     DPTR,#fn_lock_flag
+00318D E0                MOVX    A,@DPTR
+00318E 6004              JZ      ?C0167?KB_PROCESS
+  684: 					{
+  685: 						fn_lock_flag = 0;
+003190 E4                CLR     A
+003191 F0                MOVX    @DPTR,A
+  686: 					}
+003192 8006              SJMP    ?C0168?KB_PROCESS
+003194         ?C0167?KB_PROCESS:
+  687: 					else
+  688: 						fn_lock_flag = 1;
+003194 904DE8            MOV     DPTR,#fn_lock_flag
+003197 7401              MOV     A,#01H
+003199 F0                MOVX    @DPTR,A
+00319A         ?C0168?KB_PROCESS:
+  689: 						
+  690: 					if(g_variable.current_device_num == 0 || g_variable.current_device_num == 0xfe)
+00319A 904CC3            MOV     DPTR,#g_variable+04H
+00319D E0                MOVX    A,@DPTR
+00319E FF                MOV     R7,A
+00319F 6003              JZ      ?C0170?KB_PROCESS
+0031A1 B4FE08            CJNE    A,#0FEH,?C0169?KB_PROCESS
+0031A4         ?C0170?KB_PROCESS:
+  691: 					{
+  692: 						g_variable.update_eeprom_flag = EEPROM_STORE_TYPE_G24;
+0031A4 904CBF            MOV     DPTR,#g_variable
+0031A7 7402              MOV     A,#02H
+0031A9 F0                MOVX    @DPTR,A
+  693: 					}
+0031AA 802A              SJMP    ?C0166?KB_PROCESS
+0031AC         ?C0169?KB_PROCESS:
+  694: 					else	if (g_variable.current_device_num <= 3 && g_variable.current_device_num >= 1)
+0031AC EF                MOV     A,R7
+0031AD D3                SETB    C
+0031AE 9403              SUBB    A,#03H
+0031B0 5024              JNC     ?C0166?KB_PROCESS
+0031B2 EF                MOV     A,R7
+0031B3 C3                CLR     C
+0031B4 9401              SUBB    A,#01H
+0031B6 401E              JC      ?C0166?KB_PROCESS
+  695: 					{
+  696: 						bd_key_record_list[g_variable.current_device_num - 1].fn_lock = fn_lock_flag;
+0031B8 904DE8            MOV     DPTR,#fn_lock_flag
+0031BB E0                MOVX    A,@DPTR
+0031BC FF                MOV     R7,A
+0031BD 904CC3            MOV     DPTR,#g_variable+04H
+0031C0 E0                MOVX    A,@DPTR
+0031C1 75F01F            MOV     B,#01FH
+0031C4 A4                MUL     AB
+0031C5 24EF              ADD     A,#LOW bd_key_record_list-01H
+0031C7 F582              MOV     DPL,A
+0031C9 E4                CLR     A
+0031CA 344D              ADDC    A,#HIGH bd_key_record_list-01H
+0031CC F583              MOV     DPH,A
+0031CE EF                MOV     A,R7
+0031CF F0                MOVX    @DPTR,A
+  697: 						g_variable.update_eeprom_flag = EEPROM_STORE_TYPE_BT;
+0031D0 904CBF            MOV     DPTR,#g_variable
+0031D3 7403              MOV     A,#03H
+0031D5 F0                MOVX    @DPTR,A
+  698: 					}
+  699: 				}
+0031D6         ?C0166?KB_PROCESS:
+  700: 				temp = HID_KEY_NULL;
+0031D6 E4                CLR     A
+0031D7 904F06            MOV     DPTR,#temp
+0031DA F0                MOVX    @DPTR,A
+  701: 			}					
+  702: 	}
+0031DB         ?C0150?KB_PROCESS:
+  703: 	if((!fast_connect_flag)  && ((!fn_flag && !fn_lock_flag) || (fn_flag == 1 && fn_lock_flag == 1)))
+0031DB 904E57            MOV     DPTR,#fast_connect_flag
+0031DE E0                MOVX    A,@DPTR
+0031DF 6002              JZ      $ + 4H
+0031E1 6171              AJMP    ?C0173?KB_PROCESS
+0031E3 904DE3            MOV     DPTR,#fn_flag
+0031E6 E0                MOVX    A,@DPTR
+0031E7 7006              JNZ     ?C0175?KB_PROCESS
+0031E9 904DE8            MOV     DPTR,#fn_lock_flag
+0031EC E0                MOVX    A,@DPTR
+0031ED 6014              JZ      ?C0174?KB_PROCESS
+0031EF         ?C0175?KB_PROCESS:
+0031EF 904DE3            MOV     DPTR,#fn_flag
+0031F2 E0                MOVX    A,@DPTR
+0031F3 6401              XRL     A,#01H
+0031F5 6002              JZ      $ + 4H
+0031F7 6171              AJMP    ?C0173?KB_PROCESS
+0031F9 904DE8            MOV     DPTR,#fn_lock_flag
+0031FC E0                MOVX    A,@DPTR
+0031FD 6401              XRL     A,#01H
+0031FF 6002              JZ      $ + 4H
+003201 6171              AJMP    ?C0173?KB_PROCESS
+003203         ?C0174?KB_PROCESS:
+  704: 	{
+  705: 		switch (key_value)
+003203 EE                MOV     A,R6
+003204 24C6              ADD     A,#0C6H
+003206 B40C00            CJNE    A,#0CH,?C0272?KB_PROCESS
+003209         ?C0272?KB_PROCESS:
+003209 4002              JC      $ + 4H
+00320B 6171              AJMP    ?C0173?KB_PROCESS
+00320D 90321B            MOV     DPTR,#0321BH
+003210 75F003            MOV     B,#03H
+003213 A4                MUL     AB
+003214 C583              XCH     A,DPH
+003216 25F0              ADD     A,B
+003218 C583              XCH     A,DPH
+00321A 73                JMP     @A+DPTR
+00321B         ?C0273?KB_PROCESS:
+00321B 02323F            LJMP    ?C0177?KB_PROCESS
+00321E 023247            LJMP    ?C0178?KB_PROCESS
+003221 02324F            LJMP    ?C0179?KB_PROCESS
+003224 023296            LJMP    ?C0186?KB_PROCESS
+003227 0232BC            LJMP    ?C0189?KB_PROCESS
+00322A 0232FD            LJMP    ?C0196?KB_PROCESS
+00322D 023343            LJMP    ?C0202?KB_PROCESS
+003230 02334B            LJMP    ?C0203?KB_PROCESS
+003233 023353            LJMP    ?C0204?KB_PROCESS
+003236 02335B            LJMP    ?C0205?KB_PROCESS
+003239 023363            LJMP    ?C0206?KB_PROCESS
+00323C 02336B            LJMP    ?C0207?KB_PROCESS
+  706: 		{ 	
+  707: 			case HID_KEY_F1:
+00323F         ?C0177?KB_PROCESS:
+  708: 				temp = HID_MULTIKEY_LIGHT_DOWN;	
+00323F 904F06            MOV     DPTR,#temp
+003242 74D7              MOV     A,#0D7H
+003244 F0                MOVX    @DPTR,A
+  709: 				break;
+003245 6171              AJMP    ?C0173?KB_PROCESS
+  710: 			case HID_KEY_F2:
+003247         ?C0178?KB_PROCESS:
+  711: 				temp = HID_MULTIKEY_LIGHT_UP;
+003247 904F06            MOV     DPTR,#temp
+00324A 74D8              MOV     A,#0D8H
+00324C F0                MOVX    @DPTR,A
+  712: 				break;
+00324D 6171              AJMP    ?C0173?KB_PROCESS
+  713: 			case HID_KEY_F3:
+00324F         ?C0179?KB_PROCESS:
+  714: 				if(g_variable.system_mode == OSMODE_MAC)
+00324F 904CC1            MOV     DPTR,#g_variable+02H
+003252 E0                MOVX    A,@DPTR
+003253 FE                MOV     R6,A
+003254 B40219            CJNE    A,#02H,?C0180?KB_PROCESS
+  715: 				{
+  716: 					kb_combination_key_press(state,KS_SEL_LGUI,HID_KEY_TAB);
+003257 AF04              MOV     R7,AR4
+003259 7B2B              MOV     R3,#02BH
+00325B 7D08              MOV     R5,#08H
+00325D 1159              ACALL   _kb_combination_key_press
+  717: 					if(state & 1)
+00325F EC                MOV     A,R4
+003260 30E006            JNB     ACC.0,?C0181?KB_PROCESS
+  718: 					{						
+  719: 						g_variable.one_key_press_wait_release_timer = 10;
+003263 904CF8            MOV     DPTR,#g_variable+039H
+003266 740A              MOV     A,#0AH
+003268 F0                MOVX    @DPTR,A
+  720: 					}
+003269         ?C0181?KB_PROCESS:
+  721: 					temp = HID_KEY_NULL;
+003269 E4                CLR     A
+00326A 904F06            MOV     DPTR,#temp
+00326D F0                MOVX    @DPTR,A
+  722: 				}				
+00326E 6171              AJMP    ?C0173?KB_PROCESS
+003270         ?C0180?KB_PROCESS:
+  723: 				else if((g_variable.system_mode == OSMODE_ANDROID)||(g_variable.system_mode == OSMODE_WINDOWS))
+003270 EE                MOV     A,R6
+003271 6401              XRL     A,#01H
+003273 6008              JZ      ?C0184?KB_PROCESS
+003275 904CC1            MOV     DPTR,#g_variable+02H
+003278 E0                MOVX    A,@DPTR
+003279 6002              JZ      $ + 4H
+00327B 6171              AJMP    ?C0173?KB_PROCESS
+00327D         ?C0184?KB_PROCESS:
+  724: 				{
+  725: 					kb_combination_key_press(state,KS_SEL_LALT,HID_KEY_TAB);
+00327D AF04              MOV     R7,AR4
+00327F 7B2B              MOV     R3,#02BH
+003281 7D04              MOV     R5,#04H
+003283 1159              ACALL   _kb_combination_key_press
+  726: 					if(state & 1)
+003285 EC                MOV     A,R4
+003286 30E006            JNB     ACC.0,?C0185?KB_PROCESS
+  727: 					{						
+  728: 						g_variable.one_key_press_wait_release_timer = 10;
+003289 904CF8            MOV     DPTR,#g_variable+039H
+00328C 740A              MOV     A,#0AH
+00328E F0                MOVX    @DPTR,A
+  729: 					}
+00328F         ?C0185?KB_PROCESS:
+  730: 					temp = HID_KEY_NULL;
+00328F E4                CLR     A
+003290 904F06            MOV     DPTR,#temp
+003293 F0                MOVX    @DPTR,A
+  731: 				}
+  732: 				
+  733: 				break;
+003294 6171              AJMP    ?C0173?KB_PROCESS
+  734: 			case HID_KEY_F4:
+003296         ?C0186?KB_PROCESS:
+  735: 				if(g_variable.system_mode == OSMODE_MAC)
+003296 904CC1            MOV     DPTR,#g_variable+02H
+003299 E0                MOVX    A,@DPTR
+00329A B40217            CJNE    A,#02H,?C0187?KB_PROCESS
+  736: 				{
+  737: 					kb_combination_key_press(state,KS_SEL_LGUI|KS_SEL_LCTRL,HID_KEY_SPACE);
+00329D AF04              MOV     R7,AR4
+00329F 7B2C              MOV     R3,#02CH
+0032A1 7D09              MOV     R5,#09H
+0032A3 1159              ACALL   _kb_combination_key_press
+  738: 					if(state & 1)    
+0032A5 EC                MOV     A,R4
+0032A6 30E006            JNB     ACC.0,?C0188?KB_PROCESS
+  739: 					{            
+  740: 					g_variable.one_key_press_wait_release_timer = 10;     
+0032A9 904CF8            MOV     DPTR,#g_variable+039H
+0032AC 740A              MOV     A,#0AH
+0032AE F0                MOVX    @DPTR,A
+  741: 					}	
+0032AF         ?C0188?KB_PROCESS:
+  742: 				temp = HID_KEY_NULL;
+0032AF E4                CLR     A
+0032B0 904F06            MOV     DPTR,#temp
+0032B3 F0                MOVX    @DPTR,A
+  743: 				}				
+0032B4         ?C0187?KB_PROCESS:
+  744: 				temp = HID_MULTIKEY_AC_SEARCH;
+0032B4 904F06            MOV     DPTR,#temp
+0032B7 74D5              MOV     A,#0D5H
+0032B9 F0                MOVX    @DPTR,A
+  745: 				break;				
+0032BA 6171              AJMP    ?C0173?KB_PROCESS
+  746: 			case HID_KEY_F5: 
+0032BC         ?C0189?KB_PROCESS:
+  747: 				if((g_variable.system_mode == OSMODE_IOS) ||(g_variable.system_mode == OSMODE_MAC))
+0032BC 904CC1            MOV     DPTR,#g_variable+02H
+0032BF E0                MOVX    A,@DPTR
+0032C0 FF                MOV     R7,A
+0032C1 6403              XRL     A,#03H
+0032C3 6004              JZ      ?C0191?KB_PROCESS
+0032C5 EF                MOV     A,R7
+0032C6 B4020A            CJNE    A,#02H,?C0190?KB_PROCESS
+0032C9         ?C0191?KB_PROCESS:
+  748: 					kb_combination_key_press(state,KS_SEL_LCTRL,HID_KEY_SPACE);
+0032C9 AF04              MOV     R7,AR4
+0032CB 7B2C              MOV     R3,#02CH
+0032CD 7D01              MOV     R5,#01H
+0032CF 1159              ACALL   _kb_combination_key_press
+0032D1 8019              SJMP    ?C0192?KB_PROCESS
+0032D3         ?C0190?KB_PROCESS:
+  749: 				else if(g_variable.system_mode == OSMODE_ANDROID)
+0032D3 904CC1            MOV     DPTR,#g_variable+02H
+0032D6 E0                MOVX    A,@DPTR
+0032D7 B4010A            CJNE    A,#01H,?C0193?KB_PROCESS
+  750: 					kb_combination_key_press(state,KS_SEL_LSHIFT,HID_KEY_SPACE);
+0032DA AF04              MOV     R7,AR4
+0032DC 7B2C              MOV     R3,#02CH
+0032DE 7D02              MOV     R5,#02H
+0032E0 1159              ACALL   _kb_combination_key_press
+0032E2 8008              SJMP    ?C0192?KB_PROCESS
+0032E4         ?C0193?KB_PROCESS:
+  751: 				else
+  752: 					kb_combination_key_press(state,KS_SEL_LGUI,HID_KEY_SPACE);
+0032E4 AF04              MOV     R7,AR4
+0032E6 7B2C              MOV     R3,#02CH
+0032E8 7D08              MOV     R5,#08H
+0032EA 1159              ACALL   _kb_combination_key_press
+0032EC         ?C0192?KB_PROCESS:
+  753: 				
+  754: 				if(state & 1)
+0032EC EC                MOV     A,R4
+0032ED 30E006            JNB     ACC.0,?C0195?KB_PROCESS
+  755: 				{						
+  756: 					g_variable.one_key_press_wait_release_timer = 10;
+0032F0 904CF8            MOV     DPTR,#g_variable+039H
+0032F3 740A              MOV     A,#0AH
+0032F5 F0                MOVX    @DPTR,A
+  757: 				}
+0032F6         ?C0195?KB_PROCESS:
+  758: 				temp = HID_KEY_NULL;
+0032F6 E4                CLR     A
+0032F7 904F06            MOV     DPTR,#temp
+0032FA F0                MOVX    @DPTR,A
+  759: 				break;
+0032FB 8074              SJMP    ?C0173?KB_PROCESS
+  760: 			case HID_KEY_F6:
+0032FD         ?C0196?KB_PROCESS:
+  761: 				if(g_variable.system_mode == OSMODE_IOS)
+0032FD 904CC1            MOV     DPTR,#g_variable+02H
+003300 E0                MOVX    A,@DPTR
+003301 B40317            CJNE    A,#03H,?C0197?KB_PROCESS
+  762: 				{
+  763: 				kb_combination_key_press(state,KS_SEL_LGUI|KS_SEL_LSHIFT,HID_KEY_3);
+003304 AF04              MOV     R7,AR4
+003306 7B20              MOV     R3,#020H
+003308 7D0A              MOV     R5,#0AH
+00330A 1159              ACALL   _kb_combination_key_press
+  764: 					if(state & 1)    
+00330C EC                MOV     A,R4
+00330D 30E006            JNB     ACC.0,?C0198?KB_PROCESS
+  765: 					{            
+  766: 					g_variable.one_key_press_wait_release_timer = 10;     
+003310 904CF8            MOV     DPTR,#g_variable+039H
+003313 740A              MOV     A,#0AH
+003315 F0                MOVX    @DPTR,A
+  767: 					}	
+003316         ?C0198?KB_PROCESS:
+  768: 				temp = HID_KEY_NULL;
+003316 E4                CLR     A
+003317 904F06            MOV     DPTR,#temp
+00331A F0                MOVX    @DPTR,A
+  769: 				}
+00331B         ?C0197?KB_PROCESS:
+  770: 				if(g_variable.system_mode == OSMODE_MAC)
+00331B 904CC1            MOV     DPTR,#g_variable+02H
+00331E E0                MOVX    A,@DPTR
+00331F B40219            CJNE    A,#02H,?C0199?KB_PROCESS
+  771: 				{
+  772: 					kb_combination_key_press(state,KS_SEL_LGUI|KS_SEL_LSHIFT,HID_KEY_3);
+003322 AF04              MOV     R7,AR4
+003324 7B20              MOV     R3,#020H
+003326 7D0A              MOV     R5,#0AH
+003328 1159              ACALL   _kb_combination_key_press
+  773: 					if(state & 1)    
+00332A EF                MOV     A,R7
+00332B 30E006            JNB     ACC.0,?C0200?KB_PROCESS
+  774: 					{            
+  775: 					g_variable.one_key_press_wait_release_timer = 10;     
+00332E 904CF8            MOV     DPTR,#g_variable+039H
+003331 740A              MOV     A,#0AH
+003333 F0                MOVX    @DPTR,A
+  776: 					}	
+003334         ?C0200?KB_PROCESS:
+  777: 				temp = HID_KEY_NULL;
+003334 E4                CLR     A
+003335 904F06            MOV     DPTR,#temp
+003338 F0                MOVX    @DPTR,A
+  778: 				}				
+003339 8036              SJMP    ?C0173?KB_PROCESS
+00333B         ?C0199?KB_PROCESS:
+  779: 				else
+  780: 					temp = HID_KEY_PRINT_SCREEN;
+00333B 904F06            MOV     DPTR,#temp
+00333E 7446              MOV     A,#046H
+003340 F0                MOVX    @DPTR,A
+  781: 				break;	
+003341 802E              SJMP    ?C0173?KB_PROCESS
+  782: 			case HID_KEY_F7:
+003343         ?C0202?KB_PROCESS:
+  783: 				temp = HID_MULTIKEY_PRE_TRACK;
+003343 904F06            MOV     DPTR,#temp
+003346 74F4              MOV     A,#0F4H
+003348 F0                MOVX    @DPTR,A
+  784: 				break;	
+003349 8026              SJMP    ?C0173?KB_PROCESS
+  785: 			case HID_KEY_F8:
+00334B         ?C0203?KB_PROCESS:
+  786: 				temp = HID_MULTIKEY_PALY;
+00334B 904F06            MOV     DPTR,#temp
+00334E 74F2              MOV     A,#0F2H
+003350 F0                MOVX    @DPTR,A
+  787: 				break;
+003351 801E              SJMP    ?C0173?KB_PROCESS
+  788: 			case HID_KEY_F9:
+003353         ?C0204?KB_PROCESS:
+  789: 				temp = HID_MULTIKEY_NEXT_TRACK;
+003353 904F06            MOV     DPTR,#temp
+003356 74F5              MOV     A,#0F5H
+003358 F0                MOVX    @DPTR,A
+  790: 				break;
+003359 8016              SJMP    ?C0173?KB_PROCESS
+  791: 			case HID_KEY_F10:
+00335B         ?C0205?KB_PROCESS:
+  792: 				temp = HID_MULTIKEY_MUTE;
+00335B 904F06            MOV     DPTR,#temp
+00335E 74F8              MOV     A,#0F8H
+003360 F0                MOVX    @DPTR,A
+  793: 				break;
+003361 800E              SJMP    ?C0173?KB_PROCESS
+  794: 			case HID_KEY_F11:
+003363         ?C0206?KB_PROCESS:
+  795: 				temp = HID_MULTIKEY_VOL_DOWN;
+003363 904F06            MOV     DPTR,#temp
+003366 74F6              MOV     A,#0F6H
+003368 F0                MOVX    @DPTR,A
+  796: 				break;
+003369 8006              SJMP    ?C0173?KB_PROCESS
+  797: 			case HID_KEY_F12:
+00336B         ?C0207?KB_PROCESS:
+  798: 				temp = HID_MULTIKEY_VOL_UP;
+00336B 904F06            MOV     DPTR,#temp
+00336E 74F7              MOV     A,#0F7H
+003370 F0                MOVX    @DPTR,A
+  799: 				break;			
+  800: 			default :
+  801: 				break;
+  802: 		}
+  803: 	}
+003371         ?C0173?KB_PROCESS:
+  804: 
+  805: 	return temp;
+003371 904F06            MOV     DPTR,#temp
+003374 E0                MOVX    A,@DPTR
+003375 FF                MOV     R7,A
+  806: }
+003376 22                RET     
 ----- FUNCTION _key_fn_function (END) -------
 
 
@@ -9888,54 +9900,54 @@
   190: {
   191: 	byte i = 0;
   192: 	
-003364 E4                CLR     A
-003365 904F07            MOV     DPTR,#i
-003368 F0                MOVX    @DPTR,A
+003377 E4                CLR     A
+003378 904F07            MOV     DPTR,#i
+00337B F0                MOVX    @DPTR,A
   193: 	for (i=0; i<8; i++) {
-003369 F0                MOVX    @DPTR,A
-00336A         ?C0028?KEYSCAN:
-00336A 904F07            MOV     DPTR,#i
-00336D E0                MOVX    A,@DPTR
-00336E FF                MOV     R7,A
-00336F C3                CLR     C
-003370 9408              SUBB    A,#08H
-003372 500C              JNC     ?C0031?KEYSCAN
+00337C F0                MOVX    @DPTR,A
+00337D         ?C0028?KEYSCAN:
+00337D 904F07            MOV     DPTR,#i
+003380 E0                MOVX    A,@DPTR
+003381 FF                MOV     R7,A
+003382 C3                CLR     C
+003383 9408              SUBB    A,#08H
+003385 500C              JNC     ?C0031?KEYSCAN
   194: 		GPIO_SetInput(i, 0);
-003374 C205              CLR     ?_GPIO_SetInput?BIT
-003376 7181              ACALL   _GPIO_SetInput
+003387 C205              CLR     ?_GPIO_SetInput?BIT
+003389 7194              ACALL   _GPIO_SetInput
   195: 	}
-003378 904F07            MOV     DPTR,#i
-00337B E0                MOVX    A,@DPTR
-00337C 04                INC     A
-00337D F0                MOVX    @DPTR,A
-00337E 80EA              SJMP    ?C0028?KEYSCAN
+00338B 904F07            MOV     DPTR,#i
+00338E E0                MOVX    A,@DPTR
+00338F 04                INC     A
+003390 F0                MOVX    @DPTR,A
+003391 80EA              SJMP    ?C0028?KEYSCAN
   196: }
-003380         ?C0031?KEYSCAN:
-003380 22                RET     
+003393         ?C0031?KEYSCAN:
+003393 22                RET     
 ----- FUNCTION ksRawInitialize (END) -------
 
 
 ----- FUNCTION _GPIO_SetInput (BEGIN) -----
 ;---- Variable 'gpio_num' assigned to Register 'R4' ----
-003381 AC07              MOV     R4,AR7
-003383 EC                MOV     A,R4
-003384 F4                CPL     A
-003385 6017              JZ      ?C0015?GPIO
-003387         ?C0014?GPIO:
-003387 AF04              MOV     R7,AR4
-003389 A205              MOV     C,st
-00338B 9203              MOV     ?_GPIO_SetPd?BIT,C
-00338D 71D6              ACALL   _GPIO_SetPd
-00338F AF04              MOV     R7,AR4
-003391 A205              MOV     C,st
-003393 B3                CPL     C
-003394 9202              MOV     ?_GPIO_SetPu?BIT,C
-003396 71C5              ACALL   _GPIO_SetPu
-003398 AF04              MOV     R7,AR4
-00339A C204              CLR     ?_GPIO_Setoe?BIT
-00339C 71E7              ACALL   _GPIO_Setoe
-00339E         ?C0015?GPIO:
-00339E 22                RET     
+003394 AC07              MOV     R4,AR7
+003396 EC                MOV     A,R4
+003397 F4                CPL     A
+003398 6017              JZ      ?C0015?GPIO
+00339A         ?C0014?GPIO:
+00339A AF04              MOV     R7,AR4
+00339C A205              MOV     C,st
+00339E 9203              MOV     ?_GPIO_SetPd?BIT,C
+0033A0 71E9              ACALL   _GPIO_SetPd
+0033A2 AF04              MOV     R7,AR4
+0033A4 A205              MOV     C,st
+0033A6 B3                CPL     C
+0033A7 9202              MOV     ?_GPIO_SetPu?BIT,C
+0033A9 71D8              ACALL   _GPIO_SetPu
+0033AB AF04              MOV     R7,AR4
+0033AD C204              CLR     ?_GPIO_Setoe?BIT
+0033AF 71FA              ACALL   _GPIO_Setoe
+0033B1         ?C0015?GPIO:
+0033B1 22                RET     
 ----- FUNCTION _GPIO_SetInput (END) -------
 
 
@@ -9945,170 +9957,170 @@
    84: {
    85: 	System_IIC_clk_setup();
    86: 	KS_Initialize();
-00339F 9159              ACALL   System_IIC_clk_setup
+0033B2 916C              ACALL   System_IIC_clk_setup
    87: 	if(!g_variable.switch_flag)
-0033A1 1217B0            LCALL   KS_Initialize
+0033B4 1217B0            LCALL   KS_Initialize
    88: 	{
-0033A4 904D05            MOV     DPTR,#g_variable+046H
-0033A7 E0                MOVX    A,@DPTR
-0033A8 701A              JNZ     ?C0009?SYS
+0033B7 904D05            MOV     DPTR,#g_variable+046H
+0033BA E0                MOVX    A,@DPTR
+0033BB 701A              JNZ     ?C0009?SYS
    89: 	LED_all_shutdown();
    90: 	GPIO_SetInput(BT1_BUTTON_GPIO, 0);
-0033AA 121FD0            LCALL   LED_all_shutdown
+0033BD 121FD0            LCALL   LED_all_shutdown
    91: 	GPIO_SetInput(BT2_BUTTON_GPIO, 0);
-0033AD C205              CLR     ?_GPIO_SetInput?BIT
-0033AF 7F1A              MOV     R7,#01AH
-0033B1 7181              ACALL   _GPIO_SetInput
+0033C0 C205              CLR     ?_GPIO_SetInput?BIT
+0033C2 7F1A              MOV     R7,#01AH
+0033C4 7194              ACALL   _GPIO_SetInput
    92: 	GPIO_SetInput(G24_BUTTON_GPIO, 0);
-0033B3 C205              CLR     ?_GPIO_SetInput?BIT
-0033B5 7F15              MOV     R7,#015H
-0033B7 7181              ACALL   _GPIO_SetInput
+0033C6 C205              CLR     ?_GPIO_SetInput?BIT
+0033C8 7F15              MOV     R7,#015H
+0033CA 7194              ACALL   _GPIO_SetInput
    93: 	g_variable.switch_flag = 0;
-0033B9 C205              CLR     ?_GPIO_SetInput?BIT
-0033BB 7F17              MOV     R7,#017H
-0033BD 7181              ACALL   _GPIO_SetInput
+0033CC C205              CLR     ?_GPIO_SetInput?BIT
+0033CE 7F17              MOV     R7,#017H
+0033D0 7194              ACALL   _GPIO_SetInput
    94: 	}
-0033BF E4                CLR     A
-0033C0 904D05            MOV     DPTR,#g_variable+046H
-0033C3 F0                MOVX    @DPTR,A
+0033D2 E4                CLR     A
+0033D3 904D05            MOV     DPTR,#g_variable+046H
+0033D6 F0                MOVX    @DPTR,A
    95: }
    96: 
-0033C4         ?C0009?SYS:
-0033C4 22                RET     
+0033D7         ?C0009?SYS:
+0033D7 22                RET     
 ----- FUNCTION System_Hardware_init (END) -------
 
 
 ----- FUNCTION _GPIO_SetPu (BEGIN) -----
 ;---- Variable 'gpio_num' assigned to Register 'R7' ----
-0033C5 EF                MOV     A,R7
-0033C6 F4                CPL     A
-0033C7 600C              JZ      ?C0009?GPIO
-0033C9         ?C0008?GPIO:
-0033C9 7B01              MOV     R3,#01H
-0033CB 7A80              MOV     R2,#080H
-0033CD 7978              MOV     R1,#078H
-0033CF A202              MOV     C,bit_val
-0033D1 9200              MOV     ?_gpioSetBit?BIT,C
-0033D3 71F8              ACALL   _gpioSetBit
-0033D5         ?C0009?GPIO:
-0033D5 22                RET     
+0033D8 EF                MOV     A,R7
+0033D9 F4                CPL     A
+0033DA 600C              JZ      ?C0009?GPIO
+0033DC         ?C0008?GPIO:
+0033DC 7B01              MOV     R3,#01H
+0033DE 7A80              MOV     R2,#080H
+0033E0 7978              MOV     R1,#078H
+0033E2 A202              MOV     C,bit_val
+0033E4 9200              MOV     ?_gpioSetBit?BIT,C
+0033E6 910B              ACALL   _gpioSetBit
+0033E8         ?C0009?GPIO:
+0033E8 22                RET     
 ----- FUNCTION _GPIO_SetPu (END) -------
 
 
 ----- FUNCTION _GPIO_SetPd (BEGIN) -----
 ;---- Variable 'gpio_num' assigned to Register 'R7' ----
-0033D6 EF                MOV     A,R7
-0033D7 F4                CPL     A
-0033D8 600C              JZ      ?C0011?GPIO
-0033DA         ?C0010?GPIO:
-0033DA 7B01              MOV     R3,#01H
-0033DC 7A80              MOV     R2,#080H
-0033DE 797C              MOV     R1,#07CH
-0033E0 A203              MOV     C,bit_val
-0033E2 9200              MOV     ?_gpioSetBit?BIT,C
-0033E4 71F8              ACALL   _gpioSetBit
-0033E6         ?C0011?GPIO:
-0033E6 22                RET     
+0033E9 EF                MOV     A,R7
+0033EA F4                CPL     A
+0033EB 600C              JZ      ?C0011?GPIO
+0033ED         ?C0010?GPIO:
+0033ED 7B01              MOV     R3,#01H
+0033EF 7A80              MOV     R2,#080H
+0033F1 797C              MOV     R1,#07CH
+0033F3 A203              MOV     C,bit_val
+0033F5 9200              MOV     ?_gpioSetBit?BIT,C
+0033F7 910B              ACALL   _gpioSetBit
+0033F9         ?C0011?GPIO:
+0033F9 22                RET     
 ----- FUNCTION _GPIO_SetPd (END) -------
 
 
 ----- FUNCTION _GPIO_Setoe (BEGIN) -----
 ;---- Variable 'gpio_num' assigned to Register 'R7' ----
-0033E7 EF                MOV     A,R7
-0033E8 F4                CPL     A
-0033E9 600C              JZ      ?C0013?GPIO
-0033EB         ?C0012?GPIO:
-0033EB 7B01              MOV     R3,#01H
-0033ED 7A80              MOV     R2,#080H
-0033EF 7970              MOV     R1,#070H
-0033F1 A204              MOV     C,bit_val
-0033F3 9200              MOV     ?_gpioSetBit?BIT,C
-0033F5 71F8              ACALL   _gpioSetBit
-0033F7         ?C0013?GPIO:
-0033F7 22                RET     
+0033FA EF                MOV     A,R7
+0033FB F4                CPL     A
+0033FC 600C              JZ      ?C0013?GPIO
+0033FE         ?C0012?GPIO:
+0033FE 7B01              MOV     R3,#01H
+003400 7A80              MOV     R2,#080H
+003402 7970              MOV     R1,#070H
+003404 A204              MOV     C,bit_val
+003406 9200              MOV     ?_gpioSetBit?BIT,C
+003408 910B              ACALL   _gpioSetBit
+00340A         ?C0013?GPIO:
+00340A 22                RET     
 ----- FUNCTION _GPIO_Setoe (END) -------
 
 
 ----- FUNCTION _gpioSetBit (BEGIN) -----
-0033F8 904EF9            MOV     DPTR,#reg_base
-0033FB EB                MOV     A,R3
-0033FC F0                MOVX    @DPTR,A
-0033FD A3                INC     DPTR
-0033FE EA                MOV     A,R2
-0033FF F0                MOVX    @DPTR,A
-003400 A3                INC     DPTR
-003401 E9                MOV     A,R1
-003402 F0                MOVX    @DPTR,A
+00340B 904EF9            MOV     DPTR,#reg_base
+00340E EB                MOV     A,R3
+00340F F0                MOVX    @DPTR,A
+003410 A3                INC     DPTR
+003411 EA                MOV     A,R2
+003412 F0                MOVX    @DPTR,A
+003413 A3                INC     DPTR
+003414 E9                MOV     A,R1
+003415 F0                MOVX    @DPTR,A
 ;---- Variable 'gpio_num' assigned to Register 'R7' ----
 ;---- Variable 'queue' assigned to Register 'R6' ----
-003403 E4                CLR     A
-003404 FE                MOV     R6,A
+003416 E4                CLR     A
+003417 FE                MOV     R6,A
 ;---- Variable 'group' assigned to Register 'R5' ----
-003405 FD                MOV     R5,A
-003406 EF                MOV     A,R7
-003407 5407              ANL     A,#07H
-003409 FE                MOV     R6,A
-00340A EF                MOV     A,R7
-00340B 13                RRC     A
-00340C 13                RRC     A
-00340D 13                RRC     A
-00340E 5403              ANL     A,#03H
-003410 FD                MOV     R5,A
-003411 300022            JNB     bit_val,?C0001?GPIO
-003414 904EF9            MOV     DPTR,#reg_base
-003417 E0                MOVX    A,@DPTR
-003418 FB                MOV     R3,A
-003419 A3                INC     DPTR
-00341A E0                MOVX    A,@DPTR
-00341B FA                MOV     R2,A
-00341C A3                INC     DPTR
-00341D E0                MOVX    A,@DPTR
-00341E 2D                ADD     A,R5
-00341F F9                MOV     R1,A
-003420 E4                CLR     A
-003421 3A                ADDC    A,R2
-003422 FA                MOV     R2,A
-003423 1203B6            LCALL   ?C?CLDPTR
-003426 FF                MOV     R7,A
-003427 7401              MOV     A,#01H
-003429 A806              MOV     R0,AR6
-00342B 08                INC     R0
-00342C 8002              SJMP    ?C0031?GPIO
-00342E         ?C0030?GPIO:
-00342E C3                CLR     C
-00342F 33                RLC     A
-003430         ?C0031?GPIO:
-003430 D8FC              DJNZ    R0,?C0030?GPIO
-003432 4F                ORL     A,R7
-003433 0203FC            LJMP    ?C?CSTPTR
-003436         ?C0001?GPIO:
-003436 904EF9            MOV     DPTR,#reg_base
-003439 E0                MOVX    A,@DPTR
-00343A FB                MOV     R3,A
-00343B A3                INC     DPTR
-00343C E0                MOVX    A,@DPTR
-00343D FA                MOV     R2,A
-00343E A3                INC     DPTR
-00343F E0                MOVX    A,@DPTR
-003440 2D                ADD     A,R5
-003441 F9                MOV     R1,A
-003442 E4                CLR     A
-003443 3A                ADDC    A,R2
-003444 FA                MOV     R2,A
-003445 1203B6            LCALL   ?C?CLDPTR
-003448 FF                MOV     R7,A
-003449 7401              MOV     A,#01H
-00344B A806              MOV     R0,AR6
-00344D 08                INC     R0
-00344E 8002              SJMP    ?C0033?GPIO
-003450         ?C0032?GPIO:
-003450 C3                CLR     C
-003451 33                RLC     A
-003452         ?C0033?GPIO:
-003452 D8FC              DJNZ    R0,?C0032?GPIO
-003454 F4                CPL     A
-003455 5F                ANL     A,R7
-003456 0203FC            LJMP    ?C?CSTPTR
+003418 FD                MOV     R5,A
+003419 EF                MOV     A,R7
+00341A 5407              ANL     A,#07H
+00341C FE                MOV     R6,A
+00341D EF                MOV     A,R7
+00341E 13                RRC     A
+00341F 13                RRC     A
+003420 13                RRC     A
+003421 5403              ANL     A,#03H
+003423 FD                MOV     R5,A
+003424 300022            JNB     bit_val,?C0001?GPIO
+003427 904EF9            MOV     DPTR,#reg_base
+00342A E0                MOVX    A,@DPTR
+00342B FB                MOV     R3,A
+00342C A3                INC     DPTR
+00342D E0                MOVX    A,@DPTR
+00342E FA                MOV     R2,A
+00342F A3                INC     DPTR
+003430 E0                MOVX    A,@DPTR
+003431 2D                ADD     A,R5
+003432 F9                MOV     R1,A
+003433 E4                CLR     A
+003434 3A                ADDC    A,R2
+003435 FA                MOV     R2,A
+003436 1203B6            LCALL   ?C?CLDPTR
+003439 FF                MOV     R7,A
+00343A 7401              MOV     A,#01H
+00343C A806              MOV     R0,AR6
+00343E 08                INC     R0
+00343F 8002              SJMP    ?C0031?GPIO
+003441         ?C0030?GPIO:
+003441 C3                CLR     C
+003442 33                RLC     A
+003443         ?C0031?GPIO:
+003443 D8FC              DJNZ    R0,?C0030?GPIO
+003445 4F                ORL     A,R7
+003446 0203FC            LJMP    ?C?CSTPTR
+003449         ?C0001?GPIO:
+003449 904EF9            MOV     DPTR,#reg_base
+00344C E0                MOVX    A,@DPTR
+00344D FB                MOV     R3,A
+00344E A3                INC     DPTR
+00344F E0                MOVX    A,@DPTR
+003450 FA                MOV     R2,A
+003451 A3                INC     DPTR
+003452 E0                MOVX    A,@DPTR
+003453 2D                ADD     A,R5
+003454 F9                MOV     R1,A
+003455 E4                CLR     A
+003456 3A                ADDC    A,R2
+003457 FA                MOV     R2,A
+003458 1203B6            LCALL   ?C?CLDPTR
+00345B FF                MOV     R7,A
+00345C 7401              MOV     A,#01H
+00345E A806              MOV     R0,AR6
+003460 08                INC     R0
+003461 8002              SJMP    ?C0033?GPIO
+003463         ?C0032?GPIO:
+003463 C3                CLR     C
+003464 33                RLC     A
+003465         ?C0033?GPIO:
+003465 D8FC              DJNZ    R0,?C0032?GPIO
+003467 F4                CPL     A
+003468 5F                ANL     A,R7
+003469 0203FC            LJMP    ?C?CSTPTR
 ----- FUNCTION _gpioSetBit (END) -------
 
 
@@ -10118,28 +10130,28 @@
    66: {
    67: 	REG_IICD_SCL_LOW  =  0x0d;
    68:    	REG_IICD_SCL_HIGH  =  0x0e;
-003459 908091            MOV     DPTR,#08091H
-00345C 740D              MOV     A,#0DH
-00345E F0                MOVX    @DPTR,A
+00346C 908091            MOV     DPTR,#08091H
+00346F 740D              MOV     A,#0DH
+003471 F0                MOVX    @DPTR,A
    69:    	REG_IICD_START_SETUP  = 0x0e;
-00345F A3                INC     DPTR
-003460 04                INC     A
-003461 F0                MOVX    @DPTR,A
+003472 A3                INC     DPTR
+003473 04                INC     A
+003474 F0                MOVX    @DPTR,A
    70:    	REG_IICD_START_HOLD  = 0x0e;
-003462 A3                INC     DPTR
-003463 F0                MOVX    @DPTR,A
+003475 A3                INC     DPTR
+003476 F0                MOVX    @DPTR,A
    71:   	REG_IICD_STOP_SETUP  = 0x0e;
-003464 A3                INC     DPTR
-003465 F0                MOVX    @DPTR,A
+003477 A3                INC     DPTR
+003478 F0                MOVX    @DPTR,A
    72:    	REG_IICD_DATA_SETUP  = 0x0d;
-003466 A3                INC     DPTR
-003467 F0                MOVX    @DPTR,A
+003479 A3                INC     DPTR
+00347A F0                MOVX    @DPTR,A
    73: }
-003468 A3                INC     DPTR
-003469 14                DEC     A
-00346A F0                MOVX    @DPTR,A
+00347B A3                INC     DPTR
+00347C 14                DEC     A
+00347D F0                MOVX    @DPTR,A
    74: 
-00346B 22                RET     
+00347E 22                RET     
 ----- FUNCTION System_IIC_clk_setup (END) -------
 
 
@@ -10149,28 +10161,28 @@
    41: {
    42: 
    43: 	if(g_variable.current_device_num == 1)
-00346C 904CC3            MOV     DPTR,#g_variable+04H
-00346F E0                MOVX    A,@DPTR
-003470 B40107            CJNE    A,#01H,?C0007?LED
+00347F 904CC3            MOV     DPTR,#g_variable+04H
+003482 E0                MOVX    A,@DPTR
+003483 B40107            CJNE    A,#01H,?C0007?LED
    44: 		GPIO_Setout(BT_LED_GPIO,LED_OFF);
-003473 C201              CLR     ?_GPIO_Setout?BIT
-003475 7F19              MOV     R7,#019H
-003477 020F74            LJMP    _GPIO_Setout
-00347A         ?C0007?LED:
+003486 C201              CLR     ?_GPIO_Setout?BIT
+003488 7F19              MOV     R7,#019H
+00348A 020F74            LJMP    _GPIO_Setout
+00348D         ?C0007?LED:
    45: 	else if(g_variable.current_device_num == 2)
-00347A 904CC3            MOV     DPTR,#g_variable+04H
-00347D E0                MOVX    A,@DPTR
-00347E B40207            CJNE    A,#02H,?C0009?LED
+00348D 904CC3            MOV     DPTR,#g_variable+04H
+003490 E0                MOVX    A,@DPTR
+003491 B40207            CJNE    A,#02H,?C0009?LED
    46: 		GPIO_Setout(BT2_LED_GPIO,LED_OFF);
-003481 C201              CLR     ?_GPIO_Setout?BIT
-003483 7F1C              MOV     R7,#01CH
-003485 020F74            LJMP    _GPIO_Setout
-003488         ?C0009?LED:
+003494 C201              CLR     ?_GPIO_Setout?BIT
+003496 7F1C              MOV     R7,#01CH
+003498 020F74            LJMP    _GPIO_Setout
+00349B         ?C0009?LED:
    47: 	else
    48: 	GPIO_Setout(LOWPOWER_LED_GPIO,LED_OFF);
-003488 C201              CLR     ?_GPIO_Setout?BIT
-00348A 7F1D              MOV     R7,#01DH
-00348C 020F74            LJMP    _GPIO_Setout
+00349B C201              CLR     ?_GPIO_Setout?BIT
+00349D 7F1D              MOV     R7,#01DH
+00349F 020F74            LJMP    _GPIO_Setout
    49: 
    50: 
 ----- FUNCTION LED_device_poweroff (END) -------
@@ -10182,252 +10194,252 @@
   759: {
   760: 
   761: 	if (g_variable.delay_enter_lpm_timer) 
-00348F 904CEA            MOV     DPTR,#g_variable+02BH
-003492 E0                MOVX    A,@DPTR
-003493 6002              JZ      ?C0142?SYS
+0034A2 904CEA            MOV     DPTR,#g_variable+02BH
+0034A5 E0                MOVX    A,@DPTR
+0034A6 6002              JZ      ?C0142?SYS
   762: 	{
   763: 		g_variable.delay_enter_lpm_timer --;
-003495 14                DEC     A
-003496 F0                MOVX    @DPTR,A
+0034A8 14                DEC     A
+0034A9 F0                MOVX    @DPTR,A
   764: 	}
-003497         ?C0142?SYS:
+0034AA         ?C0142?SYS:
   765: 
   766: 	if(g_variable.recon_delay)
-003497 904CEF            MOV     DPTR,#g_variable+030H
-00349A E0                MOVX    A,@DPTR
-00349B 6002              JZ      ?C0143?SYS
+0034AA 904CEF            MOV     DPTR,#g_variable+030H
+0034AD E0                MOVX    A,@DPTR
+0034AE 6002              JZ      ?C0143?SYS
   767: 		g_variable.recon_delay--;
-00349D 14                DEC     A
-00349E F0                MOVX    @DPTR,A
-00349F         ?C0143?SYS:
+0034B0 14                DEC     A
+0034B1 F0                MOVX    @DPTR,A
+0034B2         ?C0143?SYS:
   768: 
   769: 	if(g_variable.one_key_press_wait_release_timer)
-00349F 904CF8            MOV     DPTR,#g_variable+039H
-0034A2 E0                MOVX    A,@DPTR
-0034A3 600B              JZ      ?C0144?SYS
+0034B2 904CF8            MOV     DPTR,#g_variable+039H
+0034B5 E0                MOVX    A,@DPTR
+0034B6 600B              JZ      ?C0144?SYS
   770: 	{
   771: 		g_variable.one_key_press_wait_release_timer--;
-0034A5 14                DEC     A
-0034A6 F0                MOVX    @DPTR,A
+0034B8 14                DEC     A
+0034B9 F0                MOVX    @DPTR,A
   772: 		if(!g_variable.one_key_press_wait_release_timer)
-0034A7 E0                MOVX    A,@DPTR
-0034A8 7006              JNZ     ?C0144?SYS
+0034BA E0                MOVX    A,@DPTR
+0034BB 7006              JNZ     ?C0144?SYS
   773: 			g_variable.key_combination_step = CAMBINATION_KEY_NULL;
-0034AA 904CF4            MOV     DPTR,#g_variable+035H
-0034AD 7406              MOV     A,#06H
-0034AF F0                MOVX    @DPTR,A
+0034BD 904CF4            MOV     DPTR,#g_variable+035H
+0034C0 7406              MOV     A,#06H
+0034C2 F0                MOVX    @DPTR,A
   774: 	}
-0034B0         ?C0144?SYS:
+0034C3         ?C0144?SYS:
   775: 	
   776: 	if (g_variable.powerOn_timer != 0)
-0034B0 904CE5            MOV     DPTR,#g_variable+026H
-0034B3 E0                MOVX    A,@DPTR
-0034B4 601F              JZ      ?C0146?SYS
+0034C3 904CE5            MOV     DPTR,#g_variable+026H
+0034C6 E0                MOVX    A,@DPTR
+0034C7 601F              JZ      ?C0146?SYS
   777: 	{	
   778: 		if(g_variable.pairing_g24_timeout)
-0034B6 904CEE            MOV     DPTR,#g_variable+02FH
-0034B9 E0                MOVX    A,@DPTR
-0034BA 6006              JZ      ?C0147?SYS
+0034C9 904CEE            MOV     DPTR,#g_variable+02FH
+0034CC E0                MOVX    A,@DPTR
+0034CD 6006              JZ      ?C0147?SYS
   779: 		{
   780: 			g_variable.powerOn_timer = 0;
-0034BC E4                CLR     A
-0034BD 904CE5            MOV     DPTR,#g_variable+026H
-0034C0 F0                MOVX    @DPTR,A
-0034C1 22                RET     
+0034CF E4                CLR     A
+0034D0 904CE5            MOV     DPTR,#g_variable+026H
+0034D3 F0                MOVX    @DPTR,A
+0034D4 22                RET     
   781: 			return;
   782: 		}
-0034C2         ?C0147?SYS:
+0034D5         ?C0147?SYS:
   783: 		g_variable.powerOn_timer--;
-0034C2 904CE5            MOV     DPTR,#g_variable+026H
-0034C5 E0                MOVX    A,@DPTR
-0034C6 14                DEC     A
-0034C7 F0                MOVX    @DPTR,A
+0034D5 904CE5            MOV     DPTR,#g_variable+026H
+0034D8 E0                MOVX    A,@DPTR
+0034D9 14                DEC     A
+0034DA F0                MOVX    @DPTR,A
   784: 		LED_device_poweron();
-0034C8 120F86            LCALL   LED_device_poweron
+0034DB 120F86            LCALL   LED_device_poweron
   785: 		if (!g_variable.powerOn_timer)
-0034CB 904CE5            MOV     DPTR,#g_variable+026H
-0034CE E0                MOVX    A,@DPTR
-0034CF 7037              JNZ     ?C0150?SYS
+0034DE 904CE5            MOV     DPTR,#g_variable+026H
+0034E1 E0                MOVX    A,@DPTR
+0034E2 7037              JNZ     ?C0150?SYS
   786: 		{
   787: 			LED_device_poweroff();
-0034D1 916C              ACALL   LED_device_poweroff
+0034E4 917F              ACALL   LED_device_poweroff
   788: 		}
   789: 	}
-0034D3 8033              SJMP    ?C0150?SYS
-0034D5         ?C0146?SYS:
+0034E6 8033              SJMP    ?C0150?SYS
+0034E8         ?C0146?SYS:
   790: 	else	if ((g_variable.pairing_timeout == 0) && (g_variable.pairing_g24_timeout == 0))  //  pairing
-0034D5 904CE9            MOV     DPTR,#g_variable+02AH
-0034D8 E0                MOVX    A,@DPTR
-0034D9 702D              JNZ     ?C0150?SYS
-0034DB 904CEE            MOV     DPTR,#g_variable+02FH
-0034DE E0                MOVX    A,@DPTR
-0034DF 7027              JNZ     ?C0150?SYS
+0034E8 904CE9            MOV     DPTR,#g_variable+02AH
+0034EB E0                MOVX    A,@DPTR
+0034EC 702D              JNZ     ?C0150?SYS
+0034EE 904CEE            MOV     DPTR,#g_variable+02FH
+0034F1 E0                MOVX    A,@DPTR
+0034F2 7027              JNZ     ?C0150?SYS
   791: 	{
   792: 		if(g_variable.battery_low_led_flash_interval)
-0034E1 904CE2            MOV     DPTR,#g_variable+023H
-0034E4 E0                MOVX    A,@DPTR
-0034E5 6021              JZ      ?C0150?SYS
+0034F4 904CE2            MOV     DPTR,#g_variable+023H
+0034F7 E0                MOVX    A,@DPTR
+0034F8 6021              JZ      ?C0150?SYS
   793: 		{
   794: 			g_variable.battery_low_led_flash_interval--;
-0034E7 14                DEC     A
-0034E8 F0                MOVX    @DPTR,A
+0034FA 14                DEC     A
+0034FB F0                MOVX    @DPTR,A
   795: 			if(g_variable.battery_low_led_flash_interval < 4)
-0034E9 E0                MOVX    A,@DPTR
-0034EA FF                MOV     R7,A
-0034EB C3                CLR     C
-0034EC 9404              SUBB    A,#04H
-0034EE 500D              JNC     ?C0153?SYS
+0034FC E0                MOVX    A,@DPTR
+0034FD FF                MOV     R7,A
+0034FE C3                CLR     C
+0034FF 9404              SUBB    A,#04H
+003501 500D              JNC     ?C0153?SYS
   796: 			{
   797: 				if(g_variable.battery_low_led_flash_interval & 0x02)
-0034F0 EF                MOV     A,R7
-0034F1 30E105            JNB     ACC.1,?C0154?SYS
+003503 EF                MOV     A,R7
+003504 30E105            JNB     ACC.1,?C0154?SYS
   798: 				{
   799: 					LED_device_poweron();
-0034F4 120F86            LCALL   LED_device_poweron
+003507 120F86            LCALL   LED_device_poweron
   800: 				}
-0034F7 8006              SJMP    ?C0156?SYS
-0034F9         ?C0154?SYS:
+00350A 8006              SJMP    ?C0156?SYS
+00350C         ?C0154?SYS:
   801: 				else
   802: 				{
   803: 					LED_device_poweroff();	
-0034F9 916C              ACALL   LED_device_poweroff
+00350C 917F              ACALL   LED_device_poweroff
   804: 				}	
   805: 			}
-0034FB 8002              SJMP    ?C0156?SYS
-0034FD         ?C0153?SYS:
+00350E 8002              SJMP    ?C0156?SYS
+003510         ?C0153?SYS:
   806: 			else
   807: 				LED_device_poweroff();
-0034FD 916C              ACALL   LED_device_poweroff
-0034FF         ?C0156?SYS:
+003510 917F              ACALL   LED_device_poweroff
+003512         ?C0156?SYS:
   808: 			if(!g_variable.battery_low_led_flash_interval)
-0034FF 904CE2            MOV     DPTR,#g_variable+023H
-003502 E0                MOVX    A,@DPTR
-003503 7003              JNZ     ?C0150?SYS
+003512 904CE2            MOV     DPTR,#g_variable+023H
+003515 E0                MOVX    A,@DPTR
+003516 7003              JNZ     ?C0150?SYS
   809: 				g_variable.battery_low_led_flash_interval = LOW_BATTERY_FLASH_INTERVAL;
-003505 740A              MOV     A,#0AH
-003507 F0                MOVX    @DPTR,A
+003518 740A              MOV     A,#0AH
+00351A F0                MOVX    @DPTR,A
   810: 		}
   811: 	}
-003508         ?C0150?SYS:
+00351B         ?C0150?SYS:
   812: 	
   813: // The dongle must receive data within 200ms, otherwise it will be forced to lift
   814: 	if(!long_press_flag)
-003508 904DDD            MOV     DPTR,#long_press_flag
-00350B E0                MOVX    A,@DPTR
-00350C 7036              JNZ     ?C0158?SYS
+00351B 904DDD            MOV     DPTR,#long_press_flag
+00351E E0                MOVX    A,@DPTR
+00351F 7036              JNZ     ?C0158?SYS
   815: 	{
   816: 		if (repeat_send_24g == 1)
-00350E 904DDE            MOV     DPTR,#repeat_send_24g
-003511 E0                MOVX    A,@DPTR
-003512 6401              XRL     A,#01H
-003514 702E              JNZ     ?C0158?SYS
+003521 904DDE            MOV     DPTR,#repeat_send_24g
+003524 E0                MOVX    A,@DPTR
+003525 6401              XRL     A,#01H
+003527 702E              JNZ     ?C0158?SYS
   817: 		{
   818: 			g_variable.sleepTimer = 0;	
-003516 904CE3            MOV     DPTR,#g_variable+024H
-003519 F0                MOVX    @DPTR,A
-00351A A3                INC     DPTR
-00351B F0                MOVX    @DPTR,A
+003529 904CE3            MOV     DPTR,#g_variable+024H
+00352C F0                MOVX    @DPTR,A
+00352D A3                INC     DPTR
+00352E F0                MOVX    @DPTR,A
   819: 			repeat_send_24g = 0;
-00351C 904DDE            MOV     DPTR,#repeat_send_24g
-00351F F0                MOVX    @DPTR,A
+00352F 904DDE            MOV     DPTR,#repeat_send_24g
+003532 F0                MOVX    @DPTR,A
   820: 
   821: 			 if (multikey[0] != 0)
-003520 904E4E            MOV     DPTR,#multikey
-003523 E0                MOVX    A,@DPTR
-003524 600D              JZ      ?C0160?SYS
+003533 904E4E            MOV     DPTR,#multikey
+003536 E0                MOVX    A,@DPTR
+003537 600D              JZ      ?C0160?SYS
   822: 			{
   823: 				IPC_TxHidData(multikey, 3);
-003526 7B01              MOV     R3,#01H
-003528 7A4E              MOV     R2,#HIGH multikey
-00352A 794E              MOV     R1,#LOW multikey
-00352C 7D03              MOV     R5,#03H
-00352E 120C6F            LCALL   _IPC_TxHidData
+003539 7B01              MOV     R3,#01H
+00353B 7A4E              MOV     R2,#HIGH multikey
+00353D 794E              MOV     R1,#LOW multikey
+00353F 7D03              MOV     R5,#03H
+003541 120C6F            LCALL   _IPC_TxHidData
   824: 			}
-003531 8011              SJMP    ?C0158?SYS
-003533         ?C0160?SYS:
+003544 8011              SJMP    ?C0158?SYS
+003546         ?C0160?SYS:
   825: 			else if (hidBuff[0] != 0)
-003533 904800            MOV     DPTR,#hidBuff
-003536 E0                MOVX    A,@DPTR
-003537 600B              JZ      ?C0158?SYS
+003546 904800            MOV     DPTR,#hidBuff
+003549 E0                MOVX    A,@DPTR
+00354A 600B              JZ      ?C0158?SYS
   826: 			{
   827: 
   828: 				IPC_TxHidData(hidBuff,9);
-003539 7B01              MOV     R3,#01H
-00353B 7A48              MOV     R2,#HIGH hidBuff
-00353D 7900              MOV     R1,#LOW hidBuff
-00353F 7D09              MOV     R5,#09H
-003541 120C6F            LCALL   _IPC_TxHidData
+00354C 7B01              MOV     R3,#01H
+00354E 7A48              MOV     R2,#HIGH hidBuff
+003550 7900              MOV     R1,#LOW hidBuff
+003552 7D09              MOV     R5,#09H
+003554 120C6F            LCALL   _IPC_TxHidData
   829: 			}
   830: 		}
   831: 	}
-003544         ?C0158?SYS:
+003557         ?C0158?SYS:
   832: 
   833: 
   834: // ble delay send secutiry request
   835: 	if(ble_send_secutiry_request_timer)
-003544 904DD4            MOV     DPTR,#ble_send_secutiry_request_timer
-003547 E0                MOVX    A,@DPTR
-003548 6011              JZ      ?C0163?SYS
+003557 904DD4            MOV     DPTR,#ble_send_secutiry_request_timer
+00355A E0                MOVX    A,@DPTR
+00355B 6011              JZ      ?C0163?SYS
   836: 	{
   837: 		ble_send_secutiry_request_timer--;
-00354A E0                MOVX    A,@DPTR
-00354B 14                DEC     A
-00354C F0                MOVX    @DPTR,A
+00355D E0                MOVX    A,@DPTR
+00355E 14                DEC     A
+00355F F0                MOVX    @DPTR,A
   838: 		if(!ble_send_secutiry_request_timer)
-00354D E0                MOVX    A,@DPTR
-00354E 700B              JNZ     ?C0163?SYS
+003560 E0                MOVX    A,@DPTR
+003561 700B              JNZ     ?C0163?SYS
   839: 		{
   840: 			if(!m_le_send_security_request_flag)
-003550 904D3D            MOV     DPTR,#m_le_send_security_request_flag
-003553 E0                MOVX    A,@DPTR
-003554 7005              JNZ     ?C0163?SYS
+003563 904D3D            MOV     DPTR,#m_le_send_security_request_flag
+003566 E0                MOVX    A,@DPTR
+003567 7005              JNZ     ?C0163?SYS
   841: 			{
   842: 				IPC_TxControlCmd(IPC_CMD_LE_SMP_SECURITY_REQUEST);
-003556 7F1B              MOV     R7,#01BH
-003558 1210A6            LCALL   _IPC_TxControlCmd
+003569 7F1B              MOV     R7,#01BH
+00356B 1210A6            LCALL   _IPC_TxControlCmd
   843: 			}
   844: 		}
   845: 	}
-00355B         ?C0163?SYS:
+00356E         ?C0163?SYS:
   846: 
   847: 	if (delayChgInvTimer != 0){
-00355B 904DE7            MOV     DPTR,#delayChgInvTimer
-00355E E0                MOVX    A,@DPTR
-00355F 601B              JZ      ?C0148?SYS
+00356E 904DE7            MOV     DPTR,#delayChgInvTimer
+003571 E0                MOVX    A,@DPTR
+003572 601B              JZ      ?C0148?SYS
   848: 		delayChgInvTimer--;
-003561 E0                MOVX    A,@DPTR
-003562 14                DEC     A
-003563 F0                MOVX    @DPTR,A
+003574 E0                MOVX    A,@DPTR
+003575 14                DEC     A
+003576 F0                MOVX    @DPTR,A
   849: 		if (delayChgInvTimer == 0)
-003564 E0                MOVX    A,@DPTR
-003565 7015              JNZ     ?C0148?SYS
+003577 E0                MOVX    A,@DPTR
+003578 7015              JNZ     ?C0148?SYS
   850: 		{
   851: 			if( m_24g_led_flag)
-003567 904D46            MOV     DPTR,#m_24g_led_flag
-00356A E0                MOVX    A,@DPTR
-00356B 6002              JZ      ?C0168?SYS
+00357A 904D46            MOV     DPTR,#m_24g_led_flag
+00357D E0                MOVX    A,@DPTR
+00357E 6002              JZ      ?C0168?SYS
   852: 			{
   853: 				m_24g_led_flag = 0;
-00356D E4                CLR     A
-00356E F0                MOVX    @DPTR,A
+003580 E4                CLR     A
+003581 F0                MOVX    @DPTR,A
   854: 			}	
-00356F         ?C0168?SYS:
+003582         ?C0168?SYS:
   855: 	
   856: 			if (g_variable.ble_currentState == CHANGE_TO_BLE_CONNECTED)
-00356F 904CC7            MOV     DPTR,#g_variable+08H
-003572 E0                MOVX    A,@DPTR
-003573 B40406            CJNE    A,#04H,?C0148?SYS
+003582 904CC7            MOV     DPTR,#g_variable+08H
+003585 E0                MOVX    A,@DPTR
+003586 B40406            CJNE    A,#04H,?C0148?SYS
   857: 			{
   858: 				kscurrmult = 0x0c;
-003576 904213            MOV     DPTR,#kscurrmult
-003579 740C              MOV     A,#0CH
-00357B F0                MOVX    @DPTR,A
+003589 904213            MOV     DPTR,#kscurrmult
+00358C 740C              MOV     A,#0CH
+00358E F0                MOVX    @DPTR,A
   859: 			}
   860: 		}
   861: 	}
   862: }
-00357C         ?C0148?SYS:
-00357C 22                RET     
+00358F         ?C0148?SYS:
+00358F 22                RET     
 ----- FUNCTION kb_cb_Timer100ms (END) -------
 
 
@@ -10437,42 +10449,42 @@
    99: {
   100: 	System_clear_mem();
   101: 	YC_adc_init();
-00357D 120D96            LCALL   System_clear_mem
+003590 120D96            LCALL   System_clear_mem
   102: 	g_variable.release_data =1;
-003580 B1B2              ACALL   YC_adc_init
+003593 B1C5              ACALL   YC_adc_init
   103: 	g_variable.powerOn_timer = KB_POWERON_LED_ON_TIMER;
-003582 904CEB            MOV     DPTR,#g_variable+02CH
-003585 7401              MOV     A,#01H
-003587 F0                MOVX    @DPTR,A
+003595 904CEB            MOV     DPTR,#g_variable+02CH
+003598 7401              MOV     A,#01H
+00359A F0                MOVX    @DPTR,A
   104: //	g_variable.powerOn_first_flag = 1;
-003588 904CE5            MOV     DPTR,#g_variable+026H
-00358B 740A              MOV     A,#0AH
-00358D F0                MOVX    @DPTR,A
+00359B 904CE5            MOV     DPTR,#g_variable+026H
+00359E 740A              MOV     A,#0AH
+0035A0 F0                MOVX    @DPTR,A
   105: 	g_variable.recon_count = 0;
-00358E E4                CLR     A
-00358F 904CF0            MOV     DPTR,#g_variable+031H
-003592 F0                MOVX    @DPTR,A
+0035A1 E4                CLR     A
+0035A2 904CF0            MOV     DPTR,#g_variable+031H
+0035A5 F0                MOVX    @DPTR,A
   106: 	g_variable.test_buff = 0xff;
-003593 904D09            MOV     DPTR,#g_variable+04AH
-003596 74FF              MOV     A,#0FFH
-003598 F0                MOVX    @DPTR,A
+0035A6 904D09            MOV     DPTR,#g_variable+04AH
+0035A9 74FF              MOV     A,#0FFH
+0035AB F0                MOVX    @DPTR,A
   107: 	le_lap_temp[0] = m_le_lap[3];
-003599 9044FC            MOV     DPTR,#m_le_lap+03H
-00359C E0                MOVX    A,@DPTR
-00359D 904DD0            MOV     DPTR,#le_lap_temp
-0035A0 F0                MOVX    @DPTR,A
+0035AC 9044FC            MOV     DPTR,#m_le_lap+03H
+0035AF E0                MOVX    A,@DPTR
+0035B0 904DD0            MOV     DPTR,#le_lap_temp
+0035B3 F0                MOVX    @DPTR,A
   108: 	le_lap_temp[1] = m_le_lap[4];
-0035A1 9044FD            MOV     DPTR,#m_le_lap+04H
-0035A4 E0                MOVX    A,@DPTR
-0035A5 904DD1            MOV     DPTR,#le_lap_temp+01H
-0035A8 F0                MOVX    @DPTR,A
+0035B4 9044FD            MOV     DPTR,#m_le_lap+04H
+0035B7 E0                MOVX    A,@DPTR
+0035B8 904DD1            MOV     DPTR,#le_lap_temp+01H
+0035BB F0                MOVX    @DPTR,A
   109: 	le_lap_temp[2] = m_le_lap[5];
-0035A9 9044FE            MOV     DPTR,#m_le_lap+05H
-0035AC E0                MOVX    A,@DPTR
-0035AD 904DD2            MOV     DPTR,#le_lap_temp+02H
-0035B0 F0                MOVX    @DPTR,A
+0035BC 9044FE            MOV     DPTR,#m_le_lap+05H
+0035BF E0                MOVX    A,@DPTR
+0035C0 904DD2            MOV     DPTR,#le_lap_temp+02H
+0035C3 F0                MOVX    @DPTR,A
   110: }
-0035B1 22                RET     
+0035C4 22                RET     
 ----- FUNCTION System_Software_init (END) -------
 
 
@@ -10484,183 +10496,183 @@
     6: 	byte i;
     7: 	
     8: 	g_variable.battery_check_interval = BATTERY_CHECK_INTERVAL;
-0035B2 904CD3            MOV     DPTR,#g_variable+014H
-0035B5 7405              MOV     A,#05H
-0035B7 F0                MOVX    @DPTR,A
+0035C5 904CD3            MOV     DPTR,#g_variable+014H
+0035C8 7405              MOV     A,#05H
+0035CA F0                MOVX    @DPTR,A
     9: 	g_variable.battery_value_index = 0;
-0035B8 E4                CLR     A
-0035B9 A3                INC     DPTR
-0035BA F0                MOVX    @DPTR,A
+0035CB E4                CLR     A
+0035CC A3                INC     DPTR
+0035CD F0                MOVX    @DPTR,A
    10: 	g_variable.battery_motion_check_interval = BATTERY_MOTION_CHECK_INTERVAL;
-0035BB 904D0A            MOV     DPTR,#g_variable+04BH
-0035BE 7414              MOV     A,#014H
-0035C0 F0                MOVX    @DPTR,A
+0035CE 904D0A            MOV     DPTR,#g_variable+04BH
+0035D1 7414              MOV     A,#014H
+0035D3 F0                MOVX    @DPTR,A
    11: 	
    12: #ifdef ADC_TYPE_HVIN 	
    13: 	for (i = 0; i < BAT_ARRAY_LEN; i++)
 ;---- Variable 'i' assigned to Register 'R7' ----
-0035C1 E4                CLR     A
-0035C2 FF                MOV     R7,A
-0035C3         ?C0001?ADC:
+0035D4 E4                CLR     A
+0035D5 FF                MOV     R7,A
+0035D6         ?C0001?ADC:
    14: 	{
    15: 		g_variable.battery_value[i] = INIT_BATTERY_VALUE;
-0035C3 EF                MOV     A,R7
-0035C4 25E0              ADD     A,ACC
-0035C6 24D6              ADD     A,#LOW g_variable+017H
-0035C8 F582              MOV     DPL,A
-0035CA E4                CLR     A
-0035CB 344C              ADDC    A,#HIGH g_variable+017H
-0035CD F583              MOV     DPH,A
-0035CF 7454              MOV     A,#054H
-0035D1 F0                MOVX    @DPTR,A
-0035D2 A3                INC     DPTR
-0035D3 F0                MOVX    @DPTR,A
+0035D6 EF                MOV     A,R7
+0035D7 25E0              ADD     A,ACC
+0035D9 24D6              ADD     A,#LOW g_variable+017H
+0035DB F582              MOV     DPL,A
+0035DD E4                CLR     A
+0035DE 344C              ADDC    A,#HIGH g_variable+017H
+0035E0 F583              MOV     DPH,A
+0035E2 7454              MOV     A,#054H
+0035E4 F0                MOVX    @DPTR,A
+0035E5 A3                INC     DPTR
+0035E6 F0                MOVX    @DPTR,A
    16: 	}
-0035D4 0F                INC     R7
-0035D5 EF                MOV     A,R7
-0035D6 B404EA            CJNE    A,#04H,?C0001?ADC
-0035D9         ?C0002?ADC:
+0035E7 0F                INC     R7
+0035E8 EF                MOV     A,R7
+0035E9 B404EA            CJNE    A,#04H,?C0001?ADC
+0035EC         ?C0002?ADC:
    17: 	g_variable.battery_level_full = (m_adc3vValue - m_adc0vBase)*LOW_BATTER_COEFFICIENT_4V2+m_adc0vBase;
-0035D9 904C91            MOV     DPTR,#m_adc0vBase
-0035DC E0                MOVX    A,@DPTR
-0035DD FE                MOV     R6,A
-0035DE A3                INC     DPTR
-0035DF E0                MOVX    A,@DPTR
-0035E0 FF                MOV     R7,A
-0035E1 C3                CLR     C
-0035E2 904C94            MOV     DPTR,#m_adc3vValue+01H
-0035E5 E0                MOVX    A,@DPTR
-0035E6 9F                SUBB    A,R7
-0035E7 FD                MOV     R5,A
-0035E8 904C93            MOV     DPTR,#m_adc3vValue
-0035EB E0                MOVX    A,@DPTR
-0035EC 9E                SUBB    A,R6
-0035ED FC                MOV     R4,A
-0035EE E4                CLR     A
-0035EF 120206            LCALL   ?C?FCASTI
-0035F2 7B85              MOV     R3,#085H
-0035F4 7AEB              MOV     R2,#0EBH
-0035F6 79B1              MOV     R1,#0B1H
-0035F8 783F              MOV     R0,#03FH
-0035FA 1200FB            LCALL   ?C?FPMUL
-0035FD C004              PUSH    AR4
-0035FF C005              PUSH    AR5
-003601 C006              PUSH    AR6
-003603 C007              PUSH    AR7
-003605 904C91            MOV     DPTR,#m_adc0vBase
-003608 E0                MOVX    A,@DPTR
-003609 FC                MOV     R4,A
-00360A A3                INC     DPTR
-00360B E0                MOVX    A,@DPTR
-00360C FD                MOV     R5,A
-00360D E4                CLR     A
-00360E 120206            LCALL   ?C?FCASTI
-003611 D003              POP     AR3
-003613 D002              POP     AR2
-003615 D001              POP     AR1
-003617 D000              POP     AR0
-003619 12000A            LCALL   ?C?FPADD
-00361C 12023F            LCALL   ?C?CASTF
-00361F 904CFA            MOV     DPTR,#g_variable+03BH
-003622 EE                MOV     A,R6
-003623 F0                MOVX    @DPTR,A
-003624 A3                INC     DPTR
-003625 EF                MOV     A,R7
-003626 F0                MOVX    @DPTR,A
+0035EC 904C91            MOV     DPTR,#m_adc0vBase
+0035EF E0                MOVX    A,@DPTR
+0035F0 FE                MOV     R6,A
+0035F1 A3                INC     DPTR
+0035F2 E0                MOVX    A,@DPTR
+0035F3 FF                MOV     R7,A
+0035F4 C3                CLR     C
+0035F5 904C94            MOV     DPTR,#m_adc3vValue+01H
+0035F8 E0                MOVX    A,@DPTR
+0035F9 9F                SUBB    A,R7
+0035FA FD                MOV     R5,A
+0035FB 904C93            MOV     DPTR,#m_adc3vValue
+0035FE E0                MOVX    A,@DPTR
+0035FF 9E                SUBB    A,R6
+003600 FC                MOV     R4,A
+003601 E4                CLR     A
+003602 120206            LCALL   ?C?FCASTI
+003605 7B85              MOV     R3,#085H
+003607 7AEB              MOV     R2,#0EBH
+003609 79B1              MOV     R1,#0B1H
+00360B 783F              MOV     R0,#03FH
+00360D 1200FB            LCALL   ?C?FPMUL
+003610 C004              PUSH    AR4
+003612 C005              PUSH    AR5
+003614 C006              PUSH    AR6
+003616 C007              PUSH    AR7
+003618 904C91            MOV     DPTR,#m_adc0vBase
+00361B E0                MOVX    A,@DPTR
+00361C FC                MOV     R4,A
+00361D A3                INC     DPTR
+00361E E0                MOVX    A,@DPTR
+00361F FD                MOV     R5,A
+003620 E4                CLR     A
+003621 120206            LCALL   ?C?FCASTI
+003624 D003              POP     AR3
+003626 D002              POP     AR2
+003628 D001              POP     AR1
+00362A D000              POP     AR0
+00362C 12000A            LCALL   ?C?FPADD
+00362F 12023F            LCALL   ?C?CASTF
+003632 904CFA            MOV     DPTR,#g_variable+03BH
+003635 EE                MOV     A,R6
+003636 F0                MOVX    @DPTR,A
+003637 A3                INC     DPTR
+003638 EF                MOV     A,R7
+003639 F0                MOVX    @DPTR,A
    18: 	g_variable.battery_level_low = (m_adc3vValue - m_adc0vBase)*LOW_BATTER_COEFFICIENT_3V2+m_adc0vBase;
-003627 904C91            MOV     DPTR,#m_adc0vBase
-00362A E0                MOVX    A,@DPTR
-00362B FE                MOV     R6,A
-00362C A3                INC     DPTR
-00362D E0                MOVX    A,@DPTR
-00362E FF                MOV     R7,A
-00362F C3                CLR     C
-003630 904C94            MOV     DPTR,#m_adc3vValue+01H
-003633 E0                MOVX    A,@DPTR
-003634 9F                SUBB    A,R7
-003635 FD                MOV     R5,A
-003636 904C93            MOV     DPTR,#m_adc3vValue
-003639 E0                MOVX    A,@DPTR
-00363A 9E                SUBB    A,R6
-00363B FC                MOV     R4,A
-00363C E4                CLR     A
-00363D 120206            LCALL   ?C?FCASTI
-003640 7BC3              MOV     R3,#0C3H
-003642 7AF5              MOV     R2,#0F5H
-003644 7988              MOV     R1,#088H
-003646 783F              MOV     R0,#03FH
-003648 1200FB            LCALL   ?C?FPMUL
-00364B C004              PUSH    AR4
-00364D C005              PUSH    AR5
-00364F C006              PUSH    AR6
-003651 C007              PUSH    AR7
-003653 904C91            MOV     DPTR,#m_adc0vBase
-003656 E0                MOVX    A,@DPTR
-003657 FC                MOV     R4,A
-003658 A3                INC     DPTR
-003659 E0                MOVX    A,@DPTR
-00365A FD                MOV     R5,A
-00365B E4                CLR     A
-00365C 120206            LCALL   ?C?FCASTI
-00365F D003              POP     AR3
-003661 D002              POP     AR2
-003663 D001              POP     AR1
-003665 D000              POP     AR0
-003667 12000A            LCALL   ?C?FPADD
-00366A 12023F            LCALL   ?C?CASTF
-00366D 904CDE            MOV     DPTR,#g_variable+01FH
-003670 EE                MOV     A,R6
-003671 F0                MOVX    @DPTR,A
-003672 A3                INC     DPTR
-003673 EF                MOV     A,R7
-003674 F0                MOVX    @DPTR,A
+00363A 904C91            MOV     DPTR,#m_adc0vBase
+00363D E0                MOVX    A,@DPTR
+00363E FE                MOV     R6,A
+00363F A3                INC     DPTR
+003640 E0                MOVX    A,@DPTR
+003641 FF                MOV     R7,A
+003642 C3                CLR     C
+003643 904C94            MOV     DPTR,#m_adc3vValue+01H
+003646 E0                MOVX    A,@DPTR
+003647 9F                SUBB    A,R7
+003648 FD                MOV     R5,A
+003649 904C93            MOV     DPTR,#m_adc3vValue
+00364C E0                MOVX    A,@DPTR
+00364D 9E                SUBB    A,R6
+00364E FC                MOV     R4,A
+00364F E4                CLR     A
+003650 120206            LCALL   ?C?FCASTI
+003653 7BC3              MOV     R3,#0C3H
+003655 7AF5              MOV     R2,#0F5H
+003657 7988              MOV     R1,#088H
+003659 783F              MOV     R0,#03FH
+00365B 1200FB            LCALL   ?C?FPMUL
+00365E C004              PUSH    AR4
+003660 C005              PUSH    AR5
+003662 C006              PUSH    AR6
+003664 C007              PUSH    AR7
+003666 904C91            MOV     DPTR,#m_adc0vBase
+003669 E0                MOVX    A,@DPTR
+00366A FC                MOV     R4,A
+00366B A3                INC     DPTR
+00366C E0                MOVX    A,@DPTR
+00366D FD                MOV     R5,A
+00366E E4                CLR     A
+00366F 120206            LCALL   ?C?FCASTI
+003672 D003              POP     AR3
+003674 D002              POP     AR2
+003676 D001              POP     AR1
+003678 D000              POP     AR0
+00367A 12000A            LCALL   ?C?FPADD
+00367D 12023F            LCALL   ?C?CASTF
+003680 904CDE            MOV     DPTR,#g_variable+01FH
+003683 EE                MOV     A,R6
+003684 F0                MOVX    @DPTR,A
+003685 A3                INC     DPTR
+003686 EF                MOV     A,R7
+003687 F0                MOVX    @DPTR,A
    19: 	g_variable.battery_level_shutdown = (m_adc3vValue - m_adc0vBase)*LOW_BATTER_COEFFICIENT_3V0+m_adc0vBase;
-003675 904C91            MOV     DPTR,#m_adc0vBase
-003678 E0                MOVX    A,@DPTR
-003679 FE                MOV     R6,A
-00367A A3                INC     DPTR
-00367B E0                MOVX    A,@DPTR
-00367C FF                MOV     R7,A
-00367D C3                CLR     C
-00367E 904C94            MOV     DPTR,#m_adc3vValue+01H
-003681 E0                MOVX    A,@DPTR
-003682 9F                SUBB    A,R7
-003683 FD                MOV     R5,A
-003684 904C93            MOV     DPTR,#m_adc3vValue
-003687 E0                MOVX    A,@DPTR
-003688 9E                SUBB    A,R6
-003689 FC                MOV     R4,A
-00368A E4                CLR     A
-00368B 120206            LCALL   ?C?FCASTI
-00368E 7BAE              MOV     R3,#0AEH
-003690 7A47              MOV     R2,#047H
-003692 7981              MOV     R1,#081H
-003694 783F              MOV     R0,#03FH
-003696 1200FB            LCALL   ?C?FPMUL
-003699 C004              PUSH    AR4
-00369B C005              PUSH    AR5
-00369D C006              PUSH    AR6
-00369F C007              PUSH    AR7
-0036A1 904C91            MOV     DPTR,#m_adc0vBase
-0036A4 E0                MOVX    A,@DPTR
-0036A5 FC                MOV     R4,A
-0036A6 A3                INC     DPTR
-0036A7 E0                MOVX    A,@DPTR
-0036A8 FD                MOV     R5,A
-0036A9 E4                CLR     A
-0036AA 120206            LCALL   ?C?FCASTI
-0036AD D003              POP     AR3
-0036AF D002              POP     AR2
-0036B1 D001              POP     AR1
-0036B3 D000              POP     AR0
-0036B5 12000A            LCALL   ?C?FPADD
-0036B8 12023F            LCALL   ?C?CASTF
-0036BB 904CE0            MOV     DPTR,#g_variable+021H
-0036BE EE                MOV     A,R6
-0036BF F0                MOVX    @DPTR,A
-0036C0 A3                INC     DPTR
-0036C1 EF                MOV     A,R7
-0036C2 F0                MOVX    @DPTR,A
+003688 904C91            MOV     DPTR,#m_adc0vBase
+00368B E0                MOVX    A,@DPTR
+00368C FE                MOV     R6,A
+00368D A3                INC     DPTR
+00368E E0                MOVX    A,@DPTR
+00368F FF                MOV     R7,A
+003690 C3                CLR     C
+003691 904C94            MOV     DPTR,#m_adc3vValue+01H
+003694 E0                MOVX    A,@DPTR
+003695 9F                SUBB    A,R7
+003696 FD                MOV     R5,A
+003697 904C93            MOV     DPTR,#m_adc3vValue
+00369A E0                MOVX    A,@DPTR
+00369B 9E                SUBB    A,R6
+00369C FC                MOV     R4,A
+00369D E4                CLR     A
+00369E 120206            LCALL   ?C?FCASTI
+0036A1 7BAE              MOV     R3,#0AEH
+0036A3 7A47              MOV     R2,#047H
+0036A5 7981              MOV     R1,#081H
+0036A7 783F              MOV     R0,#03FH
+0036A9 1200FB            LCALL   ?C?FPMUL
+0036AC C004              PUSH    AR4
+0036AE C005              PUSH    AR5
+0036B0 C006              PUSH    AR6
+0036B2 C007              PUSH    AR7
+0036B4 904C91            MOV     DPTR,#m_adc0vBase
+0036B7 E0                MOVX    A,@DPTR
+0036B8 FC                MOV     R4,A
+0036B9 A3                INC     DPTR
+0036BA E0                MOVX    A,@DPTR
+0036BB FD                MOV     R5,A
+0036BC E4                CLR     A
+0036BD 120206            LCALL   ?C?FCASTI
+0036C0 D003              POP     AR3
+0036C2 D002              POP     AR2
+0036C4 D001              POP     AR1
+0036C6 D000              POP     AR0
+0036C8 12000A            LCALL   ?C?FPADD
+0036CB 12023F            LCALL   ?C?CASTF
+0036CE 904CE0            MOV     DPTR,#g_variable+021H
+0036D1 EE                MOV     A,R6
+0036D2 F0                MOVX    @DPTR,A
+0036D3 A3                INC     DPTR
+0036D4 EF                MOV     A,R7
+0036D5 F0                MOVX    @DPTR,A
    20: #endif
    21: #ifdef ADC_TYPE_VINLPM
    22: 		for (i = 0; i < BAT_ARRAY_LEN; i++)
@@ -10683,7 +10695,7 @@
    39: #endif	
    40: #endif
    41: }
-0036C3 22                RET     
+0036D6 22                RET     
 ----- FUNCTION YC_adc_init (END) -------
 
 
@@ -10693,13 +10705,13 @@
   113: {
   114: 	m_reset_reg = 1;
   115: 	while(1);
-0036C4 908010            MOV     DPTR,#m_reset_reg
-0036C7 7401              MOV     A,#01H
-0036C9 F0                MOVX    @DPTR,A
-0036CA         ?C0011?SYS:
+0036D7 908010            MOV     DPTR,#m_reset_reg
+0036DA 7401              MOV     A,#01H
+0036DC F0                MOVX    @DPTR,A
+0036DD         ?C0011?SYS:
   116: }
-0036CA 80FE              SJMP    ?C0011?SYS
-0036CC 22                RET     
+0036DD 80FE              SJMP    ?C0011?SYS
+0036DF 22                RET     
 ----- FUNCTION System_Hardware_reset (END) -------
 
 
@@ -10709,7 +10721,7 @@
   143: {
   144: 	System_Hardware_reset();
   145: }
-0036CD 80F5              SJMP    System_Hardware_reset
+0036E0 80F5              SJMP    System_Hardware_reset
 ----- FUNCTION System_Reset_Connect (END) -------
 
 
@@ -10717,300 +10729,300 @@
  FILE: 'sys.c'
   152: static void kb_cb_Hid(byte *p,byte len) {
   153: 	//p[0] is hid type,always is 1(kb) now
-0036CF 904EFE            MOV     DPTR,#len
-0036D2 ED                MOV     A,R5
-0036D3 F0                MOVX    @DPTR,A
+0036E2 904EFE            MOV     DPTR,#len
+0036E5 ED                MOV     A,R5
+0036E6 F0                MOVX    @DPTR,A
 ;---- Variable 'p' assigned to Register 'R1/R2/R3' ----
   154: 	byte temp = p[1];
-0036D4 900001            MOV     DPTR,#01H
-0036D7 1203CF            LCALL   ?C?CLDOPTR
-0036DA 904EFF            MOV     DPTR,#temp
-0036DD F0                MOVX    @DPTR,A
+0036E7 900001            MOV     DPTR,#01H
+0036EA 1203CF            LCALL   ?C?CLDOPTR
+0036ED 904EFF            MOV     DPTR,#temp
+0036F0 F0                MOVX    @DPTR,A
   155: 
   156: 	if (len<2) {
   157: 		return;
   158: 	}
   159: }
-0036DE 22                RET     
+0036F1 22                RET     
 ----- FUNCTION _kb_cb_Hid (END) -------
 
 
 ----- FUNCTION _bufsize (BEGIN) -----
-0036DF 904EDF            MOV     DPTR,#rptr
-0036E2 EE                MOV     A,R6
-0036E3 F0                MOVX    @DPTR,A
-0036E4 A3                INC     DPTR
-0036E5 EF                MOV     A,R7
-0036E6 F0                MOVX    @DPTR,A
-0036E7 904EE1            MOV     DPTR,#wptr
-0036EA EC                MOV     A,R4
-0036EB F0                MOVX    @DPTR,A
-0036EC A3                INC     DPTR
-0036ED ED                MOV     A,R5
-0036EE F0                MOVX    @DPTR,A
+0036F2 904EDF            MOV     DPTR,#rptr
+0036F5 EE                MOV     A,R6
+0036F6 F0                MOVX    @DPTR,A
+0036F7 A3                INC     DPTR
+0036F8 EF                MOV     A,R7
+0036F9 F0                MOVX    @DPTR,A
+0036FA 904EE1            MOV     DPTR,#wptr
+0036FD EC                MOV     A,R4
+0036FE F0                MOVX    @DPTR,A
+0036FF A3                INC     DPTR
+003700 ED                MOV     A,R5
+003701 F0                MOVX    @DPTR,A
 ;---- Variable 'buflen' assigned to Register 'R3' ----
-0036EF 904EE1            MOV     DPTR,#wptr
-0036F2 E0                MOVX    A,@DPTR
-0036F3 FE                MOV     R6,A
-0036F4 A3                INC     DPTR
-0036F5 E0                MOVX    A,@DPTR
-0036F6 FF                MOV     R7,A
-0036F7 D3                SETB    C
-0036F8 904EE0            MOV     DPTR,#rptr+01H
-0036FB E0                MOVX    A,@DPTR
-0036FC 9F                SUBB    A,R7
-0036FD 904EDF            MOV     DPTR,#rptr
-003700 E0                MOVX    A,@DPTR
-003701 9E                SUBB    A,R6
-003702 4016              JC      ?C0001?IPC
-003704 904EE1            MOV     DPTR,#wptr
-003707 E0                MOVX    A,@DPTR
-003708 FE                MOV     R6,A
-003709 A3                INC     DPTR
-00370A E0                MOVX    A,@DPTR
-00370B FF                MOV     R7,A
-00370C 904EE0            MOV     DPTR,#rptr+01H
-00370F E0                MOVX    A,@DPTR
-003710 9F                SUBB    A,R7
-003711 FF                MOV     R7,A
-003712 904EDF            MOV     DPTR,#rptr
-003715 E0                MOVX    A,@DPTR
-003716 9E                SUBB    A,R6
-003717 FE                MOV     R6,A
-003718 801E              SJMP    ?C0002?IPC
-00371A         ?C0001?IPC:
-00371A 904EDF            MOV     DPTR,#rptr
+003702 904EE1            MOV     DPTR,#wptr
+003705 E0                MOVX    A,@DPTR
+003706 FE                MOV     R6,A
+003707 A3                INC     DPTR
+003708 E0                MOVX    A,@DPTR
+003709 FF                MOV     R7,A
+00370A D3                SETB    C
+00370B 904EE0            MOV     DPTR,#rptr+01H
+00370E E0                MOVX    A,@DPTR
+00370F 9F                SUBB    A,R7
+003710 904EDF            MOV     DPTR,#rptr
+003713 E0                MOVX    A,@DPTR
+003714 9E                SUBB    A,R6
+003715 4016              JC      ?C0001?IPC
+003717 904EE1            MOV     DPTR,#wptr
+00371A E0                MOVX    A,@DPTR
+00371B FE                MOV     R6,A
+00371C A3                INC     DPTR
 00371D E0                MOVX    A,@DPTR
-00371E FE                MOV     R6,A
-00371F A3                INC     DPTR
-003720 E0                MOVX    A,@DPTR
-003721 FF                MOV     R7,A
-003722 C3                CLR     C
-003723 904EE2            MOV     DPTR,#wptr+01H
-003726 E0                MOVX    A,@DPTR
-003727 9F                SUBB    A,R7
-003728 FF                MOV     R7,A
-003729 904EE1            MOV     DPTR,#wptr
-00372C E0                MOVX    A,@DPTR
-00372D 9E                SUBB    A,R6
-00372E FE                MOV     R6,A
-00372F AD03              MOV     R5,AR3
-003731 C3                CLR     C
-003732 EB                MOV     A,R3
-003733 9F                SUBB    A,R7
+00371E FF                MOV     R7,A
+00371F 904EE0            MOV     DPTR,#rptr+01H
+003722 E0                MOVX    A,@DPTR
+003723 9F                SUBB    A,R7
+003724 FF                MOV     R7,A
+003725 904EDF            MOV     DPTR,#rptr
+003728 E0                MOVX    A,@DPTR
+003729 9E                SUBB    A,R6
+00372A FE                MOV     R6,A
+00372B 801E              SJMP    ?C0002?IPC
+00372D         ?C0001?IPC:
+00372D 904EDF            MOV     DPTR,#rptr
+003730 E0                MOVX    A,@DPTR
+003731 FE                MOV     R6,A
+003732 A3                INC     DPTR
+003733 E0                MOVX    A,@DPTR
 003734 FF                MOV     R7,A
-003735 E4                CLR     A
-003736 9E                SUBB    A,R6
-003737 FE                MOV     R6,A
-003738         ?C0002?IPC:
-003738 22                RET     
+003735 C3                CLR     C
+003736 904EE2            MOV     DPTR,#wptr+01H
+003739 E0                MOVX    A,@DPTR
+00373A 9F                SUBB    A,R7
+00373B FF                MOV     R7,A
+00373C 904EE1            MOV     DPTR,#wptr
+00373F E0                MOVX    A,@DPTR
+003740 9E                SUBB    A,R6
+003741 FE                MOV     R6,A
+003742 AD03              MOV     R5,AR3
+003744 C3                CLR     C
+003745 EB                MOV     A,R3
+003746 9F                SUBB    A,R7
+003747 FF                MOV     R7,A
+003748 E4                CLR     A
+003749 9E                SUBB    A,R6
+00374A FE                MOV     R6,A
+00374B         ?C0002?IPC:
+00374B 22                RET     
 ----- FUNCTION _bufsize (END) -------
 
 
 ----- FUNCTION _ipcRx (BEGIN) -----
-003739 904F00            MOV     DPTR,#dest
-00373C EE                MOV     A,R6
-00373D F0                MOVX    @DPTR,A
-00373E A3                INC     DPTR
-00373F EF                MOV     A,R7
-003740 F0                MOVX    @DPTR,A
+00374C 904F00            MOV     DPTR,#dest
+00374F EE                MOV     A,R6
+003750 F0                MOVX    @DPTR,A
+003751 A3                INC     DPTR
+003752 EF                MOV     A,R7
+003753 F0                MOVX    @DPTR,A
 ;---- Variable 'len' assigned to Register 'R1' ----
-003741 A905              MOV     R1,AR5
-003743 904B9E            MOV     DPTR,#ipcRxReadPtr
-003746 E0                MOVX    A,@DPTR
-003747 FE                MOV     R6,A
-003748 A3                INC     DPTR
-003749 E0                MOVX    A,@DPTR
-00374A FF                MOV     R7,A
+003754 A905              MOV     R1,AR5
+003756 904B9E            MOV     DPTR,#ipcRxReadPtr
+003759 E0                MOVX    A,@DPTR
+00375A FE                MOV     R6,A
+00375B A3                INC     DPTR
+00375C E0                MOVX    A,@DPTR
+00375D FF                MOV     R7,A
 ;---- Variable 'src' assigned to Register 'R6/R7' ----
-00374B         ?C0004?IPC:
-00374B AD01              MOV     R5,AR1
-00374D 19                DEC     R1
-00374E ED                MOV     A,R5
-00374F 602F              JZ      ?C0005?IPC
-003751 0F                INC     R7
-003752 EF                MOV     A,R7
-003753 AC06              MOV     R4,AR6
-003755 7001              JNZ     ?C0046?IPC
-003757 0E                INC     R6
-003758         ?C0046?IPC:
-003758 14                DEC     A
-003759 F582              MOV     DPL,A
-00375B 8C83              MOV     DPH,R4
-00375D E0                MOVX    A,@DPTR
-00375E FD                MOV     R5,A
-00375F 904F00            MOV     DPTR,#dest
-003762 E4                CLR     A
-003763 75F001            MOV     B,#01H
-003766 120424            LCALL   ?C?ILDIX
-003769 85F082            MOV     DPL,B
-00376C F583              MOV     DPH,A
-00376E ED                MOV     A,R5
-00376F F0                MOVX    @DPTR,A
-003770 AD07              MOV     R5,AR7
-003772 AC06              MOV     R4,AR6
-003774 BC4BD4            CJNE    R4,#04BH,?C0004?IPC
-003777 BD9AD1            CJNE    R5,#09AH,?C0004?IPC
-00377A 7E4B              MOV     R6,#04BH
-00377C 7F36              MOV     R7,#036H
-00377E 80CB              SJMP    ?C0004?IPC
-003780         ?C0005?IPC:
-003780 904B9E            MOV     DPTR,#ipcRxReadPtr
-003783 EE                MOV     A,R6
-003784 F0                MOVX    @DPTR,A
-003785 A3                INC     DPTR
-003786 EF                MOV     A,R7
-003787 F0                MOVX    @DPTR,A
-003788 22                RET     
+00375E         ?C0004?IPC:
+00375E AD01              MOV     R5,AR1
+003760 19                DEC     R1
+003761 ED                MOV     A,R5
+003762 602F              JZ      ?C0005?IPC
+003764 0F                INC     R7
+003765 EF                MOV     A,R7
+003766 AC06              MOV     R4,AR6
+003768 7001              JNZ     ?C0046?IPC
+00376A 0E                INC     R6
+00376B         ?C0046?IPC:
+00376B 14                DEC     A
+00376C F582              MOV     DPL,A
+00376E 8C83              MOV     DPH,R4
+003770 E0                MOVX    A,@DPTR
+003771 FD                MOV     R5,A
+003772 904F00            MOV     DPTR,#dest
+003775 E4                CLR     A
+003776 75F001            MOV     B,#01H
+003779 120424            LCALL   ?C?ILDIX
+00377C 85F082            MOV     DPL,B
+00377F F583              MOV     DPH,A
+003781 ED                MOV     A,R5
+003782 F0                MOVX    @DPTR,A
+003783 AD07              MOV     R5,AR7
+003785 AC06              MOV     R4,AR6
+003787 BC4BD4            CJNE    R4,#04BH,?C0004?IPC
+00378A BD9AD1            CJNE    R5,#09AH,?C0004?IPC
+00378D 7E4B              MOV     R6,#04BH
+00378F 7F36              MOV     R7,#036H
+003791 80CB              SJMP    ?C0004?IPC
+003793         ?C0005?IPC:
+003793 904B9E            MOV     DPTR,#ipcRxReadPtr
+003796 EE                MOV     A,R6
+003797 F0                MOVX    @DPTR,A
+003798 A3                INC     DPTR
+003799 EF                MOV     A,R7
+00379A F0                MOVX    @DPTR,A
+00379B 22                RET     
 ----- FUNCTION _ipcRx (END) -------
 
 
 ----- FUNCTION _IPC_TxBREDRHidData (BEGIN) -----
 ;---- Variable 'len' assigned to Register 'R5' ----
 ;---- Variable 'dt' assigned to Register 'R1/R2/R3' ----
-003789 900BE7            MOV     DPTR,#ipcSendBuff
-00378C 7403              MOV     A,#03H
-00378E F0                MOVX    @DPTR,A
-00378F ED                MOV     A,R5
-003790 6003              JZ      ?C0017?IPC
-003792         ?C0016?IPC:
-003792 120FED            LCALL   _IPC_TxData
-003795         ?C0017?IPC:
-003795 22                RET     
+00379C 900BE7            MOV     DPTR,#ipcSendBuff
+00379F 7403              MOV     A,#03H
+0037A1 F0                MOVX    @DPTR,A
+0037A2 ED                MOV     A,R5
+0037A3 6003              JZ      ?C0017?IPC
+0037A5         ?C0016?IPC:
+0037A5 120FED            LCALL   _IPC_TxData
+0037A8         ?C0017?IPC:
+0037A8 22                RET     
 ----- FUNCTION _IPC_TxBREDRHidData (END) -------
 
 
 ----- FUNCTION _IPC_TxSppData (BEGIN) -----
 ;---- Variable 'len' assigned to Register 'R5' ----
 ;---- Variable 'dt' assigned to Register 'R1/R2/R3' ----
-003796 900BE7            MOV     DPTR,#ipcSendBuff
-003799 7404              MOV     A,#04H
-00379B F0                MOVX    @DPTR,A
-00379C 020FED            LJMP    _IPC_TxData
+0037A9 900BE7            MOV     DPTR,#ipcSendBuff
+0037AC 7404              MOV     A,#04H
+0037AE F0                MOVX    @DPTR,A
+0037AF 020FED            LJMP    _IPC_TxData
 ----- FUNCTION _IPC_TxSppData (END) -------
 
 
 ----- FUNCTION _IPC_TxBleData (BEGIN) -----
 ;---- Variable 'len' assigned to Register 'R5' ----
 ;---- Variable 'dt' assigned to Register 'R1/R2/R3' ----
-00379F 900BE7            MOV     DPTR,#ipcSendBuff
-0037A2 7405              MOV     A,#05H
-0037A4 F0                MOVX    @DPTR,A
-0037A5 020FED            LJMP    _IPC_TxData
+0037B2 900BE7            MOV     DPTR,#ipcSendBuff
+0037B5 7405              MOV     A,#05H
+0037B7 F0                MOVX    @DPTR,A
+0037B8 020FED            LJMP    _IPC_TxData
 ----- FUNCTION _IPC_TxBleData (END) -------
 
 
 ----- FUNCTION IPC_GetBBDIsconnectReason (BEGIN) -----
-0037A8 900446            MOV     DPTR,#bbDisReason
-0037AB E0                MOVX    A,@DPTR
-0037AC FF                MOV     R7,A
-0037AD 22                RET     
+0037BB 900446            MOV     DPTR,#bbDisReason
+0037BE E0                MOVX    A,@DPTR
+0037BF FF                MOV     R7,A
+0037C0 22                RET     
 ----- FUNCTION IPC_GetBBDIsconnectReason (END) -------
 
 
 ----- FUNCTION YC_Ice_break (BEGIN) -----
-0037AE 908280            MOV     DPTR,#08280H
-0037B1 7401              MOV     A,#01H
-0037B3 F0                MOVX    @DPTR,A
-0037B4 22                RET     
+0037C1 908280            MOV     DPTR,#08280H
+0037C4 7401              MOV     A,#01H
+0037C6 F0                MOVX    @DPTR,A
+0037C7 22                RET     
 ----- FUNCTION YC_Ice_break (END) -------
 
 
 ----- FUNCTION _GPIO_ClearWakeup (BEGIN) -----
 ;---- Variable 'gpio_num' assigned to Register 'R7' ----
-0037B5 EF                MOV     A,R7
-0037B6 F4                CPL     A
-0037B7 603A              JZ      ?C0023?GPIO
-0037B9         ?C0022?GPIO:
-0037B9 EF                MOV     A,R7
-0037BA 5407              ANL     A,#07H
-0037BC FE                MOV     R6,A
+0037C8 EF                MOV     A,R7
+0037C9 F4                CPL     A
+0037CA 603A              JZ      ?C0023?GPIO
+0037CC         ?C0022?GPIO:
+0037CC EF                MOV     A,R7
+0037CD 5407              ANL     A,#07H
+0037CF FE                MOV     R6,A
 ;---- Variable 'queue' assigned to Register 'R6' ----
-0037BD EF                MOV     A,R7
-0037BE 13                RRC     A
-0037BF 13                RRC     A
-0037C0 13                RRC     A
-0037C1 5403              ANL     A,#03H
-0037C3 FF                MOV     R7,A
+0037D0 EF                MOV     A,R7
+0037D1 13                RRC     A
+0037D2 13                RRC     A
+0037D3 13                RRC     A
+0037D4 5403              ANL     A,#03H
+0037D6 FF                MOV     R7,A
 ;---- Variable 'group' assigned to Register 'R7' ----
-0037C4 24A3              ADD     A,#LOW YC_GPIOWakeupL
-0037C6 F582              MOV     DPL,A
-0037C8 E4                CLR     A
-0037C9 3400              ADDC    A,#HIGH YC_GPIOWakeupL
-0037CB F583              MOV     DPH,A
-0037CD C083              PUSH    DPH
-0037CF C082              PUSH    DPL
-0037D1 E0                MOVX    A,@DPTR
-0037D2 FD                MOV     R5,A
-0037D3 7401              MOV     A,#01H
-0037D5 A806              MOV     R0,AR6
-0037D7 08                INC     R0
-0037D8 8002              SJMP    ?C0043?GPIO
-0037DA         ?C0042?GPIO:
-0037DA C3                CLR     C
-0037DB 33                RLC     A
-0037DC         ?C0043?GPIO:
-0037DC D8FC              DJNZ    R0,?C0042?GPIO
-0037DE F4                CPL     A
-0037DF FC                MOV     R4,A
-0037E0 5D                ANL     A,R5
-0037E1 D082              POP     DPL
-0037E3 D083              POP     DPH
-0037E5 F0                MOVX    @DPTR,A
-0037E6 74A7              MOV     A,#LOW YC_GPIOWakeupH
-0037E8 2F                ADD     A,R7
-0037E9 F582              MOV     DPL,A
-0037EB E4                CLR     A
-0037EC 3400              ADDC    A,#HIGH YC_GPIOWakeupH
-0037EE F583              MOV     DPH,A
-0037F0 E0                MOVX    A,@DPTR
-0037F1 5C                ANL     A,R4
-0037F2 F0                MOVX    @DPTR,A
-0037F3         ?C0023?GPIO:
-0037F3 22                RET     
+0037D7 24A3              ADD     A,#LOW YC_GPIOWakeupL
+0037D9 F582              MOV     DPL,A
+0037DB E4                CLR     A
+0037DC 3400              ADDC    A,#HIGH YC_GPIOWakeupL
+0037DE F583              MOV     DPH,A
+0037E0 C083              PUSH    DPH
+0037E2 C082              PUSH    DPL
+0037E4 E0                MOVX    A,@DPTR
+0037E5 FD                MOV     R5,A
+0037E6 7401              MOV     A,#01H
+0037E8 A806              MOV     R0,AR6
+0037EA 08                INC     R0
+0037EB 8002              SJMP    ?C0043?GPIO
+0037ED         ?C0042?GPIO:
+0037ED C3                CLR     C
+0037EE 33                RLC     A
+0037EF         ?C0043?GPIO:
+0037EF D8FC              DJNZ    R0,?C0042?GPIO
+0037F1 F4                CPL     A
+0037F2 FC                MOV     R4,A
+0037F3 5D                ANL     A,R5
+0037F4 D082              POP     DPL
+0037F6 D083              POP     DPH
+0037F8 F0                MOVX    @DPTR,A
+0037F9 74A7              MOV     A,#LOW YC_GPIOWakeupH
+0037FB 2F                ADD     A,R7
+0037FC F582              MOV     DPL,A
+0037FE E4                CLR     A
+0037FF 3400              ADDC    A,#HIGH YC_GPIOWakeupH
+003801 F583              MOV     DPH,A
+003803 E0                MOVX    A,@DPTR
+003804 5C                ANL     A,R4
+003805 F0                MOVX    @DPTR,A
+003806         ?C0023?GPIO:
+003806 22                RET     
 ----- FUNCTION _GPIO_ClearWakeup (END) -------
 
 
 ----- FUNCTION GPIO_fillpd (BEGIN) -----
 ;---- Variable 'i' assigned to Register 'R7' ----
-0037F4 E4                CLR     A
-0037F5 FF                MOV     R7,A
-0037F6         ?C0026?GPIO:
-0037F6 EF                MOV     A,R7
-0037F7 FD                MOV     R5,A
-0037F8 7C00              MOV     R4,#00H
-0037FA 2478              ADD     A,#078H
-0037FC FB                MOV     R3,A
-0037FD EC                MOV     A,R4
-0037FE 3480              ADDC    A,#080H
-003800 8B82              MOV     DPL,R3
-003802 F583              MOV     DPH,A
-003804 E0                MOVX    A,@DPTR
-003805 FE                MOV     R6,A
-003806 ED                MOV     A,R5
-003807 2470              ADD     A,#070H
-003809 FD                MOV     R5,A
-00380A EC                MOV     A,R4
-00380B 3480              ADDC    A,#080H
-00380D 8D82              MOV     DPL,R5
-00380F F583              MOV     DPH,A
-003811 E0                MOVX    A,@DPTR
-003812 4E                ORL     A,R6
-003813 F4                CPL     A
-003814 FE                MOV     R6,A
-003815 EF                MOV     A,R7
-003816 247C              ADD     A,#07CH
-003818 FD                MOV     R5,A
-003819 EC                MOV     A,R4
-00381A 3480              ADDC    A,#080H
-00381C 8D82              MOV     DPL,R5
-00381E F583              MOV     DPH,A
-003820 EE                MOV     A,R6
-003821 F0                MOVX    @DPTR,A
-003822 0F                INC     R7
-003823 EF                MOV     A,R7
-003824 B404CF            CJNE    A,#04H,?C0026?GPIO
-003827 22                RET     
+003807 E4                CLR     A
+003808 FF                MOV     R7,A
+003809         ?C0026?GPIO:
+003809 EF                MOV     A,R7
+00380A FD                MOV     R5,A
+00380B 7C00              MOV     R4,#00H
+00380D 2478              ADD     A,#078H
+00380F FB                MOV     R3,A
+003810 EC                MOV     A,R4
+003811 3480              ADDC    A,#080H
+003813 8B82              MOV     DPL,R3
+003815 F583              MOV     DPH,A
+003817 E0                MOVX    A,@DPTR
+003818 FE                MOV     R6,A
+003819 ED                MOV     A,R5
+00381A 2470              ADD     A,#070H
+00381C FD                MOV     R5,A
+00381D EC                MOV     A,R4
+00381E 3480              ADDC    A,#080H
+003820 8D82              MOV     DPL,R5
+003822 F583              MOV     DPH,A
+003824 E0                MOVX    A,@DPTR
+003825 4E                ORL     A,R6
+003826 F4                CPL     A
+003827 FE                MOV     R6,A
+003828 EF                MOV     A,R7
+003829 247C              ADD     A,#07CH
+00382B FD                MOV     R5,A
+00382C EC                MOV     A,R4
+00382D 3480              ADDC    A,#080H
+00382F 8D82              MOV     DPL,R5
+003831 F583              MOV     DPH,A
+003833 EE                MOV     A,R6
+003834 F0                MOVX    @DPTR,A
+003835 0F                INC     R7
+003836 EF                MOV     A,R7
+003837 B404CF            CJNE    A,#04H,?C0026?GPIO
+00383A 22                RET     
 ----- FUNCTION GPIO_fillpd (END) -------
 
 
Index: c51/output/FW.HTM
===================================================================
--- /branch/mouse_project/LeXiang/Keyboard/KD8017C_2mode_3ch_LI/c51/output/FW.HTM	(revision 5394)
+++ /branch/mouse_project/LeXiang/Keyboard/KD8017C_2mode_3ch_LI/c51/output/FW.HTM	(working copy)
@@ -25,7 +25,7 @@
 
 <p class="TinyT">
 Created from: <b>LX51 LINKER/LOCATER V4.41</b><br>
-Creation time: <b>01/05/2023  11:12:12</b><p>
+Creation time: <b>03/06/2023  16:16:32</b><p>
 
 <hr>
 
@@ -64,19 +64,19 @@
 <li><a href="#S194">?PR?_GPIO_SETINPUT?GPIO</a></li>
 </ul>
 
-<h2><a name="S101"></a>?PR?SYSTEM_HARDWARE_RESET?SYS (C:0036C4H - C:0036CCH)</h2>
+<h2><a name="S101"></a>?PR?SYSTEM_HARDWARE_RESET?SYS (C:0036D7H - C:0036DFH)</h2>
 <p><br><b>Called from:</b></p>
 <ul>
 <li><a href="#S104">?PR?SYSTEM_RESET_CONNECT?SYS</a></li>
 </ul>
 
-<h2><a name="S104"></a>?PR?SYSTEM_RESET_CONNECT?SYS (C:0036CDH - C:0036CEH)</h2>
+<h2><a name="S104"></a>?PR?SYSTEM_RESET_CONNECT?SYS (C:0036E0H - C:0036E1H)</h2>
 <p><br><b>Calls to:</b></p>
 <ul>
 <li><a href="#S101">?PR?SYSTEM_HARDWARE_RESET?SYS</a></li>
 </ul>
 
-<h2><a name="S105"></a>?PR?_KB_CB_HID?SYS (C:0036CFH - C:0036DEH)</h2>
+<h2><a name="S105"></a>?PR?_KB_CB_HID?SYS (C:0036E2H - C:0036F1H)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=2 Bytes (<a href="#S219">?C?LIB_CODE</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -135,7 +135,7 @@
 <li><a href="#S112">?PR?YC_WAIT_DISCONNECT_TIMER500MS?SYS</a></li>
 </ul>
 
-<h2><a name="S116"></a>?PR?KB_CB_TIMER100MS?SYS (C:00348FH - C:00357CH)</h2>
+<h2><a name="S116"></a>?PR?KB_CB_TIMER100MS?SYS (C:0034A2H - C:00358FH)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=14 Bytes (<a href="#S55">?PR?_IPC_TXHIDDATA?KB_PROCESS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -175,14 +175,14 @@
 <li><a href="#S118">?PR?YC_SYSTEM_MAIN?SYS</a></li>
 </ul>
 
-<h2><a name="S140"></a>?PR?_IPC_TXBREDRHIDDATA?IPC (C:003789H - C:003795H)</h2>
+<h2><a name="S140"></a>?PR?_IPC_TXBREDRHIDDATA?IPC (C:00379CH - C:0037A8H)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=6 Bytes (<a href="#S138">?PR?_IPC_TXDATA?IPC</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
 <li><a href="#S138">?PR?_IPC_TXDATA?IPC</a></li>
 </ul>
 
-<h2><a name="S142"></a>?PR?_IPC_TXSPPDATA?IPC (C:003796H - C:00379EH)</h2>
+<h2><a name="S142"></a>?PR?_IPC_TXSPPDATA?IPC (C:0037A9H - C:0037B1H)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=4 Bytes (<a href="#S138">?PR?_IPC_TXDATA?IPC</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -456,7 +456,7 @@
 <li><a href="#S70">?PR?_KEY_FN_FUNCTION?KB_PROCESS</a></li>
 </ul>
 
-<h2><a name="S70"></a>?PR?_KEY_FN_FUNCTION?KB_PROCESS (C:00307EH - C:003363H)</h2>
+<h2><a name="S70"></a>?PR?_KEY_FN_FUNCTION?KB_PROCESS (C:00307EH - C:003376H)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=2 Bytes (<a href="#S69">?PR?_KB_COMBINATION_KEY_PRESS?KB_PROCESS</a>) Top=6 Bytes (<a href="#S88">?PR?KS_GETCURRENTEVT?KEYSCAN</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -503,7 +503,7 @@
 <li><a href="#S88">?PR?KS_GETCURRENTEVT?KEYSCAN</a></li>
 </ul>
 
-<h2><a name="S77"></a>?PR?KSRAWINITIALIZE?KEYSCAN (C:003364H - C:003380H)</h2>
+<h2><a name="S77"></a>?PR?KSRAWINITIALIZE?KEYSCAN (C:003377H - C:003393H)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=8 Bytes (<a href="#S194">?PR?_GPIO_SETINPUT?GPIO</a>) Top=6 Bytes (<a href="#S81">?PR?KS_INITIALIZE?KEYSCAN</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -606,7 +606,7 @@
 <li><a href="#S116">?PR?KB_CB_TIMER100MS?SYS</a></li>
 </ul>
 
-<h2><a name="S93"></a>?PR?LED_DEVICE_POWEROFF?LED (C:00346CH - C:00348EH)</h2>
+<h2><a name="S93"></a>?PR?LED_DEVICE_POWEROFF?LED (C:00347FH - C:0034A1H)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=4 Bytes (<a href="#S186">?PR?_GPIO_SETOUT?GPIO</a>) Top=4 Bytes (<a href="#S94">?PR?LED_HANDLE?LED</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -655,7 +655,7 @@
 <li><a href="#S100">?PR?SYSTEM_SOFTWARE_INIT?SYS</a></li>
 </ul>
 
-<h2><a name="S97"></a>?PR?SYSTEM_IIC_CLK_SETUP?SYS (C:003459H - C:00346BH)</h2>
+<h2><a name="S97"></a>?PR?SYSTEM_IIC_CLK_SETUP?SYS (C:00346CH - C:00347EH)</h2>
 <p><br><b>Maximum Stack:</b> Top=4 Bytes (<a href="#S99">?PR?SYSTEM_HARDWARE_INIT?SYS</a>)<p>
 <p><br><b>Called from:</b></p>
 <ul>
@@ -671,7 +671,7 @@
 <li><a href="#S109">?PR?YC_CHECK_CONNECT_BUTTON?SYS</a></li>
 </ul>
 
-<h2><a name="S99"></a>?PR?SYSTEM_HARDWARE_INIT?SYS (C:00339FH - C:0033C4H)</h2>
+<h2><a name="S99"></a>?PR?SYSTEM_HARDWARE_INIT?SYS (C:0033B2H - C:0033D7H)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=12 Bytes (<a href="#S81">?PR?KS_INITIALIZE?KEYSCAN</a>) Top=2 Bytes (<a href="#S107">?PR?_KB_CB_EVENT?SYS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -686,7 +686,7 @@
 <li><a href="#S107">?PR?_KB_CB_EVENT?SYS</a></li>
 </ul>
 
-<h2><a name="S100"></a>?PR?SYSTEM_SOFTWARE_INIT?SYS (C:00357DH - C:0035B1H)</h2>
+<h2><a name="S100"></a>?PR?SYSTEM_SOFTWARE_INIT?SYS (C:003590H - C:0035C4H)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=8 Bytes (<a href="#S124">?PR?YC_ADC_INIT?ADC</a>) Top=2 Bytes (<a href="#S107">?PR?_KB_CB_EVENT?SYS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -811,7 +811,7 @@
 <li><a href="#S118">?PR?YC_SYSTEM_MAIN?SYS</a></li>
 </ul>
 
-<h2><a name="S124"></a>?PR?YC_ADC_INIT?ADC (C:0035B2H - C:0036C3H)</h2>
+<h2><a name="S124"></a>?PR?YC_ADC_INIT?ADC (C:0035C5H - C:0036D6H)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=6 Bytes (<a href="#S219">?C?LIB_CODE</a>) Top=4 Bytes (<a href="#S100">?PR?SYSTEM_SOFTWARE_INIT?SYS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -859,14 +859,14 @@
 <li><a href="#S127">?PR?YC_ADC_MOTION_CHECK_TIMER500MS?ADC</a></li>
 </ul>
 
-<h2><a name="S130"></a>?PR?_BUFSIZE?IPC (C:0036DFH - C:003738H)</h2>
+<h2><a name="S130"></a>?PR?_BUFSIZE?IPC (C:0036F2H - C:00374BH)</h2>
 <p><br><b>Maximum Stack:</b> Top=16 Bytes (<a href="#S134">?PR?_IPCTX?IPC</a>)<p>
 <p><br><b>Called from:</b></p>
 <ul>
 <li><a href="#S134">?PR?_IPCTX?IPC</a></li>
 </ul>
 
-<h2><a name="S132"></a>?PR?_IPCRX?IPC (C:003739H - C:003788H)</h2>
+<h2><a name="S132"></a>?PR?_IPCRX?IPC (C:00374CH - C:00379BH)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=2 Bytes (<a href="#S219">?C?LIB_CODE</a>) Top=4 Bytes (<a href="#S149">?PR?IPC_DEALSINGLESTEP?IPC</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -935,7 +935,7 @@
 <li><a href="#S55">?PR?_IPC_TXHIDDATA?KB_PROCESS</a></li>
 </ul>
 
-<h2><a name="S143"></a>?PR?_IPC_TXBLEDATA?IPC (C:00379FH - C:0037A7H)</h2>
+<h2><a name="S143"></a>?PR?_IPC_TXBLEDATA?IPC (C:0037B2H - C:0037BAH)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=4 Bytes (<a href="#S138">?PR?_IPC_TXDATA?IPC</a>) Top=8 Bytes (<a href="#S55">?PR?_IPC_TXHIDDATA?KB_PROCESS</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -1070,7 +1070,7 @@
 <li><a href="#S88">?PR?KS_GETCURRENTEVT?KEYSCAN</a></li>
 </ul>
 
-<h2><a name="S180"></a>?PR?_GPIOSETBIT?GPIO (C:0033F8H - C:003458H)</h2>
+<h2><a name="S180"></a>?PR?_GPIOSETBIT?GPIO (C:00340BH - C:00346BH)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=2 Bytes (<a href="#S219">?C?LIB_CODE</a>) Top=14 Bytes (<a href="#S186">?PR?_GPIO_SETOUT?GPIO</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -1125,7 +1125,7 @@
 <li><a href="#S15">?PR?YC_UPDATE_EEPROM_DATA?BLUETOOTH</a></li>
 </ul>
 
-<h2><a name="S188"></a>?PR?_GPIO_SETPU?GPIO (C:0033C5H - C:0033D5H)</h2>
+<h2><a name="S188"></a>?PR?_GPIO_SETPU?GPIO (C:0033D8H - C:0033E8H)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=4 Bytes (<a href="#S180">?PR?_GPIOSETBIT?GPIO</a>) Top=10 Bytes (<a href="#S194">?PR?_GPIO_SETINPUT?GPIO</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -1138,7 +1138,7 @@
 <li><a href="#S196">?PR?_GPIO_SETOUTPUT?GPIO</a></li>
 </ul>
 
-<h2><a name="S190"></a>?PR?_GPIO_SETPD?GPIO (C:0033D6H - C:0033E6H)</h2>
+<h2><a name="S190"></a>?PR?_GPIO_SETPD?GPIO (C:0033E9H - C:0033F9H)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=4 Bytes (<a href="#S180">?PR?_GPIOSETBIT?GPIO</a>) Top=10 Bytes (<a href="#S194">?PR?_GPIO_SETINPUT?GPIO</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -1150,7 +1150,7 @@
 <li><a href="#S194">?PR?_GPIO_SETINPUT?GPIO</a></li>
 </ul>
 
-<h2><a name="S192"></a>?PR?_GPIO_SETOE?GPIO (C:0033E7H - C:0033F7H)</h2>
+<h2><a name="S192"></a>?PR?_GPIO_SETOE?GPIO (C:0033FAH - C:00340AH)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=4 Bytes (<a href="#S180">?PR?_GPIOSETBIT?GPIO</a>) Top=10 Bytes (<a href="#S194">?PR?_GPIO_SETINPUT?GPIO</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -1163,7 +1163,7 @@
 <li><a href="#S196">?PR?_GPIO_SETOUTPUT?GPIO</a></li>
 </ul>
 
-<h2><a name="S194"></a>?PR?_GPIO_SETINPUT?GPIO (C:003381H - C:00339EH)</h2>
+<h2><a name="S194"></a>?PR?_GPIO_SETINPUT?GPIO (C:003394H - C:0033B1H)</h2>
 <p><br><b>Maximum Stack:</b> Bottom=6 Bytes (<a href="#S190">?PR?_GPIO_SETPD?GPIO</a>) Top=8 Bytes (<a href="#S77">?PR?KSRAWINITIALIZE?KEYSCAN</a>)<p>
 <p><br><b>Calls to:</b></p>
 <ul>
@@ -1227,7 +1227,7 @@
 <li><a href="#S110">?PR?LED_TIMER500MS?SYS</a></li>
 </ul>
 
-<h2><a name="S207"></a>?PR?GPIO_FILLPD?GPIO (C:0037F4H - C:003827H)</h2>
+<h2><a name="S207"></a>?PR?GPIO_FILLPD?GPIO (C:003807H - C:00383AH)</h2>
 <p><br><b>Maximum Stack:</b> Top=4 Bytes (<a href="#S82">?PR?KS_UNISTALL?KEYSCAN</a>)<p>
 <p><br><b>Called from:</b></p>
 <ul>
Index: c51/output/FW.MAP
===================================================================
--- /branch/mouse_project/LeXiang/Keyboard/KD8017C_2mode_3ch_LI/c51/output/FW.MAP	(revision 5394)
+++ /branch/mouse_project/LeXiang/Keyboard/KD8017C_2mode_3ch_LI/c51/output/FW.MAP	(working copy)
@@ -1,4 +1,4 @@
-LX51 LINKER/LOCATER V4.41                                                               01/05/2023  11:12:12  PAGE 1
+LX51 LINKER/LOCATER V4.41                                                               03/06/2023  16:16:32  PAGE 1
 
 
 LX51 LINKER/LOCATER V4.41, INVOKED BY:
@@ -86,7 +86,7 @@
 BASE        START       END         USED      MEMORY CLASS
 ==========================================================
 X:000000H   X:004DD0H   X:004F40H   00038EH   XDATA
-C:000000H   C:000000H   C:00FFFFH   003772H   CODE
+C:000000H   C:000000H   C:00FFFFH   003785H   CODE
 I:000000H   I:000010H   I:00007FH   000008H   DATA
 I:000000H   I:000080H   I:0000CFH   000001H   IDATA
 C:000000H   C:000000H   C:00FFFFH   0000B6H   CONST
@@ -202,31 +202,31 @@
 002E5FH   002FBCH   00015EH   BYTE   UNIT     CODE           ?PR?KS_SCANMATRIX?KEYSCAN
 002FBDH   003058H   00009CH   BYTE   UNIT     CODE           ?PR?_KB_DEVICE_SELECT?KB_PROCESS
 003059H   00307DH   000025H   BYTE   UNIT     CODE           ?PR?_KB_COMBINATION_KEY_PRESS?KB_PROCESS
-00307EH   003363H   0002E6H   BYTE   UNIT     CODE           ?PR?_KEY_FN_FUNCTION?KB_PROCESS
-003364H   003380H   00001DH   BYTE   UNIT     CODE           ?PR?KSRAWINITIALIZE?KEYSCAN
-003381H   00339EH   00001EH   BYTE   UNIT     CODE           ?PR?_GPIO_SETINPUT?GPIO
-00339FH   0033C4H   000026H   BYTE   UNIT     CODE           ?PR?SYSTEM_HARDWARE_INIT?SYS
-0033C5H   0033D5H   000011H   BYTE   UNIT     CODE           ?PR?_GPIO_SETPU?GPIO
-0033D6H   0033E6H   000011H   BYTE   UNIT     CODE           ?PR?_GPIO_SETPD?GPIO
-0033E7H   0033F7H   000011H   BYTE   UNIT     CODE           ?PR?_GPIO_SETOE?GPIO
-0033F8H   003458H   000061H   BYTE   UNIT     CODE           ?PR?_GPIOSETBIT?GPIO
-003459H   00346BH   000013H   BYTE   UNIT     CODE           ?PR?SYSTEM_IIC_CLK_SETUP?SYS
-00346CH   00348EH   000023H   BYTE   UNIT     CODE           ?PR?LED_DEVICE_POWEROFF?LED
-00348FH   00357CH   0000EEH   BYTE   UNIT     CODE           ?PR?KB_CB_TIMER100MS?SYS
-00357DH   0035B1H   000035H   BYTE   UNIT     CODE           ?PR?SYSTEM_SOFTWARE_INIT?SYS
-0035B2H   0036C3H   000112H   BYTE   UNIT     CODE           ?PR?YC_ADC_INIT?ADC
-0036C4H   0036CCH   000009H   BYTE   UNIT     CODE           ?PR?SYSTEM_HARDWARE_RESET?SYS
-0036CDH   0036CEH   000002H   BYTE   UNIT     CODE           ?PR?SYSTEM_RESET_CONNECT?SYS
-0036CFH   0036DEH   000010H   BYTE   UNIT     CODE           ?PR?_KB_CB_HID?SYS
-0036DFH   003738H   00005AH   BYTE   UNIT     CODE           ?PR?_BUFSIZE?IPC
-003739H   003788H   000050H   BYTE   UNIT     CODE           ?PR?_IPCRX?IPC
-003789H   003795H   00000DH   BYTE   UNIT     CODE           ?PR?_IPC_TXBREDRHIDDATA?IPC
-003796H   00379EH   000009H   BYTE   UNIT     CODE           ?PR?_IPC_TXSPPDATA?IPC
-00379FH   0037A7H   000009H   BYTE   UNIT     CODE           ?PR?_IPC_TXBLEDATA?IPC
-0037A8H   0037ADH   000006H   BYTE   UNIT     CODE           ?PR?IPC_GETBBDISCONNECTREASON?IPC
-0037AEH   0037B4H   000007H   BYTE   UNIT     CODE           ?PR?YC_ICE_BREAK?UTILITIES
-0037B5H   0037F3H   00003FH   BYTE   UNIT     CODE           ?PR?_GPIO_CLEARWAKEUP?GPIO
-0037F4H   003827H   000034H   BYTE   UNIT     CODE           ?PR?GPIO_FILLPD?GPIO
+00307EH   003376H   0002F9H   BYTE   UNIT     CODE           ?PR?_KEY_FN_FUNCTION?KB_PROCESS
+003377H   003393H   00001DH   BYTE   UNIT     CODE           ?PR?KSRAWINITIALIZE?KEYSCAN
+003394H   0033B1H   00001EH   BYTE   UNIT     CODE           ?PR?_GPIO_SETINPUT?GPIO
+0033B2H   0033D7H   000026H   BYTE   UNIT     CODE           ?PR?SYSTEM_HARDWARE_INIT?SYS
+0033D8H   0033E8H   000011H   BYTE   UNIT     CODE           ?PR?_GPIO_SETPU?GPIO
+0033E9H   0033F9H   000011H   BYTE   UNIT     CODE           ?PR?_GPIO_SETPD?GPIO
+0033FAH   00340AH   000011H   BYTE   UNIT     CODE           ?PR?_GPIO_SETOE?GPIO
+00340BH   00346BH   000061H   BYTE   UNIT     CODE           ?PR?_GPIOSETBIT?GPIO
+00346CH   00347EH   000013H   BYTE   UNIT     CODE           ?PR?SYSTEM_IIC_CLK_SETUP?SYS
+00347FH   0034A1H   000023H   BYTE   UNIT     CODE           ?PR?LED_DEVICE_POWEROFF?LED
+0034A2H   00358FH   0000EEH   BYTE   UNIT     CODE           ?PR?KB_CB_TIMER100MS?SYS
+003590H   0035C4H   000035H   BYTE   UNIT     CODE           ?PR?SYSTEM_SOFTWARE_INIT?SYS
+0035C5H   0036D6H   000112H   BYTE   UNIT     CODE           ?PR?YC_ADC_INIT?ADC
+0036D7H   0036DFH   000009H   BYTE   UNIT     CODE           ?PR?SYSTEM_HARDWARE_RESET?SYS
+0036E0H   0036E1H   000002H   BYTE   UNIT     CODE           ?PR?SYSTEM_RESET_CONNECT?SYS
+0036E2H   0036F1H   000010H   BYTE   UNIT     CODE           ?PR?_KB_CB_HID?SYS
+0036F2H   00374BH   00005AH   BYTE   UNIT     CODE           ?PR?_BUFSIZE?IPC
+00374CH   00379BH   000050H   BYTE   UNIT     CODE           ?PR?_IPCRX?IPC
+00379CH   0037A8H   00000DH   BYTE   UNIT     CODE           ?PR?_IPC_TXBREDRHIDDATA?IPC
+0037A9H   0037B1H   000009H   BYTE   UNIT     CODE           ?PR?_IPC_TXSPPDATA?IPC
+0037B2H   0037BAH   000009H   BYTE   UNIT     CODE           ?PR?_IPC_TXBLEDATA?IPC
+0037BBH   0037C0H   000006H   BYTE   UNIT     CODE           ?PR?IPC_GETBBDISCONNECTREASON?IPC
+0037C1H   0037C7H   000007H   BYTE   UNIT     CODE           ?PR?YC_ICE_BREAK?UTILITIES
+0037C8H   003806H   00003FH   BYTE   UNIT     CODE           ?PR?_GPIO_CLEARWAKEUP?GPIO
+003807H   00383AH   000034H   BYTE   UNIT     CODE           ?PR?GPIO_FILLPD?GPIO
 
 * * * * * * * * * * *  X D A T A   M E M O R Y  * * * * * * * * * * * * *
 000040H   000045H   000006H   BYTE   OFFS..   XDATA          ?XD?GLOBAL_VARIABLE?29
@@ -417,15 +417,15 @@
       01002D15H   CODE     ---       _compare_str
       01000D52H   CODE     ---       _Delay1ms
       0100248AH   CODE     ---       _dmemcpy
-      010037B5H   CODE     ---       _GPIO_ClearWakeup
+      010037C8H   CODE     ---       _GPIO_ClearWakeup
       010018F8H   CODE     ---       _GPIO_FlipOutBit
       01001B80H   CODE     ---       _GPIO_GetInputStatus
-      01003381H   CODE     ---       _GPIO_SetInput
-      010033E7H   CODE     ---       _GPIO_Setoe
+      01003394H   CODE     ---       _GPIO_SetInput
+      010033FAH   CODE     ---       _GPIO_Setoe
       01000F74H   CODE     ---       _GPIO_Setout
       01000FCAH   CODE     ---       _GPIO_SetOutput
-      010033D6H   CODE     ---       _GPIO_SetPd
-      010033C5H   CODE     ---       _GPIO_SetPu
+      010033E9H   CODE     ---       _GPIO_SetPd
+      010033D8H   CODE     ---       _GPIO_SetPu
       01001A46H   CODE     ---       _GPIO_SetWakeup
       01001B6BH   CODE     ---       _GPIO_SetWakeupByCurrentState
       01002120H   CODE     ---       _IIC_Read
@@ -433,12 +433,12 @@
       01000EC6H   CODE     ---       _IIC_WriteBlock
       01001FB7H   CODE     ---       _IPC_Initialize
       01000FE7H   CODE     ---       _IPC_Tx24GData
-      0100379FH   CODE     ---       _IPC_TxBleData
-      01003789H   CODE     ---       _IPC_TxBREDRHidData
+      010037B2H   CODE     ---       _IPC_TxBleData
+      0100379CH   CODE     ---       _IPC_TxBREDRHidData
       010010A6H   CODE     ---       _IPC_TxControlCmd
       01000FEDH   CODE     ---       _IPC_TxData
       01000C6FH   CODE     ---       _IPC_TxHidData
-      01003796H   CODE     ---       _IPC_TxSppData
+      010037A9H   CODE     ---       _IPC_TxSppData
       01003059H   CODE     ---       _kb_combination_key_press
       01002FBDH   CODE     ---       _kb_device_select
       01000897H   CODE     ---       _kb_motion_keyscan
@@ -474,12 +474,12 @@
       02004DD8H   XDATA    BYTE      fn_tx_flag
       02004CBFH   XDATA    ---       g_variable
       02004DD5H   XDATA    BYTE      get_24g_led_send
-      010037F4H   CODE     ---       GPIO_fillpd
+      01003807H   CODE     ---       GPIO_fillpd
       02004800H   XDATA    ---       hidBuff
       02004DE2H   XDATA    BYTE      iOS_rec_pinCode
       01001FC4H   CODE     ---       IPC_AbandonLpm
       01001DA2H   CODE     ---       IPC_DealSingleStep
-      010037A8H   CODE     ---       IPC_GetBBDIsconnectReason
+      010037BBH   CODE     ---       IPC_GetBBDIsconnectReason
       01002CCDH   CODE     ---       IPC_IsTxBuffEmpty
       01001CD4H   CODE     ---       IPC_WaitLpm
       02000550H   XDATA    ---       ipcPin
@@ -508,7 +508,7 @@
       02004DDCH   XDATA    BYTE      le_send_battery_level_delay_count
       02004DDBH   XDATA    BYTE      le_send_battery_level_flag
       01001FD0H   CODE     ---       LED_all_shutdown
-      0100346CH   CODE     ---       LED_device_poweroff
+      0100347FH   CODE     ---       LED_device_poweroff
       01000F86H   CODE     ---       LED_device_poweron
       01001914H   CODE     ---       LED_handle
       01001833H   CODE     ---       LED_timer500ms
@@ -561,11 +561,11 @@
       0100245BH   CODE     ---       System_G24_long_lpm
       02004DEAH   XDATA    BYTE      system_key_press
       01001757H   CODE     ---       System_long_sleep
-      010036CDH   CODE     ---       System_Reset_Connect
-      0100357DH   CODE     ---       System_Software_init
+      010036E0H   CODE     ---       System_Reset_Connect
+      01003590H   CODE     ---       System_Software_init
       010024CEH   CODE     ---       YC_adc_check
       0100235EH   CODE     ---       YC_adc_check_timer500ms
-      010035B2H   CODE     ---       YC_adc_init
+      010035C5H   CODE     ---       YC_adc_init
       0100233DH   CODE     ---       YC_adc_motion_check_timer500ms
       01001458H   CODE     ---       YC_cancel_reconnect
       0100181EH   CODE     ---       YC_check_is_connected
@@ -577,7 +577,7 @@
       010021D0H   CODE     ---       YC_get_ble_ramdon_lap
       020000A7H   XDATA    ---       YC_GPIOWakeupH
       020000A3H   XDATA    ---       YC_GPIOWakeupL
-      010037AEH   CODE     ---       YC_Ice_break
+      010037C1H   CODE     ---       YC_Ice_break
       0100176AH   CODE     ---       YC_pairing_timerout_500ms
       0100206CH   CODE     ---       YC_start_reconnect
       010019C8H   CODE     ---       YC_System_Main
@@ -1390,305 +1390,307 @@
       0100308BH   LINE      ---      ---       #618
       01003090H   LINE      ---      ---       #620
       01003095H   LINE      ---      ---       #622
-      0100309CH   LINE      ---      ---       #623
-      0100309CH   LINE      ---      ---       #624
-      010030A0H   LINE      ---      ---       #625
-      010030A8H   LINE      ---      ---       #626
-      010030ACH   LINE      ---      ---       #627
-      010030B4H   LINE      ---      ---       #628
-      010030B8H   LINE      ---      ---       #629
-      010030C0H   LINE      ---      ---       #630
-      010030C4H   LINE      ---      ---       #631
-      010030CAH   LINE      ---      ---       #632
-      010030CAH   LINE      ---      ---       #634
-      010030CDH   LINE      ---      ---       #635
-      010030CDH   LINE      ---      ---       #636
-      010030D1H   LINE      ---      ---       #637
-      010030D1H   LINE      ---      ---       #638
-      010030D9H   LINE      ---      ---       #639
-      010030DEH   LINE      ---      ---       #640
-      010030DEH   LINE      ---      ---       #641
-      010030DEH   LINE      ---      ---       #643
-      010030E8H   LINE      ---      ---       #644
-      010030E8H   LINE      ---      ---       #645
-      010030FCH   LINE      ---      ---       #646
-      010030FCH   LINE      ---      ---       #647
-      01003100H   LINE      ---      ---       #648
-      01003100H   LINE      ---      ---       #649
-      01003106H   LINE      ---      ---       #650
-      01003108H   LINE      ---      ---       #651
-      0100310CH   LINE      ---      ---       #652
-      0100310CH   LINE      ---      ---       #653
-      01003111H   LINE      ---      ---       #655
-      01003113H   LINE      ---      ---       #656
-      01003117H   LINE      ---      ---       #657
-      01003117H   LINE      ---      ---       #658
-      0100311DH   LINE      ---      ---       #660
-      0100311FH   LINE      ---      ---       #661
-      01003123H   LINE      ---      ---       #662
-      01003123H   LINE      ---      ---       #663
-      01003129H   LINE      ---      ---       #665
-      01003129H   LINE      ---      ---       #666
-      0100312EH   LINE      ---      ---       #667
-      01003138H   LINE      ---      ---       #668
-      01003138H   LINE      ---      ---       #669
-      0100313EH   LINE      ---      ---       #670
-      01003140H   LINE      ---      ---       #671
-      0100314EH   LINE      ---      ---       #672
-      0100314EH   LINE      ---      ---       #673
-      01003166H   LINE      ---      ---       #674
-      0100316CH   LINE      ---      ---       #675
-      0100316CH   LINE      ---      ---       #676
-      0100316EH   LINE      ---      ---       #677
-      01003173H   LINE      ---      ---       #678
-      01003173H   LINE      ---      ---       #679
-      01003177H   LINE      ---      ---       #680
-      01003177H   LINE      ---      ---       #681
-      0100317DH   LINE      ---      ---       #682
-      0100317DH   LINE      ---      ---       #683
-      0100317FH   LINE      ---      ---       #684
-      01003181H   LINE      ---      ---       #686
-      01003187H   LINE      ---      ---       #688
-      01003191H   LINE      ---      ---       #689
-      01003191H   LINE      ---      ---       #690
-      01003197H   LINE      ---      ---       #691
-      01003199H   LINE      ---      ---       #692
-      010031A5H   LINE      ---      ---       #693
-      010031A5H   LINE      ---      ---       #694
-      010031BDH   LINE      ---      ---       #695
-      010031C3H   LINE      ---      ---       #696
-      010031C3H   LINE      ---      ---       #697
-      010031C3H   LINE      ---      ---       #698
-      010031C8H   LINE      ---      ---       #699
-      010031C8H   LINE      ---      ---       #700
-      010031C8H   LINE      ---      ---       #701
-      010031F0H   LINE      ---      ---       #702
-      010031F0H   LINE      ---      ---       #703
-      0100322CH   LINE      ---      ---       #704
-      0100322CH   LINE      ---      ---       #705
-      0100322CH   LINE      ---      ---       #706
-      01003232H   LINE      ---      ---       #707
-      01003234H   LINE      ---      ---       #708
-      01003234H   LINE      ---      ---       #709
-      0100323AH   LINE      ---      ---       #710
-      0100323CH   LINE      ---      ---       #711
-      0100323CH   LINE      ---      ---       #712
-      01003244H   LINE      ---      ---       #713
-      01003244H   LINE      ---      ---       #714
-      0100324CH   LINE      ---      ---       #715
-      01003250H   LINE      ---      ---       #716
-      01003250H   LINE      ---      ---       #717
-      01003256H   LINE      ---      ---       #718
-      01003256H   LINE      ---      ---       #719
-      0100325BH   LINE      ---      ---       #720
-      0100325DH   LINE      ---      ---       #721
-      0100326AH   LINE      ---      ---       #722
-      0100326AH   LINE      ---      ---       #723
-      01003272H   LINE      ---      ---       #724
-      01003276H   LINE      ---      ---       #725
-      01003276H   LINE      ---      ---       #726
-      0100327CH   LINE      ---      ---       #727
-      0100327CH   LINE      ---      ---       #728
-      01003281H   LINE      ---      ---       #729
-      01003281H   LINE      ---      ---       #731
-      01003283H   LINE      ---      ---       #732
-      01003283H   LINE      ---      ---       #733
-      0100328AH   LINE      ---      ---       #734
-      0100328AH   LINE      ---      ---       #735
-      01003292H   LINE      ---      ---       #736
-      01003296H   LINE      ---      ---       #737
-      01003296H   LINE      ---      ---       #738
-      0100329CH   LINE      ---      ---       #739
-      0100329CH   LINE      ---      ---       #740
-      010032A1H   LINE      ---      ---       #741
-      010032A1H   LINE      ---      ---       #742
-      010032A7H   LINE      ---      ---       #743
-      010032A9H   LINE      ---      ---       #744
-      010032A9H   LINE      ---      ---       #745
-      010032B6H   LINE      ---      ---       #746
-      010032C0H   LINE      ---      ---       #747
-      010032C7H   LINE      ---      ---       #748
-      010032D1H   LINE      ---      ---       #750
-      010032D9H   LINE      ---      ---       #752
-      010032DDH   LINE      ---      ---       #753
-      010032DDH   LINE      ---      ---       #754
-      010032E3H   LINE      ---      ---       #755
-      010032E3H   LINE      ---      ---       #756
-      010032E8H   LINE      ---      ---       #757
-      010032EAH   LINE      ---      ---       #758
-      010032EAH   LINE      ---      ---       #759
-      010032F1H   LINE      ---      ---       #760
-      010032F1H   LINE      ---      ---       #761
-      010032F9H   LINE      ---      ---       #762
-      010032FDH   LINE      ---      ---       #763
-      010032FDH   LINE      ---      ---       #764
-      01003303H   LINE      ---      ---       #765
-      01003303H   LINE      ---      ---       #766
-      01003308H   LINE      ---      ---       #767
-      01003308H   LINE      ---      ---       #768
-      0100330FH   LINE      ---      ---       #769
-      0100330FH   LINE      ---      ---       #770
-      01003317H   LINE      ---      ---       #771
-      0100331BH   LINE      ---      ---       #772
-      0100331BH   LINE      ---      ---       #773
-      01003321H   LINE      ---      ---       #774
-      01003321H   LINE      ---      ---       #775
-      01003326H   LINE      ---      ---       #776
-      01003328H   LINE      ---      ---       #778
-      0100332EH   LINE      ---      ---       #779
-      01003330H   LINE      ---      ---       #780
-      01003330H   LINE      ---      ---       #781
-      01003336H   LINE      ---      ---       #782
-      01003338H   LINE      ---      ---       #783
-      01003338H   LINE      ---      ---       #784
-      0100333EH   LINE      ---      ---       #785
-      01003340H   LINE      ---      ---       #786
-      01003340H   LINE      ---      ---       #787
-      01003346H   LINE      ---      ---       #788
-      01003348H   LINE      ---      ---       #789
-      01003348H   LINE      ---      ---       #790
-      0100334EH   LINE      ---      ---       #791
-      01003350H   LINE      ---      ---       #792
-      01003350H   LINE      ---      ---       #793
-      01003356H   LINE      ---      ---       #794
-      01003358H   LINE      ---      ---       #795
-      01003358H   LINE      ---      ---       #796
-      0100335EH   LINE      ---      ---       #797
-      0100335EH   LINE      ---      ---       #798
-      0100335EH   LINE      ---      ---       #799
-      0100335EH   LINE      ---      ---       #800
-      0100335EH   LINE      ---      ---       #801
-      0100335EH   LINE      ---      ---       #803
-      01003363H   LINE      ---      ---       #804
+      010030A0H   LINE      ---      ---       #623
+      010030A0H   LINE      ---      ---       #624
+      010030A4H   LINE      ---      ---       #625
+      010030ACH   LINE      ---      ---       #626
+      010030B0H   LINE      ---      ---       #627
+      010030B8H   LINE      ---      ---       #628
+      010030BCH   LINE      ---      ---       #629
+      010030C4H   LINE      ---      ---       #630
+      010030C8H   LINE      ---      ---       #631
+      010030D0H   LINE      ---      ---       #632
+      010030D4H   LINE      ---      ---       #633
+      010030DAH   LINE      ---      ---       #634
+      010030DAH   LINE      ---      ---       #636
+      010030E0H   LINE      ---      ---       #637
+      010030E0H   LINE      ---      ---       #638
+      010030E4H   LINE      ---      ---       #639
+      010030E4H   LINE      ---      ---       #640
+      010030ECH   LINE      ---      ---       #641
+      010030F1H   LINE      ---      ---       #642
+      010030F1H   LINE      ---      ---       #643
+      010030F1H   LINE      ---      ---       #645
+      010030FBH   LINE      ---      ---       #646
+      010030FBH   LINE      ---      ---       #647
+      0100310FH   LINE      ---      ---       #648
+      0100310FH   LINE      ---      ---       #649
+      01003113H   LINE      ---      ---       #650
+      01003113H   LINE      ---      ---       #651
+      01003119H   LINE      ---      ---       #652
+      0100311BH   LINE      ---      ---       #653
+      0100311FH   LINE      ---      ---       #654
+      0100311FH   LINE      ---      ---       #655
+      01003124H   LINE      ---      ---       #657
+      01003126H   LINE      ---      ---       #658
+      0100312AH   LINE      ---      ---       #659
+      0100312AH   LINE      ---      ---       #660
+      01003130H   LINE      ---      ---       #662
+      01003132H   LINE      ---      ---       #663
+      01003136H   LINE      ---      ---       #664
+      01003136H   LINE      ---      ---       #665
+      0100313CH   LINE      ---      ---       #667
+      0100313CH   LINE      ---      ---       #668
+      01003141H   LINE      ---      ---       #669
+      0100314BH   LINE      ---      ---       #670
+      0100314BH   LINE      ---      ---       #671
+      01003151H   LINE      ---      ---       #672
+      01003153H   LINE      ---      ---       #673
+      01003161H   LINE      ---      ---       #674
+      01003161H   LINE      ---      ---       #675
+      01003179H   LINE      ---      ---       #676
+      0100317FH   LINE      ---      ---       #677
+      0100317FH   LINE      ---      ---       #678
+      01003181H   LINE      ---      ---       #679
+      01003186H   LINE      ---      ---       #680
+      01003186H   LINE      ---      ---       #681
+      0100318AH   LINE      ---      ---       #682
+      0100318AH   LINE      ---      ---       #683
+      01003190H   LINE      ---      ---       #684
+      01003190H   LINE      ---      ---       #685
+      01003192H   LINE      ---      ---       #686
+      01003194H   LINE      ---      ---       #688
+      0100319AH   LINE      ---      ---       #690
+      010031A4H   LINE      ---      ---       #691
+      010031A4H   LINE      ---      ---       #692
+      010031AAH   LINE      ---      ---       #693
+      010031ACH   LINE      ---      ---       #694
+      010031B8H   LINE      ---      ---       #695
+      010031B8H   LINE      ---      ---       #696
+      010031D0H   LINE      ---      ---       #697
+      010031D6H   LINE      ---      ---       #698
+      010031D6H   LINE      ---      ---       #699
+      010031D6H   LINE      ---      ---       #700
+      010031DBH   LINE      ---      ---       #701
+      010031DBH   LINE      ---      ---       #702
+      010031DBH   LINE      ---      ---       #703
+      01003203H   LINE      ---      ---       #704
+      01003203H   LINE      ---      ---       #705
+      0100323FH   LINE      ---      ---       #706
+      0100323FH   LINE      ---      ---       #707
+      0100323FH   LINE      ---      ---       #708
+      01003245H   LINE      ---      ---       #709
+      01003247H   LINE      ---      ---       #710
+      01003247H   LINE      ---      ---       #711
+      0100324DH   LINE      ---      ---       #712
+      0100324FH   LINE      ---      ---       #713
+      0100324FH   LINE      ---      ---       #714
+      01003257H   LINE      ---      ---       #715
+      01003257H   LINE      ---      ---       #716
+      0100325FH   LINE      ---      ---       #717
+      01003263H   LINE      ---      ---       #718
+      01003263H   LINE      ---      ---       #719
+      01003269H   LINE      ---      ---       #720
+      01003269H   LINE      ---      ---       #721
+      0100326EH   LINE      ---      ---       #722
+      01003270H   LINE      ---      ---       #723
+      0100327DH   LINE      ---      ---       #724
+      0100327DH   LINE      ---      ---       #725
+      01003285H   LINE      ---      ---       #726
+      01003289H   LINE      ---      ---       #727
+      01003289H   LINE      ---      ---       #728
+      0100328FH   LINE      ---      ---       #729
+      0100328FH   LINE      ---      ---       #730
+      01003294H   LINE      ---      ---       #731
+      01003294H   LINE      ---      ---       #733
+      01003296H   LINE      ---      ---       #734
+      01003296H   LINE      ---      ---       #735
+      0100329DH   LINE      ---      ---       #736
+      0100329DH   LINE      ---      ---       #737
+      010032A5H   LINE      ---      ---       #738
+      010032A9H   LINE      ---      ---       #739
+      010032A9H   LINE      ---      ---       #740
+      010032AFH   LINE      ---      ---       #741
+      010032AFH   LINE      ---      ---       #742
+      010032B4H   LINE      ---      ---       #743
+      010032B4H   LINE      ---      ---       #744
+      010032BAH   LINE      ---      ---       #745
+      010032BCH   LINE      ---      ---       #746
+      010032BCH   LINE      ---      ---       #747
+      010032C9H   LINE      ---      ---       #748
+      010032D3H   LINE      ---      ---       #749
+      010032DAH   LINE      ---      ---       #750
+      010032E4H   LINE      ---      ---       #752
+      010032ECH   LINE      ---      ---       #754
+      010032F0H   LINE      ---      ---       #755
+      010032F0H   LINE      ---      ---       #756
+      010032F6H   LINE      ---      ---       #757
+      010032F6H   LINE      ---      ---       #758
+      010032FBH   LINE      ---      ---       #759
+      010032FDH   LINE      ---      ---       #760
+      010032FDH   LINE      ---      ---       #761
+      01003304H   LINE      ---      ---       #762
+      01003304H   LINE      ---      ---       #763
+      0100330CH   LINE      ---      ---       #764
+      01003310H   LINE      ---      ---       #765
+      01003310H   LINE      ---      ---       #766
+      01003316H   LINE      ---      ---       #767
+      01003316H   LINE      ---      ---       #768
+      0100331BH   LINE      ---      ---       #769
+      0100331BH   LINE      ---      ---       #770
+      01003322H   LINE      ---      ---       #771
+      01003322H   LINE      ---      ---       #772
+      0100332AH   LINE      ---      ---       #773
+      0100332EH   LINE      ---      ---       #774
+      0100332EH   LINE      ---      ---       #775
+      01003334H   LINE      ---      ---       #776
+      01003334H   LINE      ---      ---       #777
+      01003339H   LINE      ---      ---       #778
+      0100333BH   LINE      ---      ---       #780
+      01003341H   LINE      ---      ---       #781
+      01003343H   LINE      ---      ---       #782
+      01003343H   LINE      ---      ---       #783
+      01003349H   LINE      ---      ---       #784
+      0100334BH   LINE      ---      ---       #785
+      0100334BH   LINE      ---      ---       #786
+      01003351H   LINE      ---      ---       #787
+      01003353H   LINE      ---      ---       #788
+      01003353H   LINE      ---      ---       #789
+      01003359H   LINE      ---      ---       #790
+      0100335BH   LINE      ---      ---       #791
+      0100335BH   LINE      ---      ---       #792
+      01003361H   LINE      ---      ---       #793
+      01003363H   LINE      ---      ---       #794
+      01003363H   LINE      ---      ---       #795
+      01003369H   LINE      ---      ---       #796
+      0100336BH   LINE      ---      ---       #797
+      0100336BH   LINE      ---      ---       #798
+      01003371H   LINE      ---      ---       #799
+      01003371H   LINE      ---      ---       #800
+      01003371H   LINE      ---      ---       #801
+      01003371H   LINE      ---      ---       #802
+      01003371H   LINE      ---      ---       #803
+      01003371H   LINE      ---      ---       #805
+      01003376H   LINE      ---      ---       #806
       02004F06H   SYMBOL    XDATA    VOID      temp
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
       010026B2H   BLOCK     CODE     ---       LVL=0
-      010026B2H   LINE      ---      ---       #808
-      010026BDH   LINE      ---      ---       #809
+      010026B2H   LINE      ---      ---       #810
+      010026BDH   LINE      ---      ---       #811
       010026BDH   BLOCK     CODE     NEAR LAB  LVL=1
-      010026BDH   LINE      ---      ---       #810
-      010026C0H   LINE      ---      ---       #812
-      010026CEH   LINE      ---      ---       #813
-      010026CEH   LINE      ---      ---       #814
-      010026FAH   LINE      ---      ---       #816
+      010026BDH   LINE      ---      ---       #812
+      010026C0H   LINE      ---      ---       #814
+      010026CEH   LINE      ---      ---       #815
+      010026CEH   LINE      ---      ---       #816
       010026FAH   LINE      ---      ---       #818
-      01002701H   LINE      ---      ---       #819
-      01002701H   LINE      ---      ---       #820
-      01002707H   LINE      ---      ---       #821
-      0100270AH   LINE      ---      ---       #823
-      0100270EH   LINE      ---      ---       #824
-      0100270EH   LINE      ---      ---       #825
-      01002714H   LINE      ---      ---       #826
-      01002717H   LINE      ---      ---       #827
-      01002737H   LINE      ---      ---       #828
-      01002737H   LINE      ---      ---       #829
-      0100273BH   LINE      ---      ---       #830
-      0100273EH   LINE      ---      ---       #831
-      01002742H   LINE      ---      ---       #832
-      01002742H   LINE      ---      ---       #833
-      01002748H   LINE      ---      ---       #834
-      0100274BH   LINE      ---      ---       #835
-      0100276BH   LINE      ---      ---       #836
-      0100276BH   LINE      ---      ---       #837
-      0100276FH   LINE      ---      ---       #838
-      01002772H   LINE      ---      ---       #839
-      01002776H   LINE      ---      ---       #840
-      01002776H   LINE      ---      ---       #841
-      0100277CH   LINE      ---      ---       #842
-      0100277FH   LINE      ---      ---       #843
-      0100279FH   LINE      ---      ---       #844
-      0100279FH   LINE      ---      ---       #845
-      010027A3H   LINE      ---      ---       #846
-      010027A6H   LINE      ---      ---       #847
-      010027AAH   LINE      ---      ---       #848
-      010027AAH   LINE      ---      ---       #849
-      010027B0H   LINE      ---      ---       #850
-      010027B3H   LINE      ---      ---       #851
-      010027D3H   LINE      ---      ---       #852
-      010027D3H   LINE      ---      ---       #853
-      010027D8H   LINE      ---      ---       #854
-      010027DBH   LINE      ---      ---       #855
-      010027DFH   LINE      ---      ---       #856
-      010027DFH   LINE      ---      ---       #857
-      010027E5H   LINE      ---      ---       #858
-      010027E8H   LINE      ---      ---       #859
-      01002808H   LINE      ---      ---       #860
-      01002808H   LINE      ---      ---       #861
-      0100280EH   LINE      ---      ---       #862
-      01002810H   LINE      ---      ---       #863
-      01002814H   LINE      ---      ---       #864
-      01002814H   LINE      ---      ---       #865
-      0100281BH   LINE      ---      ---       #866
-      0100281DH   LINE      ---      ---       #867
-      0100283DH   LINE      ---      ---       #868
-      0100283DH   LINE      ---      ---       #869
-      01002844H   LINE      ---      ---       #870
-      01002846H   LINE      ---      ---       #871
-      0100284AH   LINE      ---      ---       #872
-      0100284AH   LINE      ---      ---       #873
-      01002851H   LINE      ---      ---       #874
-      01002853H   LINE      ---      ---       #875
-      01002873H   LINE      ---      ---       #876
-      01002873H   LINE      ---      ---       #877
-      0100287AH   LINE      ---      ---       #878
-      0100287CH   LINE      ---      ---       #879
-      01002880H   LINE      ---      ---       #880
-      01002880H   LINE      ---      ---       #881
-      01002887H   LINE      ---      ---       #882
-      01002889H   LINE      ---      ---       #883
-      010028A9H   LINE      ---      ---       #884
-      010028A9H   LINE      ---      ---       #885
-      010028B0H   LINE      ---      ---       #886
-      010028B2H   LINE      ---      ---       #887
-      010028B6H   LINE      ---      ---       #888
-      010028B6H   LINE      ---      ---       #889
-      010028BDH   LINE      ---      ---       #890
-      010028BFH   LINE      ---      ---       #891
-      010028DFH   LINE      ---      ---       #892
-      010028DFH   LINE      ---      ---       #893
-      010028E4H   LINE      ---      ---       #894
-      010028E6H   LINE      ---      ---       #895
-      010028EAH   LINE      ---      ---       #896
-      010028EAH   LINE      ---      ---       #897
-      010028F1H   LINE      ---      ---       #898
-      010028F3H   LINE      ---      ---       #899
-      01002913H   LINE      ---      ---       #900
-      01002913H   LINE      ---      ---       #901
-      01002918H   LINE      ---      ---       #902
-      0100291AH   LINE      ---      ---       #903
-      0100291EH   LINE      ---      ---       #904
-      0100291EH   LINE      ---      ---       #905
-      01002925H   LINE      ---      ---       #906
-      01002927H   LINE      ---      ---       #907
-      01002947H   LINE      ---      ---       #908
-      01002947H   LINE      ---      ---       #909
-      0100294EH   LINE      ---      ---       #910
-      01002950H   LINE      ---      ---       #911
-      01002954H   LINE      ---      ---       #912
-      01002954H   LINE      ---      ---       #913
-      0100295BH   LINE      ---      ---       #914
-      0100295DH   LINE      ---      ---       #915
-      0100297DH   LINE      ---      ---       #916
-      0100297DH   LINE      ---      ---       #917
-      01002981H   LINE      ---      ---       #918
-      01002983H   LINE      ---      ---       #919
-      01002987H   LINE      ---      ---       #920
-      01002987H   LINE      ---      ---       #921
-      0100298BH   LINE      ---      ---       #922
-      0100298DH   LINE      ---      ---       #923
-      01002993H   LINE      ---      ---       #924
-      01002993H   LINE      ---      ---       #925
-      01002997H   LINE      ---      ---       #926
-      01002997H   LINE      ---      ---       #927
-      0100299EH   LINE      ---      ---       #928
-      0100299EH   LINE      ---      ---       #929
-      010029BEH   LINE      ---      ---       #930
-      010029C2H   LINE      ---      ---       #931
-      010029C2H   LINE      ---      ---       #932
+      010026FAH   LINE      ---      ---       #820
+      01002701H   LINE      ---      ---       #821
+      01002701H   LINE      ---      ---       #822
+      01002707H   LINE      ---      ---       #823
+      0100270AH   LINE      ---      ---       #825
+      0100270EH   LINE      ---      ---       #826
+      0100270EH   LINE      ---      ---       #827
+      01002714H   LINE      ---      ---       #828
+      01002717H   LINE      ---      ---       #829
+      01002737H   LINE      ---      ---       #830
+      01002737H   LINE      ---      ---       #831
+      0100273BH   LINE      ---      ---       #832
+      0100273EH   LINE      ---      ---       #833
+      01002742H   LINE      ---      ---       #834
+      01002742H   LINE      ---      ---       #835
+      01002748H   LINE      ---      ---       #836
+      0100274BH   LINE      ---      ---       #837
+      0100276BH   LINE      ---      ---       #838
+      0100276BH   LINE      ---      ---       #839
+      0100276FH   LINE      ---      ---       #840
+      01002772H   LINE      ---      ---       #841
+      01002776H   LINE      ---      ---       #842
+      01002776H   LINE      ---      ---       #843
+      0100277CH   LINE      ---      ---       #844
+      0100277FH   LINE      ---      ---       #845
+      0100279FH   LINE      ---      ---       #846
+      0100279FH   LINE      ---      ---       #847
+      010027A3H   LINE      ---      ---       #848
+      010027A6H   LINE      ---      ---       #849
+      010027AAH   LINE      ---      ---       #850
+      010027AAH   LINE      ---      ---       #851
+      010027B0H   LINE      ---      ---       #852
+      010027B3H   LINE      ---      ---       #853
+      010027D3H   LINE      ---      ---       #854
+      010027D3H   LINE      ---      ---       #855
+      010027D8H   LINE      ---      ---       #856
+      010027DBH   LINE      ---      ---       #857
+      010027DFH   LINE      ---      ---       #858
+      010027DFH   LINE      ---      ---       #859
+      010027E5H   LINE      ---      ---       #860
+      010027E8H   LINE      ---      ---       #861
+      01002808H   LINE      ---      ---       #862
+      01002808H   LINE      ---      ---       #863
+      0100280EH   LINE      ---      ---       #864
+      01002810H   LINE      ---      ---       #865
+      01002814H   LINE      ---      ---       #866
+      01002814H   LINE      ---      ---       #867
+      0100281BH   LINE      ---      ---       #868
+      0100281DH   LINE      ---      ---       #869
+      0100283DH   LINE      ---      ---       #870
+      0100283DH   LINE      ---      ---       #871
+      01002844H   LINE      ---      ---       #872
+      01002846H   LINE      ---      ---       #873
+      0100284AH   LINE      ---      ---       #874
+      0100284AH   LINE      ---      ---       #875
+      01002851H   LINE      ---      ---       #876
+      01002853H   LINE      ---      ---       #877
+      01002873H   LINE      ---      ---       #878
+      01002873H   LINE      ---      ---       #879
+      0100287AH   LINE      ---      ---       #880
+      0100287CH   LINE      ---      ---       #881
+      01002880H   LINE      ---      ---       #882
+      01002880H   LINE      ---      ---       #883
+      01002887H   LINE      ---      ---       #884
+      01002889H   LINE      ---      ---       #885
+      010028A9H   LINE      ---      ---       #886
+      010028A9H   LINE      ---      ---       #887
+      010028B0H   LINE      ---      ---       #888
+      010028B2H   LINE      ---      ---       #889
+      010028B6H   LINE      ---      ---       #890
+      010028B6H   LINE      ---      ---       #891
+      010028BDH   LINE      ---      ---       #892
+      010028BFH   LINE      ---      ---       #893
+      010028DFH   LINE      ---      ---       #894
+      010028DFH   LINE      ---      ---       #895
+      010028E4H   LINE      ---      ---       #896
+      010028E6H   LINE      ---      ---       #897
+      010028EAH   LINE      ---      ---       #898
+      010028EAH   LINE      ---      ---       #899
+      010028F1H   LINE      ---      ---       #900
+      010028F3H   LINE      ---      ---       #901
+      01002913H   LINE      ---      ---       #902
+      01002913H   LINE      ---      ---       #903
+      01002918H   LINE      ---      ---       #904
+      0100291AH   LINE      ---      ---       #905
+      0100291EH   LINE      ---      ---       #906
+      0100291EH   LINE      ---      ---       #907
+      01002925H   LINE      ---      ---       #908
+      01002927H   LINE      ---      ---       #909
+      01002947H   LINE      ---      ---       #910
+      01002947H   LINE      ---      ---       #911
+      0100294EH   LINE      ---      ---       #912
+      01002950H   LINE      ---      ---       #913
+      01002954H   LINE      ---      ---       #914
+      01002954H   LINE      ---      ---       #915
+      0100295BH   LINE      ---      ---       #916
+      0100295DH   LINE      ---      ---       #917
+      0100297DH   LINE      ---      ---       #918
+      0100297DH   LINE      ---      ---       #919
+      01002981H   LINE      ---      ---       #920
+      01002983H   LINE      ---      ---       #921
+      01002987H   LINE      ---      ---       #922
+      01002987H   LINE      ---      ---       #923
+      0100298BH   LINE      ---      ---       #924
+      0100298DH   LINE      ---      ---       #925
+      01002993H   LINE      ---      ---       #926
+      01002993H   LINE      ---      ---       #927
+      01002997H   LINE      ---      ---       #928
+      01002997H   LINE      ---      ---       #929
+      0100299EH   LINE      ---      ---       #930
+      0100299EH   LINE      ---      ---       #931
+      010029BEH   LINE      ---      ---       #932
       010029C2H   LINE      ---      ---       #933
-      010029CBH   LINE      ---      ---       #934
+      010029C2H   LINE      ---      ---       #934
+      010029C2H   LINE      ---      ---       #935
+      010029CBH   LINE      ---      ---       #936
       02004EDEH   SYMBOL    XDATA    VOID      i
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
@@ -1783,15 +1785,15 @@
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
-      01003364H   BLOCK     CODE     ---       LVL=0
-      01003364H   LINE      ---      ---       #189
-      01003364H   LINE      ---      ---       #190
-      01003364H   BLOCK     CODE     NEAR LAB  LVL=1
-      01003364H   LINE      ---      ---       #191
-      01003369H   LINE      ---      ---       #193
-      01003374H   LINE      ---      ---       #194
-      01003378H   LINE      ---      ---       #195
-      01003380H   LINE      ---      ---       #196
+      01003377H   BLOCK     CODE     ---       LVL=0
+      01003377H   LINE      ---      ---       #189
+      01003377H   LINE      ---      ---       #190
+      01003377H   BLOCK     CODE     NEAR LAB  LVL=1
+      01003377H   LINE      ---      ---       #191
+      0100337CH   LINE      ---      ---       #193
+      01003387H   LINE      ---      ---       #194
+      0100338BH   LINE      ---      ---       #195
+      01003393H   LINE      ---      ---       #196
       02004F07H   SYMBOL    XDATA    VOID      i
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
@@ -2023,7 +2025,7 @@
 
       ---         MODULE    ---      ---       LED
       01001914H   PUBLIC    CODE     ---       LED_handle
-      0100346CH   PUBLIC    CODE     ---       LED_device_poweroff
+      0100347FH   PUBLIC    CODE     ---       LED_device_poweroff
       01000F86H   PUBLIC    CODE     ---       LED_device_poweron
       01001FD0H   PUBLIC    CODE     ---       LED_all_shutdown
 
@@ -2057,14 +2059,14 @@
       01000FC4H   LINE      ---      ---       #35
       ---         BLOCKEND  ---      ---       LVL=0
 
-      0100346CH   BLOCK     CODE     ---       LVL=0
-      0100346CH   LINE      ---      ---       #40
-      0100346CH   LINE      ---      ---       #41
-      0100346CH   LINE      ---      ---       #43
-      01003473H   LINE      ---      ---       #44
-      0100347AH   LINE      ---      ---       #45
-      01003481H   LINE      ---      ---       #46
-      01003488H   LINE      ---      ---       #48
+      0100347FH   BLOCK     CODE     ---       LVL=0
+      0100347FH   LINE      ---      ---       #40
+      0100347FH   LINE      ---      ---       #41
+      0100347FH   LINE      ---      ---       #43
+      01003486H   LINE      ---      ---       #44
+      0100348DH   LINE      ---      ---       #45
+      01003494H   LINE      ---      ---       #46
+      0100349BH   LINE      ---      ---       #48
       ---         BLOCKEND  ---      ---       LVL=0
 
       01001914H   BLOCK     CODE     ---       LVL=0
@@ -2137,10 +2139,10 @@
       010022E1H   PUBLIC    CODE     ---       YC_wait_disconnect_timer500ms
       0100236FH   PUBLIC    CODE     ---       YC_connect_timeout_500ms
       01001833H   PUBLIC    CODE     ---       LED_timer500ms
-      010036CDH   PUBLIC    CODE     ---       System_Reset_Connect
+      010036E0H   PUBLIC    CODE     ---       System_Reset_Connect
       0100245BH   PUBLIC    CODE     ---       System_G24_long_lpm
       01001757H   PUBLIC    CODE     ---       System_long_sleep
-      0100357DH   PUBLIC    CODE     ---       System_Software_init
+      01003590H   PUBLIC    CODE     ---       System_Software_init
       01001CBBH   PUBLIC    CODE     ---       System_clear_timer_status
       010022B7H   PUBLIC    CODE     ---       kb_ble_name_roll
 
@@ -2193,16 +2195,16 @@
       01000E2EH   LINE      ---      ---       #63
       ---         BLOCKEND  ---      ---       LVL=0
 
-      01003459H   BLOCK     CODE     ---       LVL=0
-      01003459H   LINE      ---      ---       #65
-      01003459H   LINE      ---      ---       #66
-      01003459H   LINE      ---      ---       #67
-      0100345FH   LINE      ---      ---       #68
-      01003462H   LINE      ---      ---       #69
-      01003464H   LINE      ---      ---       #70
-      01003466H   LINE      ---      ---       #71
-      01003468H   LINE      ---      ---       #72
-      0100346BH   LINE      ---      ---       #73
+      0100346CH   BLOCK     CODE     ---       LVL=0
+      0100346CH   LINE      ---      ---       #65
+      0100346CH   LINE      ---      ---       #66
+      0100346CH   LINE      ---      ---       #67
+      01003472H   LINE      ---      ---       #68
+      01003475H   LINE      ---      ---       #69
+      01003477H   LINE      ---      ---       #70
+      01003479H   LINE      ---      ---       #71
+      0100347BH   LINE      ---      ---       #72
+      0100347EH   LINE      ---      ---       #73
       ---         BLOCKEND  ---      ---       LVL=0
 
       01001CBBH   BLOCK     CODE     ---       LVL=0
@@ -2216,42 +2218,42 @@
       01001CD3H   LINE      ---      ---       #82
       ---         BLOCKEND  ---      ---       LVL=0
 
-      0100339FH   BLOCK     CODE     ---       LVL=0
-      0100339FH   LINE      ---      ---       #83
-      0100339FH   LINE      ---      ---       #84
-      0100339FH   LINE      ---      ---       #85
-      010033A1H   LINE      ---      ---       #86
-      010033A4H   LINE      ---      ---       #87
-      010033AAH   LINE      ---      ---       #88
-      010033AAH   LINE      ---      ---       #89
-      010033ADH   LINE      ---      ---       #90
-      010033B3H   LINE      ---      ---       #91
-      010033B9H   LINE      ---      ---       #92
-      010033BFH   LINE      ---      ---       #93
-      010033C4H   LINE      ---      ---       #94
-      010033C4H   LINE      ---      ---       #95
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      0100357DH   BLOCK     CODE     ---       LVL=0
-      0100357DH   LINE      ---      ---       #98
-      0100357DH   LINE      ---      ---       #99
-      0100357DH   LINE      ---      ---       #100
-      01003580H   LINE      ---      ---       #101
-      01003582H   LINE      ---      ---       #102
-      01003588H   LINE      ---      ---       #103
-      0100358EH   LINE      ---      ---       #105
-      01003593H   LINE      ---      ---       #106
-      01003599H   LINE      ---      ---       #107
-      010035A1H   LINE      ---      ---       #108
-      010035A9H   LINE      ---      ---       #109
-      010035B1H   LINE      ---      ---       #110
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      010036C4H   BLOCK     CODE     ---       LVL=0
-      010036C4H   LINE      ---      ---       #112
-      010036C4H   LINE      ---      ---       #113
-      010036C4H   LINE      ---      ---       #114
-      010036CAH   LINE      ---      ---       #115
+      010033B2H   BLOCK     CODE     ---       LVL=0
+      010033B2H   LINE      ---      ---       #83
+      010033B2H   LINE      ---      ---       #84
+      010033B2H   LINE      ---      ---       #85
+      010033B4H   LINE      ---      ---       #86
+      010033B7H   LINE      ---      ---       #87
+      010033BDH   LINE      ---      ---       #88
+      010033BDH   LINE      ---      ---       #89
+      010033C0H   LINE      ---      ---       #90
+      010033C6H   LINE      ---      ---       #91
+      010033CCH   LINE      ---      ---       #92
+      010033D2H   LINE      ---      ---       #93
+      010033D7H   LINE      ---      ---       #94
+      010033D7H   LINE      ---      ---       #95
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01003590H   BLOCK     CODE     ---       LVL=0
+      01003590H   LINE      ---      ---       #98
+      01003590H   LINE      ---      ---       #99
+      01003590H   LINE      ---      ---       #100
+      01003593H   LINE      ---      ---       #101
+      01003595H   LINE      ---      ---       #102
+      0100359BH   LINE      ---      ---       #103
+      010035A1H   LINE      ---      ---       #105
+      010035A6H   LINE      ---      ---       #106
+      010035ACH   LINE      ---      ---       #107
+      010035B4H   LINE      ---      ---       #108
+      010035BCH   LINE      ---      ---       #109
+      010035C4H   LINE      ---      ---       #110
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      010036D7H   BLOCK     CODE     ---       LVL=0
+      010036D7H   LINE      ---      ---       #112
+      010036D7H   LINE      ---      ---       #113
+      010036D7H   LINE      ---      ---       #114
+      010036DDH   LINE      ---      ---       #115
       ---         BLOCKEND  ---      ---       LVL=0
 
       01001757H   BLOCK     CODE     ---       LVL=0
@@ -2279,19 +2281,19 @@
       01002489H   LINE      ---      ---       #140
       ---         BLOCKEND  ---      ---       LVL=0
 
-      010036CDH   BLOCK     CODE     ---       LVL=0
-      010036CDH   LINE      ---      ---       #142
-      010036CDH   LINE      ---      ---       #143
-      010036CDH   LINE      ---      ---       #144
+      010036E0H   BLOCK     CODE     ---       LVL=0
+      010036E0H   LINE      ---      ---       #142
+      010036E0H   LINE      ---      ---       #143
+      010036E0H   LINE      ---      ---       #144
       ---         BLOCKEND  ---      ---       LVL=0
 
-      010036CFH   BLOCK     CODE     ---       LVL=0
-      010036CFH   LINE      ---      ---       #152
-      010036D4H   BLOCK     CODE     NEAR LAB  LVL=1
-      010036D4H   LINE      ---      ---       #154
-      010036DEH   LINE      ---      ---       #156
-      010036DEH   LINE      ---      ---       #158
-      010036DEH   LINE      ---      ---       #159
+      010036E2H   BLOCK     CODE     ---       LVL=0
+      010036E2H   LINE      ---      ---       #152
+      010036E7H   BLOCK     CODE     NEAR LAB  LVL=1
+      010036E7H   LINE      ---      ---       #154
+      010036F1H   LINE      ---      ---       #156
+      010036F1H   LINE      ---      ---       #158
+      010036F1H   LINE      ---      ---       #159
       02004EFFH   SYMBOL    XDATA    VOID      temp
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
@@ -2805,96 +2807,96 @@
       0100233AH   LINE      ---      ---       #746
       ---         BLOCKEND  ---      ---       LVL=0
 
-      0100348FH   BLOCK     CODE     ---       LVL=0
-      0100348FH   LINE      ---      ---       #758
-      0100348FH   LINE      ---      ---       #759
-      0100348FH   LINE      ---      ---       #761
-      01003495H   LINE      ---      ---       #762
-      01003495H   LINE      ---      ---       #763
-      01003497H   LINE      ---      ---       #764
-      01003497H   LINE      ---      ---       #766
-      0100349DH   LINE      ---      ---       #767
-      0100349FH   LINE      ---      ---       #769
-      010034A5H   LINE      ---      ---       #770
-      010034A5H   LINE      ---      ---       #771
-      010034A7H   LINE      ---      ---       #772
-      010034AAH   LINE      ---      ---       #773
-      010034B0H   LINE      ---      ---       #774
-      010034B0H   LINE      ---      ---       #776
-      010034B6H   LINE      ---      ---       #777
-      010034B6H   LINE      ---      ---       #778
-      010034BCH   LINE      ---      ---       #779
-      010034BCH   LINE      ---      ---       #780
-      010034C2H   LINE      ---      ---       #782
-      010034C2H   LINE      ---      ---       #783
-      010034C8H   LINE      ---      ---       #784
-      010034CBH   LINE      ---      ---       #785
-      010034D1H   LINE      ---      ---       #786
-      010034D1H   LINE      ---      ---       #787
-      010034D3H   LINE      ---      ---       #788
-      010034D3H   LINE      ---      ---       #789
-      010034D5H   LINE      ---      ---       #790
-      010034E1H   LINE      ---      ---       #791
-      010034E1H   LINE      ---      ---       #792
-      010034E7H   LINE      ---      ---       #793
-      010034E7H   LINE      ---      ---       #794
-      010034E9H   LINE      ---      ---       #795
-      010034F0H   LINE      ---      ---       #796
-      010034F0H   LINE      ---      ---       #797
-      010034F4H   LINE      ---      ---       #798
-      010034F4H   LINE      ---      ---       #799
-      010034F7H   LINE      ---      ---       #800
-      010034F9H   LINE      ---      ---       #802
-      010034F9H   LINE      ---      ---       #803
-      010034FBH   LINE      ---      ---       #804
-      010034FBH   LINE      ---      ---       #805
-      010034FDH   LINE      ---      ---       #807
-      010034FFH   LINE      ---      ---       #808
-      01003505H   LINE      ---      ---       #809
-      01003508H   LINE      ---      ---       #810
-      01003508H   LINE      ---      ---       #811
-      01003508H   LINE      ---      ---       #814
-      0100350EH   LINE      ---      ---       #815
-      0100350EH   LINE      ---      ---       #816
-      01003516H   LINE      ---      ---       #817
-      01003516H   LINE      ---      ---       #818
-      0100351CH   LINE      ---      ---       #819
-      01003520H   LINE      ---      ---       #821
-      01003526H   LINE      ---      ---       #822
-      01003526H   LINE      ---      ---       #823
-      01003531H   LINE      ---      ---       #824
-      01003533H   LINE      ---      ---       #825
-      01003539H   LINE      ---      ---       #826
-      01003539H   LINE      ---      ---       #828
-      01003544H   LINE      ---      ---       #829
-      01003544H   LINE      ---      ---       #830
-      01003544H   LINE      ---      ---       #831
-      01003544H   LINE      ---      ---       #835
-      0100354AH   LINE      ---      ---       #836
-      0100354AH   LINE      ---      ---       #837
-      0100354DH   LINE      ---      ---       #838
-      01003550H   LINE      ---      ---       #839
-      01003550H   LINE      ---      ---       #840
-      01003556H   LINE      ---      ---       #841
-      01003556H   LINE      ---      ---       #842
-      0100355BH   LINE      ---      ---       #843
-      0100355BH   LINE      ---      ---       #844
-      0100355BH   LINE      ---      ---       #845
-      0100355BH   LINE      ---      ---       #847
-      01003561H   LINE      ---      ---       #848
-      01003564H   LINE      ---      ---       #849
-      01003567H   LINE      ---      ---       #850
-      01003567H   LINE      ---      ---       #851
-      0100356DH   LINE      ---      ---       #852
-      0100356DH   LINE      ---      ---       #853
-      0100356FH   LINE      ---      ---       #854
-      0100356FH   LINE      ---      ---       #856
-      01003576H   LINE      ---      ---       #857
-      01003576H   LINE      ---      ---       #858
-      0100357CH   LINE      ---      ---       #859
-      0100357CH   LINE      ---      ---       #860
-      0100357CH   LINE      ---      ---       #861
-      0100357CH   LINE      ---      ---       #862
+      010034A2H   BLOCK     CODE     ---       LVL=0
+      010034A2H   LINE      ---      ---       #758
+      010034A2H   LINE      ---      ---       #759
+      010034A2H   LINE      ---      ---       #761
+      010034A8H   LINE      ---      ---       #762
+      010034A8H   LINE      ---      ---       #763
+      010034AAH   LINE      ---      ---       #764
+      010034AAH   LINE      ---      ---       #766
+      010034B0H   LINE      ---      ---       #767
+      010034B2H   LINE      ---      ---       #769
+      010034B8H   LINE      ---      ---       #770
+      010034B8H   LINE      ---      ---       #771
+      010034BAH   LINE      ---      ---       #772
+      010034BDH   LINE      ---      ---       #773
+      010034C3H   LINE      ---      ---       #774
+      010034C3H   LINE      ---      ---       #776
+      010034C9H   LINE      ---      ---       #777
+      010034C9H   LINE      ---      ---       #778
+      010034CFH   LINE      ---      ---       #779
+      010034CFH   LINE      ---      ---       #780
+      010034D5H   LINE      ---      ---       #782
+      010034D5H   LINE      ---      ---       #783
+      010034DBH   LINE      ---      ---       #784
+      010034DEH   LINE      ---      ---       #785
+      010034E4H   LINE      ---      ---       #786
+      010034E4H   LINE      ---      ---       #787
+      010034E6H   LINE      ---      ---       #788
+      010034E6H   LINE      ---      ---       #789
+      010034E8H   LINE      ---      ---       #790
+      010034F4H   LINE      ---      ---       #791
+      010034F4H   LINE      ---      ---       #792
+      010034FAH   LINE      ---      ---       #793
+      010034FAH   LINE      ---      ---       #794
+      010034FCH   LINE      ---      ---       #795
+      01003503H   LINE      ---      ---       #796
+      01003503H   LINE      ---      ---       #797
+      01003507H   LINE      ---      ---       #798
+      01003507H   LINE      ---      ---       #799
+      0100350AH   LINE      ---      ---       #800
+      0100350CH   LINE      ---      ---       #802
+      0100350CH   LINE      ---      ---       #803
+      0100350EH   LINE      ---      ---       #804
+      0100350EH   LINE      ---      ---       #805
+      01003510H   LINE      ---      ---       #807
+      01003512H   LINE      ---      ---       #808
+      01003518H   LINE      ---      ---       #809
+      0100351BH   LINE      ---      ---       #810
+      0100351BH   LINE      ---      ---       #811
+      0100351BH   LINE      ---      ---       #814
+      01003521H   LINE      ---      ---       #815
+      01003521H   LINE      ---      ---       #816
+      01003529H   LINE      ---      ---       #817
+      01003529H   LINE      ---      ---       #818
+      0100352FH   LINE      ---      ---       #819
+      01003533H   LINE      ---      ---       #821
+      01003539H   LINE      ---      ---       #822
+      01003539H   LINE      ---      ---       #823
+      01003544H   LINE      ---      ---       #824
+      01003546H   LINE      ---      ---       #825
+      0100354CH   LINE      ---      ---       #826
+      0100354CH   LINE      ---      ---       #828
+      01003557H   LINE      ---      ---       #829
+      01003557H   LINE      ---      ---       #830
+      01003557H   LINE      ---      ---       #831
+      01003557H   LINE      ---      ---       #835
+      0100355DH   LINE      ---      ---       #836
+      0100355DH   LINE      ---      ---       #837
+      01003560H   LINE      ---      ---       #838
+      01003563H   LINE      ---      ---       #839
+      01003563H   LINE      ---      ---       #840
+      01003569H   LINE      ---      ---       #841
+      01003569H   LINE      ---      ---       #842
+      0100356EH   LINE      ---      ---       #843
+      0100356EH   LINE      ---      ---       #844
+      0100356EH   LINE      ---      ---       #845
+      0100356EH   LINE      ---      ---       #847
+      01003574H   LINE      ---      ---       #848
+      01003577H   LINE      ---      ---       #849
+      0100357AH   LINE      ---      ---       #850
+      0100357AH   LINE      ---      ---       #851
+      01003580H   LINE      ---      ---       #852
+      01003580H   LINE      ---      ---       #853
+      01003582H   LINE      ---      ---       #854
+      01003582H   LINE      ---      ---       #856
+      01003589H   LINE      ---      ---       #857
+      01003589H   LINE      ---      ---       #858
+      0100358FH   LINE      ---      ---       #859
+      0100358FH   LINE      ---      ---       #860
+      0100358FH   LINE      ---      ---       #861
+      0100358FH   LINE      ---      ---       #862
       ---         BLOCKEND  ---      ---       LVL=0
 
       01001FB1H   BLOCK     CODE     ---       LVL=0
@@ -2949,23 +2951,23 @@
       0100235EH   PUBLIC    CODE     ---       YC_adc_check_timer500ms
       0100233DH   PUBLIC    CODE     ---       YC_adc_motion_check_timer500ms
       010024CEH   PUBLIC    CODE     ---       YC_adc_check
-      010035B2H   PUBLIC    CODE     ---       YC_adc_init
+      010035C5H   PUBLIC    CODE     ---       YC_adc_init
 
-      010035B2H   BLOCK     CODE     ---       LVL=0
-      010035B2H   LINE      ---      ---       #3
-      010035B2H   LINE      ---      ---       #4
-      010035B2H   BLOCK     CODE     NEAR LAB  LVL=1
-      010035B2H   LINE      ---      ---       #8
-      010035B8H   LINE      ---      ---       #9
-      010035BBH   LINE      ---      ---       #10
-      010035C1H   LINE      ---      ---       #13
-      010035C3H   LINE      ---      ---       #14
-      010035C3H   LINE      ---      ---       #15
-      010035D4H   LINE      ---      ---       #16
-      010035D9H   LINE      ---      ---       #17
-      01003627H   LINE      ---      ---       #18
-      01003675H   LINE      ---      ---       #19
-      010036C3H   LINE      ---      ---       #41
+      010035C5H   BLOCK     CODE     ---       LVL=0
+      010035C5H   LINE      ---      ---       #3
+      010035C5H   LINE      ---      ---       #4
+      010035C5H   BLOCK     CODE     NEAR LAB  LVL=1
+      010035C5H   LINE      ---      ---       #8
+      010035CBH   LINE      ---      ---       #9
+      010035CEH   LINE      ---      ---       #10
+      010035D4H   LINE      ---      ---       #13
+      010035D6H   LINE      ---      ---       #14
+      010035D6H   LINE      ---      ---       #15
+      010035E7H   LINE      ---      ---       #16
+      010035ECH   LINE      ---      ---       #17
+      0100363AH   LINE      ---      ---       #18
+      01003688H   LINE      ---      ---       #19
+      010036D6H   LINE      ---      ---       #41
       00000007H   SYMBOL    DATA     VOID      i
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
@@ -3079,34 +3081,34 @@
       01001FC4H   PUBLIC    CODE     ---       IPC_AbandonLpm
       01001CD4H   PUBLIC    CODE     ---       IPC_WaitLpm
       01001FB7H   PUBLIC    CODE     ---       _IPC_Initialize
-      010037A8H   PUBLIC    CODE     ---       IPC_GetBBDIsconnectReason
-      0100379FH   PUBLIC    CODE     ---       _IPC_TxBleData
-      01003796H   PUBLIC    CODE     ---       _IPC_TxSppData
+      010037BBH   PUBLIC    CODE     ---       IPC_GetBBDIsconnectReason
+      010037B2H   PUBLIC    CODE     ---       _IPC_TxBleData
+      010037A9H   PUBLIC    CODE     ---       _IPC_TxSppData
       01000FE7H   PUBLIC    CODE     ---       _IPC_Tx24GData
-      01003789H   PUBLIC    CODE     ---       _IPC_TxBREDRHidData
+      0100379CH   PUBLIC    CODE     ---       _IPC_TxBREDRHidData
       01000FEDH   PUBLIC    CODE     ---       _IPC_TxData
       010010A6H   PUBLIC    CODE     ---       _IPC_TxControlCmd
 
-      010036DFH   BLOCK     CODE     ---       LVL=0
-      010036DFH   LINE      ---      ---       #44
-      010036EFH   LINE      ---      ---       #45
-      010036EFH   LINE      ---      ---       #46
-      01003738H   LINE      ---      ---       #47
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      01003739H   BLOCK     CODE     ---       LVL=0
-      01003739H   LINE      ---      ---       #49
-      01003743H   LINE      ---      ---       #50
-      01003743H   BLOCK     CODE     NEAR LAB  LVL=1
-      01003743H   LINE      ---      ---       #51
-      0100374BH   LINE      ---      ---       #52
-      01003751H   LINE      ---      ---       #53
-      01003770H   LINE      ---      ---       #54
-      0100377AH   LINE      ---      ---       #55
-      0100377EH   LINE      ---      ---       #56
-      0100377EH   LINE      ---      ---       #57
-      01003780H   LINE      ---      ---       #58
-      01003788H   LINE      ---      ---       #59
+      010036F2H   BLOCK     CODE     ---       LVL=0
+      010036F2H   LINE      ---      ---       #44
+      01003702H   LINE      ---      ---       #45
+      01003702H   LINE      ---      ---       #46
+      0100374BH   LINE      ---      ---       #47
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      0100374CH   BLOCK     CODE     ---       LVL=0
+      0100374CH   LINE      ---      ---       #49
+      01003756H   LINE      ---      ---       #50
+      01003756H   BLOCK     CODE     NEAR LAB  LVL=1
+      01003756H   LINE      ---      ---       #51
+      0100375EH   LINE      ---      ---       #52
+      01003764H   LINE      ---      ---       #53
+      01003783H   LINE      ---      ---       #54
+      0100378DH   LINE      ---      ---       #55
+      01003791H   LINE      ---      ---       #56
+      01003791H   LINE      ---      ---       #57
+      01003793H   LINE      ---      ---       #58
+      0100379BH   LINE      ---      ---       #59
       00000006H   SYMBOL    DATA     VOID      src
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
@@ -3148,13 +3150,13 @@
       01001004H   LINE      ---      ---       #87
       ---         BLOCKEND  ---      ---       LVL=0
 
-      01003789H   BLOCK     CODE     ---       LVL=0
-      01003789H   LINE      ---      ---       #90
-      01003789H   LINE      ---      ---       #91
-      01003789H   LINE      ---      ---       #92
-      0100378FH   LINE      ---      ---       #93
-      01003792H   LINE      ---      ---       #94
-      01003795H   LINE      ---      ---       #95
+      0100379CH   BLOCK     CODE     ---       LVL=0
+      0100379CH   LINE      ---      ---       #90
+      0100379CH   LINE      ---      ---       #91
+      0100379CH   LINE      ---      ---       #92
+      010037A2H   LINE      ---      ---       #93
+      010037A5H   LINE      ---      ---       #94
+      010037A8H   LINE      ---      ---       #95
       ---         BLOCKEND  ---      ---       LVL=0
 
       01000FE7H   BLOCK     CODE     ---       LVL=0
@@ -3163,25 +3165,25 @@
       01000FE7H   LINE      ---      ---       #99
       ---         BLOCKEND  ---      ---       LVL=0
 
-      01003796H   BLOCK     CODE     ---       LVL=0
-      01003796H   LINE      ---      ---       #103
-      01003796H   LINE      ---      ---       #104
-      01003796H   LINE      ---      ---       #105
-      0100379CH   LINE      ---      ---       #106
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      0100379FH   BLOCK     CODE     ---       LVL=0
-      0100379FH   LINE      ---      ---       #109
-      0100379FH   LINE      ---      ---       #110
-      0100379FH   LINE      ---      ---       #111
-      010037A5H   LINE      ---      ---       #112
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      010037A8H   BLOCK     CODE     ---       LVL=0
-      010037A8H   LINE      ---      ---       #115
-      010037A8H   LINE      ---      ---       #116
-      010037A8H   LINE      ---      ---       #117
-      010037ADH   LINE      ---      ---       #118
+      010037A9H   BLOCK     CODE     ---       LVL=0
+      010037A9H   LINE      ---      ---       #103
+      010037A9H   LINE      ---      ---       #104
+      010037A9H   LINE      ---      ---       #105
+      010037AFH   LINE      ---      ---       #106
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      010037B2H   BLOCK     CODE     ---       LVL=0
+      010037B2H   LINE      ---      ---       #109
+      010037B2H   LINE      ---      ---       #110
+      010037B2H   LINE      ---      ---       #111
+      010037B8H   LINE      ---      ---       #112
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      010037BBH   BLOCK     CODE     ---       LVL=0
+      010037BBH   LINE      ---      ---       #115
+      010037BBH   LINE      ---      ---       #116
+      010037BBH   LINE      ---      ---       #117
+      010037C0H   LINE      ---      ---       #118
       ---         BLOCKEND  ---      ---       LVL=0
 
       01001FB7H   BLOCK     CODE     ---       LVL=0
@@ -3272,13 +3274,13 @@
       0100248AH   PUBLIC    CODE     ---       _dmemcpy
       02004EC1H   PUBLIC    XDATA    BYTE      ?_xmemcpy?BYTE
       01000854H   PUBLIC    CODE     ---       _xmemcpy
-      010037AEH   PUBLIC    CODE     ---       YC_Ice_break
+      010037C1H   PUBLIC    CODE     ---       YC_Ice_break
 
-      010037AEH   BLOCK     CODE     ---       LVL=0
-      010037AEH   LINE      ---      ---       #3
-      010037AEH   LINE      ---      ---       #4
-      010037AEH   LINE      ---      ---       #5
-      010037B4H   LINE      ---      ---       #7
+      010037C1H   BLOCK     CODE     ---       LVL=0
+      010037C1H   LINE      ---      ---       #3
+      010037C1H   LINE      ---      ---       #4
+      010037C1H   LINE      ---      ---       #5
+      010037C7H   LINE      ---      ---       #7
       ---         BLOCKEND  ---      ---       LVL=0
 
       01000854H   BLOCK     CODE     ---       LVL=0
@@ -3342,39 +3344,39 @@
       ---         MODULE    ---      ---       GPIO
       020000A3H   PUBLIC    XDATA    ---       YC_GPIOWakeupL
       020000A7H   PUBLIC    XDATA    ---       YC_GPIOWakeupH
-      010037F4H   PUBLIC    CODE     ---       GPIO_fillpd
+      01003807H   PUBLIC    CODE     ---       GPIO_fillpd
       010018F8H   PUBLIC    CODE     ---       _GPIO_FlipOutBit
       01001B6BH   PUBLIC    CODE     ---       _GPIO_SetWakeupByCurrentState
-      010037B5H   PUBLIC    CODE     ---       _GPIO_ClearWakeup
+      010037C8H   PUBLIC    CODE     ---       _GPIO_ClearWakeup
       00000020H.7 PUBLIC    BIT      BIT       ?_GPIO_SetWakeup?BIT
       01001A46H   PUBLIC    CODE     ---       _GPIO_SetWakeup
       00000020H.6 PUBLIC    BIT      BIT       ?_GPIO_SetOutput?BIT
       01000FCAH   PUBLIC    CODE     ---       _GPIO_SetOutput
       00000020H.5 PUBLIC    BIT      BIT       ?_GPIO_SetInput?BIT
-      01003381H   PUBLIC    CODE     ---       _GPIO_SetInput
+      01003394H   PUBLIC    CODE     ---       _GPIO_SetInput
       00000020H.4 PUBLIC    BIT      BIT       ?_GPIO_Setoe?BIT
-      010033E7H   PUBLIC    CODE     ---       _GPIO_Setoe
+      010033FAH   PUBLIC    CODE     ---       _GPIO_Setoe
       00000020H.3 PUBLIC    BIT      BIT       ?_GPIO_SetPd?BIT
-      010033D6H   PUBLIC    CODE     ---       _GPIO_SetPd
+      010033E9H   PUBLIC    CODE     ---       _GPIO_SetPd
       00000020H.2 PUBLIC    BIT      BIT       ?_GPIO_SetPu?BIT
-      010033C5H   PUBLIC    CODE     ---       _GPIO_SetPu
+      010033D8H   PUBLIC    CODE     ---       _GPIO_SetPu
       00000020H.1 PUBLIC    BIT      BIT       ?_GPIO_Setout?BIT
       01000F74H   PUBLIC    CODE     ---       _GPIO_Setout
       01001B80H   PUBLIC    CODE     ---       _GPIO_GetInputStatus
 
-      010033F8H   BLOCK     CODE     ---       LVL=0
-      010033F8H   LINE      ---      ---       #9
-      01003403H   LINE      ---      ---       #10
-      01003403H   BLOCK     CODE     NEAR LAB  LVL=1
-      01003403H   LINE      ---      ---       #11
-      01003405H   LINE      ---      ---       #12
-      01003406H   LINE      ---      ---       #14
-      0100340AH   LINE      ---      ---       #15
-      01003411H   LINE      ---      ---       #17
-      01003414H   LINE      ---      ---       #18
-      01003436H   LINE      ---      ---       #19
-      01003436H   LINE      ---      ---       #21
-      01003436H   LINE      ---      ---       #22
+      0100340BH   BLOCK     CODE     ---       LVL=0
+      0100340BH   LINE      ---      ---       #9
+      01003416H   LINE      ---      ---       #10
+      01003416H   BLOCK     CODE     NEAR LAB  LVL=1
+      01003416H   LINE      ---      ---       #11
+      01003418H   LINE      ---      ---       #12
+      01003419H   LINE      ---      ---       #14
+      0100341DH   LINE      ---      ---       #15
+      01003424H   LINE      ---      ---       #17
+      01003427H   LINE      ---      ---       #18
+      01003449H   LINE      ---      ---       #19
+      01003449H   LINE      ---      ---       #21
+      01003449H   LINE      ---      ---       #22
       00000006H   SYMBOL    DATA     VOID      queue
       00000005H   SYMBOL    DATA     VOID      group
       ---         BLOCKEND  CODE     ---       LVL=1
@@ -3409,38 +3411,38 @@
       01000F85H   LINE      ---      ---       #47
       ---         BLOCKEND  ---      ---       LVL=0
 
-      010033C5H   BLOCK     CODE     ---       LVL=0
-      010033C5H   LINE      ---      ---       #49
-      010033C5H   LINE      ---      ---       #50
-      010033C5H   LINE      ---      ---       #51
-      010033C9H   LINE      ---      ---       #53
-      010033D5H   LINE      ---      ---       #54
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      010033D6H   BLOCK     CODE     ---       LVL=0
-      010033D6H   LINE      ---      ---       #56
-      010033D6H   LINE      ---      ---       #57
-      010033D6H   LINE      ---      ---       #58
-      010033DAH   LINE      ---      ---       #60
-      010033E6H   LINE      ---      ---       #61
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      010033E7H   BLOCK     CODE     ---       LVL=0
-      010033E7H   LINE      ---      ---       #63
-      010033E7H   LINE      ---      ---       #64
-      010033E7H   LINE      ---      ---       #65
-      010033EBH   LINE      ---      ---       #67
-      010033F7H   LINE      ---      ---       #68
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      01003381H   BLOCK     CODE     ---       LVL=0
-      01003381H   LINE      ---      ---       #70
-      01003383H   LINE      ---      ---       #71
-      01003383H   LINE      ---      ---       #72
-      01003387H   LINE      ---      ---       #74
-      0100338FH   LINE      ---      ---       #75
-      01003398H   LINE      ---      ---       #76
-      0100339EH   LINE      ---      ---       #77
+      010033D8H   BLOCK     CODE     ---       LVL=0
+      010033D8H   LINE      ---      ---       #49
+      010033D8H   LINE      ---      ---       #50
+      010033D8H   LINE      ---      ---       #51
+      010033DCH   LINE      ---      ---       #53
+      010033E8H   LINE      ---      ---       #54
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      010033E9H   BLOCK     CODE     ---       LVL=0
+      010033E9H   LINE      ---      ---       #56
+      010033E9H   LINE      ---      ---       #57
+      010033E9H   LINE      ---      ---       #58
+      010033EDH   LINE      ---      ---       #60
+      010033F9H   LINE      ---      ---       #61
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      010033FAH   BLOCK     CODE     ---       LVL=0
+      010033FAH   LINE      ---      ---       #63
+      010033FAH   LINE      ---      ---       #64
+      010033FAH   LINE      ---      ---       #65
+      010033FEH   LINE      ---      ---       #67
+      0100340AH   LINE      ---      ---       #68
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01003394H   BLOCK     CODE     ---       LVL=0
+      01003394H   LINE      ---      ---       #70
+      01003396H   LINE      ---      ---       #71
+      01003396H   LINE      ---      ---       #72
+      0100339AH   LINE      ---      ---       #74
+      010033A2H   LINE      ---      ---       #75
+      010033ABH   LINE      ---      ---       #76
+      010033B1H   LINE      ---      ---       #77
       ---         BLOCKEND  ---      ---       LVL=0
 
       01000FCAH   BLOCK     CODE     ---       LVL=0
@@ -3474,16 +3476,16 @@
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
-      010037B5H   BLOCK     CODE     ---       LVL=0
-      010037B5H   LINE      ---      ---       #107
-      010037B5H   LINE      ---      ---       #108
-      010037B5H   BLOCK     CODE     NEAR LAB  LVL=1
-      010037B5H   LINE      ---      ---       #111
-      010037B9H   LINE      ---      ---       #113
-      010037BDH   LINE      ---      ---       #114
-      010037C4H   LINE      ---      ---       #115
-      010037E6H   LINE      ---      ---       #116
-      010037F3H   LINE      ---      ---       #117
+      010037C8H   BLOCK     CODE     ---       LVL=0
+      010037C8H   LINE      ---      ---       #107
+      010037C8H   LINE      ---      ---       #108
+      010037C8H   BLOCK     CODE     NEAR LAB  LVL=1
+      010037C8H   LINE      ---      ---       #111
+      010037CCH   LINE      ---      ---       #113
+      010037D0H   LINE      ---      ---       #114
+      010037D7H   LINE      ---      ---       #115
+      010037F9H   LINE      ---      ---       #116
+      01003806H   LINE      ---      ---       #117
       00000006H   SYMBOL    DATA     VOID      queue
       00000007H   SYMBOL    DATA     VOID      group
       ---         BLOCKEND  CODE     ---       LVL=1
@@ -3509,13 +3511,13 @@
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
-      010037F4H   BLOCK     CODE     ---       LVL=0
-      010037F4H   LINE      ---      ---       #131
-      010037F4H   LINE      ---      ---       #132
-      010037F4H   BLOCK     CODE     NEAR LAB  LVL=1
-      010037F4H   LINE      ---      ---       #134
-      010037F6H   LINE      ---      ---       #135
-      01003827H   LINE      ---      ---       #136
+      01003807H   BLOCK     CODE     ---       LVL=0
+      01003807H   LINE      ---      ---       #131
+      01003807H   LINE      ---      ---       #132
+      01003807H   BLOCK     CODE     NEAR LAB  LVL=1
+      01003807H   LINE      ---      ---       #134
+      01003809H   LINE      ---      ---       #135
+      0100383AH   LINE      ---      ---       #136
       00000007H   SYMBOL    DATA     VOID      i
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
@@ -3661,5 +3663,5 @@
       ---         MODULE    ---      ---       ?C_INIT
       01000626H   PUBLIC    CODE     ---       ?C_START
 
-Program Size: data=10.2 xdata=910 const=182 code=14194
+Program Size: data=10.2 xdata=910 const=182 code=14213
 LX51 RUN COMPLETE.  0 WARNING(S),  0 ERROR(S)
Index: c51/output/FW.SBR
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Index: c51/output/eeprom.dat
===================================================================
--- /branch/mouse_project/LeXiang/Keyboard/KD8017C_2mode_3ch_LI/c51/output/eeprom.dat	(revision 5394)
+++ /branch/mouse_project/LeXiang/Keyboard/KD8017C_2mode_3ch_LI/c51/output/eeprom.dat	(working copy)
@@ -6600,7 +6600,7 @@
 f8
 aa
 55
-2a
+3d
 38
 02
 05
@@ -8259,13 +8259,13 @@
 20
 ff
 34
-8f
+a2
 00
 00
 00
 ff
 36
-cf
+e2
 00
 ff
 08
@@ -9904,7 +9904,7 @@
 fd
 12
 37
-9f
+b2
 90
 4c
 c5
@@ -10573,8 +10573,8 @@
 92
 00
 12
-33
-f8
+34
+0b
 22
 90
 4c
@@ -10656,7 +10656,7 @@
 04
 12
 33
-e7
+fa
 af
 04
 a2
@@ -10671,7 +10671,7 @@
 02
 12
 33
-c5
+d8
 22
 90
 0b
@@ -10764,7 +10764,7 @@
 64
 12
 36
-df
+f2
 90
 4e
 be
@@ -11883,10 +11883,10 @@
 56
 12
 33
-9f
+b2
 12
 35
-7d
+90
 7b
 01
 7a
@@ -12040,7 +12040,7 @@
 6c
 12
 34
-59
+6c
 f1
 b0
 e4
@@ -12401,7 +12401,7 @@
 03
 12
 34
-6c
+7f
 e4
 90
 4c
@@ -12677,7 +12677,7 @@
 f0
 12
 33
-64
+77
 e4
 90
 4f
@@ -12699,7 +12699,7 @@
 05
 12
 33
-81
+94
 90
 4f
 08
@@ -13102,7 +13102,7 @@
 f0
 12
 34
-6c
+7f
 11
 1e
 ef
@@ -13557,8 +13557,8 @@
 80
 b0
 12
-37
-f4
+38
+07
 90
 81
 1c
@@ -14236,7 +14236,7 @@
 03
 12
 37
-39
+4c
 90
 4e
 f0
@@ -14346,7 +14346,7 @@
 fd
 12
 37
-39
+4c
 90
 4e
 f0
@@ -14454,7 +14454,7 @@
 fd
 12
 37
-39
+4c
 90
 4e
 f0
@@ -14562,7 +14562,7 @@
 fd
 12
 37
-39
+4c
 90
 4e
 f0
@@ -19017,15 +19017,15 @@
 f0
 22
 ae
-07
-ac
 05
+ac
+07
 e4
 90
 4f
 06
 f0
-ee
+ec
 30
 e0
 05
@@ -19037,7 +19037,7 @@
 90
 4f
 06
-ec
+ee
 f0
 90
 4c
@@ -19045,8 +19045,12 @@
 e0
 ff
 60
-2e
-ec
+3e
+64
+01
+60
+3a
+ee
 b4
 e6
 08
@@ -19057,8 +19061,8 @@
 e7
 f0
 80
-22
-ec
+2e
+ee
 b4
 e7
 08
@@ -19069,8 +19073,20 @@
 e6
 f0
 80
+22
+ee
+b4
+e4
+08
+90
+4f
+06
+74
+e6
+f0
+80
 16
-ec
+ee
 b4
 e3
 08
@@ -19082,7 +19098,7 @@
 f0
 80
 0a
-ec
+ee
 b4
 e2
 06
@@ -19092,15 +19108,18 @@
 74
 e3
 f0
-ef
+90
+4c
+c1
+e0
 70
 11
-ec
+ee
 b4
 da
 0d
 af
-06
+04
 7b
 0f
 7d
@@ -19121,28 +19140,28 @@
 60
 02
 21
-c8
-ec
+db
+ee
 64
 14
 60
 0f
-ec
+ee
 64
 1a
 60
 0a
-ec
+ee
 64
 08
 60
 05
-ec
+ee
 64
 15
 70
 72
-ec
+ee
 b4
 15
 08
@@ -19154,7 +19173,7 @@
 f0
 80
 21
-ec
+ee
 b4
 1a
 07
@@ -19165,7 +19184,7 @@
 f0
 80
 16
-ec
+ee
 b4
 08
 08
@@ -19177,7 +19196,7 @@
 f0
 80
 0a
-ec
+ee
 b4
 14
 06
@@ -19209,7 +19228,7 @@
 02
 f0
 21
-c8
+db
 ef
 d3
 94
@@ -19217,7 +19236,7 @@
 40
 02
 21
-c8
+db
 ef
 c3
 94
@@ -19256,12 +19275,12 @@
 f0
 80
 5a
-ec
+ee
 64
 29
 70
 55
-ee
+ec
 30
 e0
 4c
@@ -19353,7 +19372,7 @@
 60
 02
 61
-5e
+71
 90
 4d
 e3
@@ -19375,7 +19394,7 @@
 60
 02
 61
-5e
+71
 90
 4d
 e8
@@ -19385,8 +19404,8 @@
 60
 02
 61
-5e
-ec
+71
+ee
 24
 c6
 b4
@@ -19395,10 +19414,10 @@
 40
 02
 61
-5e
+71
 90
 32
-08
+1b
 75
 f0
 03
@@ -19412,40 +19431,40 @@
 73
 02
 32
-2c
+3f
 02
 32
-34
+47
 02
 32
-3c
+4f
 02
 32
-83
+96
 02
 32
-a9
+bc
 02
 32
-ea
+fd
 02
 33
-30
+43
 02
 33
-38
+4b
 02
 33
-40
+53
 02
 33
-48
+5b
 02
 33
-50
+63
 02
 33
-58
+6b
 90
 4f
 06
@@ -19453,7 +19472,7 @@
 d7
 f0
 61
-5e
+71
 90
 4f
 06
@@ -19461,24 +19480,24 @@
 d8
 f0
 61
-5e
+71
 90
 4c
 c1
 e0
-fc
+fe
 b4
 02
 19
 af
-06
+04
 7b
 2b
 7d
 08
 11
 59
-ee
+ec
 30
 e0
 06
@@ -19494,8 +19513,8 @@
 06
 f0
 61
-5e
-ec
+71
+ee
 64
 01
 60
@@ -19507,16 +19526,16 @@
 60
 02
 61
-5e
+71
 af
-06
+04
 7b
 2b
 7d
 04
 11
 59
-ee
+ec
 30
 e0
 06
@@ -19532,7 +19551,7 @@
 06
 f0
 61
-5e
+71
 90
 4c
 c1
@@ -19541,14 +19560,14 @@
 02
 17
 af
-06
+04
 7b
 2c
 7d
 09
 11
 59
-ee
+ec
 30
 e0
 06
@@ -19570,7 +19589,7 @@
 d5
 f0
 61
-5e
+71
 90
 4c
 c1
@@ -19585,7 +19604,7 @@
 02
 0a
 af
-06
+04
 7b
 2c
 7d
@@ -19602,7 +19621,7 @@
 01
 0a
 af
-06
+04
 7b
 2c
 7d
@@ -19612,14 +19631,14 @@
 80
 08
 af
-06
+04
 7b
 2c
 7d
 08
 11
 59
-ee
+ec
 30
 e0
 06
@@ -19644,14 +19663,14 @@
 03
 17
 af
-06
+04
 7b
 20
 7d
 0a
 11
 59
-ee
+ec
 30
 e0
 06
@@ -19674,7 +19693,7 @@
 02
 19
 af
-06
+04
 7b
 20
 7d
@@ -19777,7 +19796,7 @@
 c2
 05
 71
-81
+94
 90
 4f
 07
@@ -19800,7 +19819,7 @@
 92
 03
 71
-d6
+e9
 af
 04
 a2
@@ -19809,16 +19828,16 @@
 92
 02
 71
-c5
+d8
 af
 04
 c2
 04
 71
-e7
+fa
 22
 91
-59
+6c
 12
 17
 b0
@@ -19836,19 +19855,19 @@
 7f
 1a
 71
-81
+94
 c2
 05
 7f
 15
 71
-81
+94
 c2
 05
 7f
 17
 71
-81
+94
 e4
 90
 4d
@@ -19869,8 +19888,8 @@
 02
 92
 00
-71
-f8
+91
+0b
 22
 ef
 f4
@@ -19886,8 +19905,8 @@
 03
 92
 00
-71
-f8
+91
+0b
 22
 ef
 f4
@@ -19903,8 +19922,8 @@
 04
 92
 00
-71
-f8
+91
+0b
 22
 90
 4e
@@ -20124,7 +20143,7 @@
 70
 37
 91
-6c
+7f
 80
 33
 90
@@ -20164,11 +20183,11 @@
 80
 06
 91
-6c
+7f
 80
 02
 91
-6c
+7f
 90
 4c
 e2
@@ -20299,7 +20318,7 @@
 0d
 96
 b1
-b2
+c5
 90
 4c
 eb
@@ -20978,8 +20997,8 @@
 04
 cf
 22
-b8
-ba
+22
+de
 aa
 55
 40
@@ -22321,27 +22340,8 @@
 6c
 59
 50
-6d
-10
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
+8a
+80
 ff
 ff
 ff
@@ -32764,5 +32764,5 @@
 ff
 ff
 ff
-32
-75
+5a
+aa
Index: c51/output/fw.hex
===================================================================
--- /branch/mouse_project/LeXiang/Keyboard/KD8017C_2mode_3ch_LI/c51/output/fw.hex	(revision 5394)
+++ /branch/mouse_project/LeXiang/Keyboard/KD8017C_2mode_3ch_LI/c51/output/fw.hex	(working copy)
@@ -101,7 +101,7 @@
 :1006400054C025E060A840B8E493A3FAE493A3F86B
 :10065000E493A3C8C582C8CAC583CAF0A3C8C5822B
 :10066000C8CAC583CADFE9DEE780BE524E58FF1410
-:1006700069000000FF2320FF348F000000FF36CF09
+:1006700069000000FF2320FF34A2000000FF36E2E3
 :1006800000FF08090A0B0C0D0E111312FFFFFFFFEC
 :100690000F140000000000000000000000001E35E4
 :1006A0008B1D29042B141F3A8A1B6416391A203B10
@@ -204,7 +204,7 @@
 :100CB0007002A151904CEBE06002A151904CC7E052
 :100CC000FF6404600AEFB4031E904DD3E0601890F7
 :100CD0004E80E0B406037403F07B017A4E79809075
-:100CE0004E7FE0FD12379F904CC5E0640370629028
+:100CE0004E7FE0FD1237B2904CC5E0640370629015
 :100CF0004E80E0640170237404F0A3E07014904E01
 :100D000083E0700EA3E0700AA3E07006904DDEF061
 :100D10008032904DDE7401F0802A904E80E0B40263
@@ -246,19 +246,19 @@
 :100F50007F0AB152904E9CE0FEA3E0FF904E9AEEC5
 :100F60008FF012040E904E96E02FF0904E95E03EDA
 :100F7000F0C1DD22EFF4600D7B017A807974A2016B
-:100F800092001233F822904CC3E0B40112D2017FD8
+:100F8000920012340B22904CC3E0B40112D2017FC4
 :100F900019F174C2017F1CF174C2017F1D80D590CC
 :100FA0004CC3E0B40212C2017F19F174D2017F1C5C
 :100FB000F174C2017F1D80BCC2017F19F174C201AE
 :100FC0007F1CF174D2017F1D80AAAC07ECF460167F
-:100FD000AF04D2041233E7AF04A2069201F174AF5A
-:100FE00004C2021233C522900BE77406F0904F0B37
+:100FD000AF04D2041233FAAF04A2069201F174AF47
+:100FE00004C2021233D822900BE77406F0904F0B24
 :100FF000EDF0E0FD900BE8F07E0B7FE9904EC6ED42
 :10100000F01208547B017A0B79E7904F0BE0240231
 :10101000FD904EBBEBF0A3EAF0A3E9F0A3EDF09056
 :101020004B9CE0FFA3E0904EBFCFF0A3EFF0904BBE
 :101030009AE0FEA3E0FF904B9CE0FCA3E0FD7B6404
-:101040001236DF904EBEE0FEEFC39E40E1904EBEF2
+:101040001236F2904EBEE0FEEFC39E40E1904EBEDF
 :10105000E0FF14F0EF603F904EBBE0FBA3E475F0BF
 :1010600001120424A9F0FA1203B6FF904EBFE475F2
 :10107000F00112042485F082F583EFF0904EBFE07A
@@ -328,7 +328,7 @@
 :10147000B316421417121515472716D929149F2F92
 :10148000153C30159A31160632149F3316B43416B3
 :10149000F335159237154739159A3C000017561247
-:1014A000339F12357D7B017A4C79C07D017C007FB2
+:1014A00033B21235907B017A4C79C07D017C007F8C
 :1014B000BD7E7F122120904CC0E0D394034002E413
 :1014C000F0904CC0E0904CC3F01222B77F0A120D8E
 :1014D000527B017A4C79F27D027C007FBE7E7F12C6
@@ -337,7 +337,7 @@
 :10150000F3F07B017A4C79C17D017C007FC07E7F46
 :101510001221207F0A120D52904CC1E0D394034057
 :1015200012E4F07B017A4C79C17D01FC7FC07E7FA3
-:10153000120EC6904DEC7402F002206C123459F178
+:10153000120EC6904DEC7402F002206C12346CF165
 :10154000B0E4904CFCF022904CC3E0D394005002E5
 :10155000E156E094044002E156E075F01FA424D166
 :10156000F9744D35F0FA7B017D1F7C00F1F17FC8E5
@@ -360,7 +360,7 @@
 :1016700024EEF582E4344DF583E4F0904DE8E0FF8C
 :10168000904CC3E075F01FA424EFF582E4344DF5CF
 :1016900083EFF0904DE6E07006904DD47414F09016
-:1016A0004CE5E0700312346CE4904CE9F0904CE3AC
+:1016A0004CE5E0700312347FE4904CE9F0904CE399
 :1016B000F0A3F022904CC77404F0E4A3F0F160E4CE
 :1016C000904CEBF0904DDC740AF0904CC3E0904CE1
 :1016D000C0F0904CBF7403F022904CC3E014FD7F27
@@ -377,9 +377,9 @@
 :10178000904CC4E0904CC3F0904CC0F07F0D11D051
 :10179000F157904CEEE06017E4904CE3F0A3F0902A
 :1017A0004CEEE014F0E070077F0A120D52F1572260
-:1017B000908080E4F0A3F0A3F0123364E4904F082B
+:1017B000908080E4F0A3F0A3F0123377E4904F0818
 :1017C000F0F0904F08E090068193FF600DC2051283
-:1017D0003381904F08E004F080E822904CC0E0FF95
+:1017D0003394904F08E004F080E822904CC0E0FF82
 :1017E00064FE6003EF70077F2211A67F01227F0055
 :1017F00022904EF6EBF0A3EAF0A3E9F0ED1DAE0463
 :1018000070011C4E6017904EF6E0FBA3E475F001EA
@@ -404,7 +404,7 @@
 :10193000D5E0B40205121757802B904CD5E0B401C6
 :1019400014904CF7E0701E904CE2740AF0904CF743
 :101950007401F08010904CF7E0B40109E4F0904C71
-:10196000E2F012346C111EEF604F904CE5E07049CC
+:10196000E2F012347F111EEF604F904CE5E07049B9
 :10197000C3904CE4E0940A904CE3E09400502C9027
 :101980004CB7E030E009D2017FFF120F748007C22C
 :10199000017FFF120F74904CB7E030E107D2017F56
@@ -432,7 +432,7 @@
 :101AF000A805088002C333D8FCFDEE2478FBE4344B
 :101B0000808B82F583E0FCEDF4FBEC5BF0EE24705F
 :101B1000F582E43480F583E04DF0EE2474F582E440
-:101B20003480F583E05BF00F80B01237F490811CB5
+:101B20003480F583E05BF00F80B012380790811CA1
 :101B3000E0904F09F0904DDDE06020E4FF716B7F95
 :101B400001716B7F02716B7F03716B7F04716B7F1F
 :101B500005716B7F06716B7F078010904F09E0FF66
@@ -475,27 +475,27 @@
 :101DA0000C6F7A0C794B904EF07401F0A3740CF028
 :101DB000A3744BF0904BA0E0FEA3E0FF904B9EE09D
 :101DC0006E7003A3E06F7002E1557E0C7F4B7D03C4
-:101DD000123739904EF0E0FBA3E0FAA3E0F91203CA
+:101DD00012374C904EF0E0FBA3E0FAA3E0F91203B7
 :101DE000B6B4022B904EF1E475F00212040E904E40
 :101DF000F0E0FBA3E0FAA3E0F91203B6FF904E6A0D
 :101E0000E0A3E0FAA3E0F5828A831205DDE15590B4
 :101E10004EF0E0FBA3E0FAA3E0F91203B66404700D
 :101E20005A904EF175F00112040E7E0C7F4E904ECA
 :101E3000F0E0FBA3E0FAA3E0F91203B614FD1237B9
-:101E400039904EF0E0FBA3E0FAA3E02401F9E43A74
+:101E40004C904EF0E0FBA3E0FAA3E02401F9E43A61
 :101E5000FAC002C001904EF0E0A3E0FAA3E0F9124C
 :101E600003B6FD7C00904E6DE0A3E0FAA3E0F5829E
 :101E70008A83D001D0021205DDE155904EF0E0FBDF
 :101E8000A3E0FAA3E0F91203B66405705A904EF18C
 :101E900075F00112040E7E0C7F4E904EF0E0FBA315
-:101EA000E0FAA3E0F91203B614FD123739904EF0B0
+:101EA000E0FAA3E0F91203B614FD12374C904EF09D
 :101EB000E0FBA3E0FAA3E02401F9E43AFAC002C08F
 :101EC00001904EF0E0A3E0FAA3E0F91203B6FD7C26
 :101ED00000904E76E0A3E0FAA3E0F5828A83D00179
 :101EE000D0021205DD806E904EF0E0FBA3E0FAA375
 :101EF000E0F91203B66403705A904EF175F00112C6
 :101F0000040E7E0C7F4E904EF0E0FBA3E0FAA3E0BF
-:101F1000F91203B614FD123739904EF0E0FBA3E03E
+:101F1000F91203B614FD12374C904EF0E0FBA3E02B
 :101F2000FAA3E02401F9E43AFAC002C001904EF0AD
 :101F3000E0A3E0FAA3E0F91203B6FD7C00904E792D
 :101F4000E0A3E0FAA3E0F5828A83D001D002120573
@@ -773,128 +773,129 @@
 :103040004D08F0904CCEE054E7F0808F904CCEE0ED
 :1030500054E7F054DFF07F0022904CF5EDF0A3EB45
 :10306000F0EF30E012904CF4E0B403047402F0226C
-:10307000904CF47401F022904CF47404F022AE07EA
-:10308000AC05E4904F06F0EE30E005E4904CF8F02B
-:10309000904F06ECF0904CC1E0FF602EECB4E608D7
-:1030A000904F0674E7F08022ECB4E708904F067466
-:1030B000E6F08016ECB4E308904F0674E2F0800A64
-:1030C000ECB4E206904F0674E3F0EF7011ECB4DA62
-:1030D0000DAF067B0F7D081159E4904F06F0904D1F
-:1030E000E3E06401600221C8EC6414600FEC641A30
-:1030F000600AEC64086005EC64157072ECB41508A5
-:10310000904CC17402F08021ECB41A07E4904CC1D9
-:10311000F08016ECB40808904CC17401F0800AEC01
-:10312000B41406904CC17403F0E4904F06F0904C38
-:10313000C3E0FF6003B4FE08904CBF7402F021C8E6
-:10314000EFD39403400221C8EFC39401407A904C1E
-:10315000C1E0FF904CC3E075F01FA424EEF582E4BB
-:10316000344DF583EFF0904CBF7403F0805AEC645B
-:10317000297055EE30E04C904DE8E06004E4F080BA
-:1031800006904DE87401F0904CC3E0FF6003B4FE7C
-:1031900008904CBF7402F0802AEFD394035024EFC0
-:1031A000C39401401E904DE8E0FF904CC3E075F0E1
-:1031B0001FA424EFF582E4344DF583EFF0904CBF6B
-:1031C0007403F0E4904F06F0904E57E06002615EA9
-:1031D000904DE3E07006904DE8E06014904DE3E020
-:1031E00064016002615E904DE8E064016002615E2E
-:1031F000EC24C6B40C004002615E90320875F00306
-:10320000A4C58325F0C5837302322C023234023206
-:103210003C0232830232A90232EA023330023338EE
-:10322000023340023348023350023358904F067441
-:10323000D7F0615E904F0674D8F0615E904CC1E0AB
-:10324000FCB40219AF067B2B7D081159EE30E00665
-:10325000904CF8740AF0E4904F06F0615EEC640163
-:103260006008904CC1E06002615EAF067B2B7D047C
-:103270001159EE30E006904CF8740AF0E4904F06D5
-:10328000F0615E904CC1E0B40217AF067B2C7D0963
-:103290001159EE30E006904CF8740AF0E4904F06B5
-:1032A000F0904F0674D5F0615E904CC1E0FF64036E
-:1032B0006004EFB4020AAF067B2C7D01115980191E
-:1032C000904CC1E0B4010AAF067B2C7D02115980FD
-:1032D00008AF067B2C7D081159EE30E006904CF8C3
-:1032E000740AF0E4904F06F08074904CC1E0B4038F
-:1032F00017AF067B207D0A1159EE30E006904CF89E
-:10330000740AF0E4904F06F0904CC1E0B40219AF9B
-:10331000067B207D0A1159EF30E006904CF8740AC4
-:10332000F0E4904F06F08036904F067446F0802E01
-:10333000904F0674F4F08026904F0674F2F0801ED1
-:10334000904F0674F5F08016904F0674F8F0800EDA
-:10335000904F0674F6F08006904F0674F7F0904F89
-:1033600006E0FF22E4904F07F0F0904F07E0FFC324
-:103370009408500CC2057181904F07E004F080EA78
-:1033800022AC07ECF46017AF04A205920371D6AF2C
-:1033900004A205B3920271C5AF04C20471E7229181
-:1033A000591217B0904D05E0701A121FD0C2057F58
-:1033B0001A7181C2057F157181C2057F177181E481
-:1033C000904D05F022EFF4600C7B017A807978A2B1
-:1033D00002920071F822EFF4600C7B017A80797C14
-:1033E000A203920071F822EFF4600C7B017A8079DD
-:1033F00070A204920071F822904EF9EBF0A3EAF06B
-:10340000A3E9F0E4FEFDEF5407FEEF13131354039A
-:10341000FD300022904EF9E0FBA3E0FAA3E02DF985
-:10342000E43AFA1203B6FF7401A806088002C33317
-:10343000D8FC4F0203FC904EF9E0FBA3E0FAA3E0B6
-:103440002DF9E43AFA1203B6FF7401A806088002C7
-:10345000C333D8FCF45F0203FC908091740DF0A399
-:1034600004F0A3F0A3F0A3F0A314F022904CC3E067
-:10347000B40107C2017F19020F74904CC3E0B4027B
-:1034800007C2017F1C020F74C2017F1D020F7490DE
-:103490004CEAE0600214F0904CEFE0600214F0900F
-:1034A0004CF8E0600B14F0E07006904CF47406F0F9
-:1034B000904CE5E0601F904CEEE06006E4904CE537
-:1034C000F022904CE5E014F0120F86904CE5E0708D
-:1034D00037916C8033904CE9E0702D904CEEE070A9
-:1034E00027904CE2E0602114F0E0FFC39404500DFB
-:1034F000EF30E105120F868006916C8002916C908E
-:103500004CE2E07003740AF0904DDDE07036904DAF
-:10351000DEE06401702E904CE3F0A3F0904DDEF0FD
-:10352000904E4EE0600D7B017A4E794E7D03120C79
-:103530006F8011904800E0600B7B017A4879007D34
-:1035400009120C6F904DD4E06011E014F0E0700BA4
-:10355000904D3DE070057F1B1210A6904DE7E06096
-:103560001BE014F0E07015904D46E06002E4F0902E
-:103570004CC7E0B40406904213740CF022120D966E
-:10358000B1B2904CEB7401F0904CE5740AF0E49009
-:103590004CF0F0904D0974FFF09044FCE0904DD059
-:1035A000F09044FDE0904DD1F09044FEE0904DD27B
-:1035B000F022904CD37405F0E4A3F0904D0A7414FB
-:1035C000F0E4FFEF25E024D6F582E4344CF5837473
-:1035D00054F0A3F00FEFB404EA904C91E0FEA3E0A6
-:1035E000FFC3904C94E09FFD904C93E09EFCE4124E
-:1035F00002067B857AEB79B1783F1200FBC004C0EC
-:1036000005C006C007904C91E0FCA3E0FDE4120267
-:1036100006D003D002D001D00012000A12023F905F
-:103620004CFAEEF0A3EFF0904C91E0FEA3E0FFC364
-:10363000904C94E09FFD904C93E09EFCE4120206B7
-:103640007BC37AF57988783F1200FBC004C005C0BF
-:1036500006C007904C91E0FCA3E0FDE4120206D006
-:1036600003D002D001D00012000A12023F904CDEBB
-:10367000EEF0A3EFF0904C91E0FEA3E0FFC3904C7E
-:1036800094E09FFD904C93E09EFCE41202067BAE1A
-:103690007A477981783F1200FBC004C005C006C09C
-:1036A00007904C91E0FCA3E0FDE4120206D003D0A9
-:1036B00002D001D00012000A12023F904CE0EEF05E
-:1036C000A3EFF0229080107401F080FE2280F5902C
-:1036D0004EFEEDF09000011203CF904EFFF02290CD
-:1036E0004EDFEEF0A3EFF0904EE1ECF0A3EDF090A2
-:1036F0004EE1E0FEA3E0FFD3904EE0E09F904EDF6E
-:10370000E09E4016904EE1E0FEA3E0FF904EE0E028
-:103710009FFF904EDFE09EFE801E904EDFE0FEA3F6
-:10372000E0FFC3904EE2E09FFF904EE1E09EFEADD1
-:1037300003C3EB9FFFE49EFE22904F00EEF0A3EF49
-:10374000F0A905904B9EE0FEA3E0FFAD0119ED60EE
-:103750002F0FEFAC0670010E14F5828C83E0FD9004
-:103760004F00E475F00112042485F082F583EDF03A
-:10377000AD07AC06BC4BD4BD9AD17E4B7F3680CB17
-:10378000904B9EEEF0A3EFF022900BE77403F0ED68
-:103790006003120FED22900BE77404F0020FED901E
-:1037A0000BE77405F0020FED900446E0FF229082D3
-:1037B000807401F022EFF4603AEF5407FEEF131328
-:1037C000135403FF24A3F582E43400F583C083C0BF
-:1037D00082E0FD7401A806088002C333D8FCF4FC23
-:1037E0005DD082D083F074A72FF582E43400F58396
-:1037F000E05CF022E4FFEFFD7C002478FBEC3480F9
-:103800008B82F583E0FEED2470FDEC34808D82F533
-:1038100083E04EF4FEEF247CFDEC34808D82F58352
-:08382000EEF00FEFB404CF221B
+:10307000904CF47401F022904CF47404F022AE05EC
+:10308000AC07E4904F06F0EC30E005E4904CF8F02B
+:10309000904F06EEF0904CC1E0FF603E6401603A54
+:1030A000EEB4E608904F0674E7F0802EEEB4E70821
+:1030B000904F0674E6F08022EEB4E408904F067458
+:1030C000E6F08016EEB4E308904F0674E2F0800A52
+:1030D000EEB4E206904F0674E3F0904CC1E070113C
+:1030E000EEB4DA0DAF047B0F7D081159E4904F0662
+:1030F000F0904DE3E06401600221DBEE6414600FA8
+:10310000EE641A600AEE64086005EE64157072EEF3
+:10311000B41508904CC17402F08021EEB41A07E493
+:10312000904CC1F08016EEB40808904CC17401F0C8
+:10313000800AEEB41406904CC17403F0E4904F067C
+:10314000F0904CC3E0FF6003B4FE08904CBF7402E3
+:10315000F021DBEFD39403400221DBEFC394014065
+:103160007A904CC1E0FF904CC3E075F01FA424EEB0
+:10317000F582E4344DF583EFF0904CBF7403F0809A
+:103180005AEE64297055EC30E04C904DE8E0600454
+:10319000E4F08006904DE87401F0904CC3E0FF60CD
+:1031A00003B4FE08904CBF7402F0802AEFD394035E
+:1031B0005024EFC39401401E904DE8E0FF904CC3B3
+:1031C000E075F01FA424EFF582E4344DF583EFF0B1
+:1031D000904CBF7403F0E4904F06F0904E57E060BF
+:1031E000026171904DE3E07006904DE8E06014904C
+:1031F0004DE3E0640160026171904DE8E0640160BC
+:10320000026171EE24C6B40C004002617190321B61
+:1032100075F003A4C58325F0C5837302323F0232E3
+:103220004702324F0232960232BC0232FD02334371
+:1032300002334B02335302335B02336302336B902E
+:103240004F0674D7F06171904F0674D8F061719099
+:103250004CC1E0FEB40219AF047B2B7D081159EC80
+:1032600030E006904CF8740AF0E4904F06F061717B
+:10327000EE64016008904CC1E060026171AF047BB4
+:103280002B7D041159EC30E006904CF8740AF0E400
+:10329000904F06F06171904CC1E0B40217AF047B0F
+:1032A0002C7D091159EC30E006904CF8740AF0E4DA
+:1032B000904F06F0904F0674D5F06171904CC1E0CC
+:1032C000FF64036004EFB4020AAF047B2C7D01119C
+:1032D000598019904CC1E0B4010AAF047B2C7D02E7
+:1032E00011598008AF047B2C7D081159EC30E006A1
+:1032F000904CF8740AF0E4904F06F08074904CC142
+:10330000E0B40317AF047B207D0A1159EC30E006CE
+:10331000904CF8740AF0E4904F06F0904CC1E0B481
+:103320000219AF047B207D0A1159EF30E006904C62
+:10333000F8740AF0E4904F06F08036904F06744619
+:10334000F0802E904F0674F4F08026904F0674F2B1
+:10335000F0801E904F0674F5F08016904F0674F8BA
+:10336000F0800E904F0674F6F08006904F0674F7CA
+:10337000F0904F06E0FF22E4904F07F0F0904F07E7
+:10338000E0FFC39408500CC2057194904F07E0040D
+:10339000F080EA22AC07ECF46017AF04A2059203B8
+:1033A00071E9AF04A205B3920271D8AF04C20471EF
+:1033B000FA22916C1217B0904D05E0701A121FD0CE
+:1033C000C2057F1A7194C2057F157194C2057F17DB
+:1033D0007194E4904D05F022EFF4600C7B017A804B
+:1033E0007978A2029200910B22EFF4600C7B017AB3
+:1033F00080797CA2039200910B22EFF4600C7B0198
+:103400007A807970A2049200910B22904EF9EBF031
+:10341000A3EAF0A3E9F0E4FEFDEF5407FEEF131377
+:10342000135403FD300022904EF9E0FBA3E0FAA311
+:10343000E02DF9E43AFA1203B6FF7401A8060880F9
+:1034400002C333D8FC4F0203FC904EF9E0FBA3E02B
+:10345000FAA3E02DF9E43AFA1203B6FF7401A806C4
+:10346000088002C333D8FCF45F0203FC908091749F
+:103470000DF0A304F0A3F0A3F0A3F0A314F02290A6
+:103480004CC3E0B40107C2017F19020F74904CC312
+:10349000E0B40207C2017F1C020F74C2017F1D024B
+:1034A0000F74904CEAE0600214F0904CEFE0600280
+:1034B00014F0904CF8E0600B14F0E07006904CF4BF
+:1034C0007406F0904CE5E0601F904CEEE06006E47E
+:1034D000904CE5F022904CE5E014F0120F86904CF1
+:1034E000E5E07037917F8033904CE9E0702D904C8F
+:1034F000EEE07027904CE2E0602114F0E0FFC3940E
+:1035000004500DEF30E105120F868006917F800296
+:10351000917F904CE2E07003740AF0904DDDE07012
+:1035200036904DDEE06401702E904CE3F0A3F090F5
+:103530004DDEF0904E4EE0600D7B017A4E794E7D6F
+:1035400003120C6F8011904800E0600B7B017A48F9
+:1035500079007D09120C6F904DD4E06011E014F0F9
+:10356000E0700B904D3DE070057F1B1210A6904D52
+:10357000E7E0601BE014F0E07015904D46E060025B
+:10358000E4F0904CC7E0B40406904213740CF022AF
+:10359000120D96B1C5904CEB7401F0904CE5740A95
+:1035A000F0E4904CF0F0904D0974FFF09044FCE092
+:1035B000904DD0F09044FDE0904DD1F09044FEE06D
+:1035C000904DD2F022904CD37405F0E4A3F0904DCE
+:1035D0000A7414F0E4FFEF25E024D6F582E4344CBD
+:1035E000F5837454F0A3F00FEFB404EA904C91E02B
+:1035F000FEA3E0FFC3904C94E09FFD904C93E09EAF
+:10360000FCE41202067B857AEB79B1783F1200FB6D
+:10361000C004C005C006C007904C91E0FCA3E0FDCB
+:10362000E4120206D003D002D001D00012000A1228
+:10363000023F904CFAEEF0A3EFF0904C91E0FEA325
+:10364000E0FFC3904C94E09FFD904C93E09EFCE41F
+:103650001202067BC37AF57988783F1200FBC0041A
+:10366000C005C006C007904C91E0FCA3E0FDE41249
+:103670000206D003D002D001D00012000A12023F8D
+:10368000904CDEEEF0A3EFF0904C91E0FEA3E0FF53
+:10369000C3904C94E09FFD904C93E09EFCE412029A
+:1036A000067BAE7A477981783F1200FBC004C005E3
+:1036B000C006C007904C91E0FCA3E0FDE4120206B6
+:1036C000D003D002D001D00012000A12023F904C69
+:1036D000E0EEF0A3EFF0229080107401F080FE2263
+:1036E00080F5904EFEEDF09000011203CF904EFF5A
+:1036F000F022904EDFEEF0A3EFF0904EE1ECF0A35D
+:10370000EDF0904EE1E0FEA3E0FFD3904EE0E09FAD
+:10371000904EDFE09E4016904EE1E0FEA3E0FF9069
+:103720004EE0E09FFF904EDFE09EFE801E904EDF59
+:10373000E0FEA3E0FFC3904EE2E09FFF904EE1E089
+:103740009EFEAD03C3EB9FFFE49EFE22904F00EE72
+:10375000F0A3EFF0A905904B9EE0FEA3E0FFAD01C2
+:1037600019ED602F0FEFAC0670010E14F5828C83FB
+:10377000E0FD904F00E475F00112042485F082F51D
+:1037800083EDF0AD07AC06BC4BD4BD9AD17E4B7F28
+:103790003680CB904B9EEEF0A3EFF022900BE774B7
+:1037A00003F0ED6003120FED22900BE77404F002BA
+:1037B0000FED900BE77405F0020FED900446E0FF6B
+:1037C000229082807401F022EFF4603AEF5407FEF9
+:1037D000EF1313135403FF24A3F582E43400F5839D
+:1037E000C083C082E0FD7401A806088002C333D8FC
+:1037F000FCF4FC5DD082D083F074A72FF582E43412
+:1038000000F583E05CF022E4FFEFFD7C002478FB10
+:10381000EC34808B82F583E0FEED2470FDEC348087
+:103820008D82F583E04EF4FEEF247CFDEC34808D38
+:0B38300082F583EEF00FEFB404CF220E
 :00000001FF
Index: c51/output/fwram.rom
===================================================================
--- /branch/mouse_project/LeXiang/Keyboard/KD8017C_2mode_3ch_LI/c51/output/fwram.rom	(revision 5394)
+++ /branch/mouse_project/LeXiang/Keyboard/KD8017C_2mode_3ch_LI/c51/output/fwram.rom	(working copy)
@@ -1655,13 +1655,13 @@
 20
 ff
 34
-8f
+a2
 00
 00
 00
 ff
 36
-cf
+e2
 00
 ff
 08
@@ -3300,7 +3300,7 @@
 fd
 12
 37
-9f
+b2
 90
 4c
 c5
@@ -3969,8 +3969,8 @@
 92
 00
 12
-33
-f8
+34
+0b
 22
 90
 4c
@@ -4052,7 +4052,7 @@
 04
 12
 33
-e7
+fa
 af
 04
 a2
@@ -4067,7 +4067,7 @@
 02
 12
 33
-c5
+d8
 22
 90
 0b
@@ -4160,7 +4160,7 @@
 64
 12
 36
-df
+f2
 90
 4e
 be
@@ -5279,10 +5279,10 @@
 56
 12
 33
-9f
+b2
 12
 35
-7d
+90
 7b
 01
 7a
@@ -5436,7 +5436,7 @@
 6c
 12
 34
-59
+6c
 f1
 b0
 e4
@@ -5797,7 +5797,7 @@
 03
 12
 34
-6c
+7f
 e4
 90
 4c
@@ -6073,7 +6073,7 @@
 f0
 12
 33
-64
+77
 e4
 90
 4f
@@ -6095,7 +6095,7 @@
 05
 12
 33
-81
+94
 90
 4f
 08
@@ -6498,7 +6498,7 @@
 f0
 12
 34
-6c
+7f
 11
 1e
 ef
@@ -6953,8 +6953,8 @@
 80
 b0
 12
-37
-f4
+38
+07
 90
 81
 1c
@@ -7632,7 +7632,7 @@
 03
 12
 37
-39
+4c
 90
 4e
 f0
@@ -7742,7 +7742,7 @@
 fd
 12
 37
-39
+4c
 90
 4e
 f0
@@ -7850,7 +7850,7 @@
 fd
 12
 37
-39
+4c
 90
 4e
 f0
@@ -7958,7 +7958,7 @@
 fd
 12
 37
-39
+4c
 90
 4e
 f0
@@ -12413,15 +12413,15 @@
 f0
 22
 ae
-07
-ac
 05
+ac
+07
 e4
 90
 4f
 06
 f0
-ee
+ec
 30
 e0
 05
@@ -12433,7 +12433,7 @@
 90
 4f
 06
-ec
+ee
 f0
 90
 4c
@@ -12441,8 +12441,12 @@
 e0
 ff
 60
-2e
-ec
+3e
+64
+01
+60
+3a
+ee
 b4
 e6
 08
@@ -12453,8 +12457,8 @@
 e7
 f0
 80
-22
-ec
+2e
+ee
 b4
 e7
 08
@@ -12465,8 +12469,20 @@
 e6
 f0
 80
+22
+ee
+b4
+e4
+08
+90
+4f
+06
+74
+e6
+f0
+80
 16
-ec
+ee
 b4
 e3
 08
@@ -12478,7 +12494,7 @@
 f0
 80
 0a
-ec
+ee
 b4
 e2
 06
@@ -12488,15 +12504,18 @@
 74
 e3
 f0
-ef
+90
+4c
+c1
+e0
 70
 11
-ec
+ee
 b4
 da
 0d
 af
-06
+04
 7b
 0f
 7d
@@ -12517,28 +12536,28 @@
 60
 02
 21
-c8
-ec
+db
+ee
 64
 14
 60
 0f
-ec
+ee
 64
 1a
 60
 0a
-ec
+ee
 64
 08
 60
 05
-ec
+ee
 64
 15
 70
 72
-ec
+ee
 b4
 15
 08
@@ -12550,7 +12569,7 @@
 f0
 80
 21
-ec
+ee
 b4
 1a
 07
@@ -12561,7 +12580,7 @@
 f0
 80
 16
-ec
+ee
 b4
 08
 08
@@ -12573,7 +12592,7 @@
 f0
 80
 0a
-ec
+ee
 b4
 14
 06
@@ -12605,7 +12624,7 @@
 02
 f0
 21
-c8
+db
 ef
 d3
 94
@@ -12613,7 +12632,7 @@
 40
 02
 21
-c8
+db
 ef
 c3
 94
@@ -12652,12 +12671,12 @@
 f0
 80
 5a
-ec
+ee
 64
 29
 70
 55
-ee
+ec
 30
 e0
 4c
@@ -12749,7 +12768,7 @@
 60
 02
 61
-5e
+71
 90
 4d
 e3
@@ -12771,7 +12790,7 @@
 60
 02
 61
-5e
+71
 90
 4d
 e8
@@ -12781,8 +12800,8 @@
 60
 02
 61
-5e
-ec
+71
+ee
 24
 c6
 b4
@@ -12791,10 +12810,10 @@
 40
 02
 61
-5e
+71
 90
 32
-08
+1b
 75
 f0
 03
@@ -12808,40 +12827,40 @@
 73
 02
 32
-2c
+3f
 02
 32
-34
+47
 02
 32
-3c
+4f
 02
 32
-83
+96
 02
 32
-a9
+bc
 02
 32
-ea
+fd
 02
 33
-30
+43
 02
 33
-38
+4b
 02
 33
-40
+53
 02
 33
-48
+5b
 02
 33
-50
+63
 02
 33
-58
+6b
 90
 4f
 06
@@ -12849,7 +12868,7 @@
 d7
 f0
 61
-5e
+71
 90
 4f
 06
@@ -12857,24 +12876,24 @@
 d8
 f0
 61
-5e
+71
 90
 4c
 c1
 e0
-fc
+fe
 b4
 02
 19
 af
-06
+04
 7b
 2b
 7d
 08
 11
 59
-ee
+ec
 30
 e0
 06
@@ -12890,8 +12909,8 @@
 06
 f0
 61
-5e
-ec
+71
+ee
 64
 01
 60
@@ -12903,16 +12922,16 @@
 60
 02
 61
-5e
+71
 af
-06
+04
 7b
 2b
 7d
 04
 11
 59
-ee
+ec
 30
 e0
 06
@@ -12928,7 +12947,7 @@
 06
 f0
 61
-5e
+71
 90
 4c
 c1
@@ -12937,14 +12956,14 @@
 02
 17
 af
-06
+04
 7b
 2c
 7d
 09
 11
 59
-ee
+ec
 30
 e0
 06
@@ -12966,7 +12985,7 @@
 d5
 f0
 61
-5e
+71
 90
 4c
 c1
@@ -12981,7 +13000,7 @@
 02
 0a
 af
-06
+04
 7b
 2c
 7d
@@ -12998,7 +13017,7 @@
 01
 0a
 af
-06
+04
 7b
 2c
 7d
@@ -13008,14 +13027,14 @@
 80
 08
 af
-06
+04
 7b
 2c
 7d
 08
 11
 59
-ee
+ec
 30
 e0
 06
@@ -13040,14 +13059,14 @@
 03
 17
 af
-06
+04
 7b
 20
 7d
 0a
 11
 59
-ee
+ec
 30
 e0
 06
@@ -13070,7 +13089,7 @@
 02
 19
 af
-06
+04
 7b
 20
 7d
@@ -13173,7 +13192,7 @@
 c2
 05
 71
-81
+94
 90
 4f
 07
@@ -13196,7 +13215,7 @@
 92
 03
 71
-d6
+e9
 af
 04
 a2
@@ -13205,16 +13224,16 @@
 92
 02
 71
-c5
+d8
 af
 04
 c2
 04
 71
-e7
+fa
 22
 91
-59
+6c
 12
 17
 b0
@@ -13232,19 +13251,19 @@
 7f
 1a
 71
-81
+94
 c2
 05
 7f
 15
 71
-81
+94
 c2
 05
 7f
 17
 71
-81
+94
 e4
 90
 4d
@@ -13265,8 +13284,8 @@
 02
 92
 00
-71
-f8
+91
+0b
 22
 ef
 f4
@@ -13282,8 +13301,8 @@
 03
 92
 00
-71
-f8
+91
+0b
 22
 ef
 f4
@@ -13299,8 +13318,8 @@
 04
 92
 00
-71
-f8
+91
+0b
 22
 90
 4e
@@ -13520,7 +13539,7 @@
 70
 37
 91
-6c
+7f
 80
 33
 90
@@ -13560,11 +13579,11 @@
 80
 06
 91
-6c
+7f
 80
 02
 91
-6c
+7f
 90
 4c
 e2
@@ -13695,7 +13714,7 @@
 0d
 96
 b1
-b2
+c5
 90
 4c
 eb
Index: c51/patch/adc.obj
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Index: c51/patch/bluetooth.obj
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Index: c51/patch/global_variable.obj
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Index: c51/patch/kb_process.obj
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Index: c51/patch/keyscan.obj
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Index: c51/patch/led.obj
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Index: c51/patch/ram.obj
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Index: c51/patch/sys.obj
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
