Index: c51/kb_process.c
===================================================================
--- /branch/mouse_project/LeXiang/Keyboard/KD8017C_UK_2mode_3ch_LI/c51/kb_process.c	(revision 5395)
+++ /branch/mouse_project/LeXiang/Keyboard/KD8017C_UK_2mode_3ch_LI/c51/kb_process.c	(working copy)
@@ -625,6 +625,8 @@
 			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_UK_2mode_3ch_LI/c51/output/FW.COD	(revision 5395)
+++ /branch/mouse_project/LeXiang/Keyboard/KD8017C_UK_2mode_3ch_LI/c51/output/FW.COD	(working copy)
@@ -1,4 +1,4 @@
-LX51 LINKER/LOCATER V4.41                                                               01/05/2023  11:12:27  PAGE 1
+LX51 LINKER/LOCATER V4.41                                                               03/06/2023  16:15:21  PAGE 1
 
 
 
@@ -1186,7 +1186,7 @@
 000CDF 904E7F            MOV     DPTR,#len
 000CE2 E0                MOVX    A,@DPTR
 000CE3 FD                MOV     R5,A
-000CE4 1237C3            LCALL   _IPC_TxBleData
+000CE4 1237CF            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 12341C            LCALL   _gpioSetBit
+000F82 123428            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 12340B            LCALL   _GPIO_Setoe
+000FD4 123417            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 1233E9            LCALL   _GPIO_SetPu
+000FE3 1233F5            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 123703            LCALL   _bufsize
+001040 12370F            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,?C0272?KB_PROCESS
-0010D9         ?C0272?KB_PROCESS:
+0010D6 B40D00            CJNE    A,#0DH,?C0274?KB_PROCESS
+0010D9         ?C0274?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         ?C0273?KB_PROCESS:
+0010EB         ?C0275?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 1233C3            LCALL   System_Hardware_init
+00149F 1233CF            LCALL   System_Hardware_init
   171: 		System_Software_init();
-0014A2 1235A1            LCALL   System_Software_init
+0014A2 1235AD            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 12347D            LCALL   System_IIC_clk_setup
+00153C 123489            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 123490            LCALL   LED_device_poweroff
+0016A5 12349C            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 123388            LCALL   ksRawInitialize
+0017B9 123394            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 1233A5            LCALL   _GPIO_SetInput
+0017CF 1233B1            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 123490            LCALL   LED_device_poweroff
+001962 12349C            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 123818            LCALL   GPIO_fillpd
+001B2A 123824            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 12375D            LCALL   _ipcRx
+001DD0 123769            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 12375D            LCALL   _ipcRx
+001E3E 123769            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 12375D            LCALL   _ipcRx
+001EAA 123769            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 12375D            LCALL   _ipcRx
+001F16 123769            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'
-  817: void kb_multikey_setup(tKSEVENT *pEvt)
-  818: {
+  819: void kb_multikey_setup(tKSEVENT *pEvt)
+  820: {
 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
-  819: 	byte i = 0;
-  820: 	
+  821: 	byte i = 0;
+  822: 	
 0026BD E4                CLR     A
 0026BE A3                INC     DPTR
 0026BF F0                MOVX    @DPTR,A
-  821: 	for (i = 0;i < 6;i++)
+  823: 	for (i = 0;i < 6;i++)
 0026C0 F0                MOVX    @DPTR,A
-0026C1         ?C0212?KB_PROCESS:
+0026C1         ?C0214?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    ?C0271?KB_PROCESS
-  822: 	{		
-  823: 		if ((pEvt->ksPool[i] &0xF0) == 0xf0 
+0026CB 0229CB            LJMP    ?C0273?KB_PROCESS
+  824: 	{		
+  825: 		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      ?C0216?KB_PROCESS
+0026EE 600A              JZ      ?C0218?KB_PROCESS
 0026F0 EF                MOV     A,R7
 0026F1 54D0              ANL     A,#0D0H
 0026F3 64D0              XRL     A,#0D0H
 0026F5 6003              JZ      $ + 5H
-0026F7 0229C2            LJMP    ?C0214?KB_PROCESS
-0026FA         ?C0216?KB_PROCESS:
-  824: 			|| (pEvt->ksPool[i] &0xD0) == 0xD0)
-  825: 		{
-  826: 			
-  827: 			if (pEvt->ksPool[i] ==  HID_MULTIKEY_MEDIA) //media select
+0026F7 0229C2            LJMP    ?C0216?KB_PROCESS
+0026FA         ?C0218?KB_PROCESS:
+  826: 			|| (pEvt->ksPool[i] &0xD0) == 0xD0)
+  827: 		{
+  828: 			
+  829: 			if (pEvt->ksPool[i] ==  HID_MULTIKEY_MEDIA) //media select
 0026FA 1203B6            LCALL   ?C?CLDPTR
 0026FD FB                MOV     R3,A
-0026FE B4F109            CJNE    A,#0F1H,?C0217?KB_PROCESS
-  828: 			{
-  829: 				kb_set_multikey(0x0183); 
+0026FE B4F109            CJNE    A,#0F1H,?C0219?KB_PROCESS
+  830: 			{
+  831: 				kb_set_multikey(0x0183); 
 002701 7F83              MOV     R7,#083H
 002703 7E01              MOV     R6,#01H
 002705 D197              ACALL   _kb_set_multikey
-  830: 			}
-002707 022997            LJMP    ?C0218?KB_PROCESS
-00270A         ?C0217?KB_PROCESS:
-  831: 			else
-  832: 			if (pEvt->ksPool[i] ==  HID_MULTIKEY_PALY) //play / pause
+  832: 			}
+002707 022997            LJMP    ?C0220?KB_PROCESS
+00270A         ?C0219?KB_PROCESS:
+  833: 			else
+  834: 			if (pEvt->ksPool[i] ==  HID_MULTIKEY_PALY) //play / pause
 00270A EB                MOV     A,R3
-00270B B4F209            CJNE    A,#0F2H,?C0219?KB_PROCESS
-  833: 			{ 
-  834: 				kb_set_multikey(0x00cd);
+00270B B4F209            CJNE    A,#0F2H,?C0221?KB_PROCESS
+  835: 			{ 
+  836: 				kb_set_multikey(0x00cd);
 00270E 7FCD              MOV     R7,#0CDH
 002710 7E00              MOV     R6,#00H
 002712 D197              ACALL   _kb_set_multikey
-  835: 			}
-002714 022997            LJMP    ?C0218?KB_PROCESS
-002717         ?C0219?KB_PROCESS:
-  836: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_STOP)  //stop
+  837: 			}
+002714 022997            LJMP    ?C0220?KB_PROCESS
+002717         ?C0221?KB_PROCESS:
+  838: 			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,?C0221?KB_PROCESS
-  837: 			{
-  838: 				kb_set_multikey(0x00b7);
+002734 B4F307            CJNE    A,#0F3H,?C0223?KB_PROCESS
+  839: 			{
+  840: 				kb_set_multikey(0x00b7);
 002737 7FB7              MOV     R7,#0B7H
 002739 D197              ACALL   _kb_set_multikey
-  839: 			}	
-00273B 022997            LJMP    ?C0218?KB_PROCESS
-00273E         ?C0221?KB_PROCESS:
-  840: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_PRE_TRACK) //pre Track
+  841: 			}	
+00273B 022997            LJMP    ?C0220?KB_PROCESS
+00273E         ?C0223?KB_PROCESS:
+  842: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_PRE_TRACK) //pre Track
 00273E EB                MOV     A,R3
-00273F B4F409            CJNE    A,#0F4H,?C0223?KB_PROCESS
-  841: 			{
-  842: 				kb_set_multikey(0x00b6);
+00273F B4F409            CJNE    A,#0F4H,?C0225?KB_PROCESS
+  843: 			{
+  844: 				kb_set_multikey(0x00b6);
 002742 7FB6              MOV     R7,#0B6H
 002744 7E00              MOV     R6,#00H
 002746 D197              ACALL   _kb_set_multikey
-  843: 			}
-002748 022997            LJMP    ?C0218?KB_PROCESS
-00274B         ?C0223?KB_PROCESS:
-  844: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_NEXT_TRACK) //next Track
+  845: 			}
+002748 022997            LJMP    ?C0220?KB_PROCESS
+00274B         ?C0225?KB_PROCESS:
+  846: 			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,?C0225?KB_PROCESS
-  845: 			{
-  846: 				kb_set_multikey(0x00b5);
+002768 B4F507            CJNE    A,#0F5H,?C0227?KB_PROCESS
+  847: 			{
+  848: 				kb_set_multikey(0x00b5);
 00276B 7FB5              MOV     R7,#0B5H
 00276D D197              ACALL   _kb_set_multikey
-  847: 			}
-00276F 022997            LJMP    ?C0218?KB_PROCESS
-002772         ?C0225?KB_PROCESS:
-  848: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_VOL_DOWN) //vol-
+  849: 			}
+00276F 022997            LJMP    ?C0220?KB_PROCESS
+002772         ?C0227?KB_PROCESS:
+  850: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_VOL_DOWN) //vol-
 002772 EB                MOV     A,R3
-002773 B4F609            CJNE    A,#0F6H,?C0227?KB_PROCESS
-  849: 			{
-  850: 				kb_set_multikey(0x00ea);
+002773 B4F609            CJNE    A,#0F6H,?C0229?KB_PROCESS
+  851: 			{
+  852: 				kb_set_multikey(0x00ea);
 002776 7FEA              MOV     R7,#0EAH
 002778 7E00              MOV     R6,#00H
 00277A D197              ACALL   _kb_set_multikey
-  851: 			}
-00277C 022997            LJMP    ?C0218?KB_PROCESS
-00277F         ?C0227?KB_PROCESS:
-  852: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_VOL_UP) //vol+
+  853: 			}
+00277C 022997            LJMP    ?C0220?KB_PROCESS
+00277F         ?C0229?KB_PROCESS:
+  854: 			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,?C0229?KB_PROCESS
-  853: 			{
-  854: 				kb_set_multikey(0x00e9);
+00279C B4F707            CJNE    A,#0F7H,?C0231?KB_PROCESS
+  855: 			{
+  856: 				kb_set_multikey(0x00e9);
 00279F 7FE9              MOV     R7,#0E9H
 0027A1 D197              ACALL   _kb_set_multikey
-  855: 			}
-0027A3 022997            LJMP    ?C0218?KB_PROCESS
-0027A6         ?C0229?KB_PROCESS:
-  856: 			else	if (pEvt->ksPool[i] ==  HID_MULTIKEY_MUTE) //mute
+  857: 			}
+0027A3 022997            LJMP    ?C0220?KB_PROCESS
+0027A6         ?C0231?KB_PROCESS:
+  858: 			else	if (pEvt->ksPool[i] ==  HID_MULTIKEY_MUTE) //mute
 0027A6 EB                MOV     A,R3
-0027A7 B4F809            CJNE    A,#0F8H,?C0231?KB_PROCESS
-  857: 			{
-  858: 				kb_set_multikey(0x00e2);
+0027A7 B4F809            CJNE    A,#0F8H,?C0233?KB_PROCESS
+  859: 			{
+  860: 				kb_set_multikey(0x00e2);
 0027AA 7FE2              MOV     R7,#0E2H
 0027AC 7E00              MOV     R6,#00H
 0027AE D197              ACALL   _kb_set_multikey
-  859: 			}
-0027B0 022997            LJMP    ?C0218?KB_PROCESS
-0027B3         ?C0231?KB_PROCESS:
-  860: 			else	if (pEvt->ksPool[i] ==  HID_MULTIKEY_MY_COMPUTER) 
+  861: 			}
+0027B0 022997            LJMP    ?C0220?KB_PROCESS
+0027B3         ?C0233?KB_PROCESS:
+  862: 			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,?C0233?KB_PROCESS
-  861: 			{
-  862: 				kb_set_multikey(0x0194);
+0027D0 B4F908            CJNE    A,#0F9H,?C0235?KB_PROCESS
+  863: 			{
+  864: 				kb_set_multikey(0x0194);
 0027D3 7F94              MOV     R7,#094H
 0027D5 0E                INC     R6
 0027D6 D197              ACALL   _kb_set_multikey
-  863: 			}	
-0027D8 022997            LJMP    ?C0218?KB_PROCESS
-0027DB         ?C0233?KB_PROCESS:
-  864: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_MAIL)  //mail
+  865: 			}	
+0027D8 022997            LJMP    ?C0220?KB_PROCESS
+0027DB         ?C0235?KB_PROCESS:
+  866: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_MAIL)  //mail
 0027DB EB                MOV     A,R3
-0027DC B4FA09            CJNE    A,#0FAH,?C0235?KB_PROCESS
-  865: 			{
-  866: 				kb_set_multikey(0x018a);//mail
+0027DC B4FA09            CJNE    A,#0FAH,?C0237?KB_PROCESS
+  867: 			{
+  868: 				kb_set_multikey(0x018a);//mail
 0027DF 7F8A              MOV     R7,#08AH
 0027E1 7E01              MOV     R6,#01H
 0027E3 D197              ACALL   _kb_set_multikey
-  867: 			}
-0027E5 022997            LJMP    ?C0218?KB_PROCESS
-0027E8         ?C0235?KB_PROCESS:
-  868: 			else	if (pEvt->ksPool[i] ==  HID_MULTIKEY_CALCULATOR) //calculator
+  869: 			}
+0027E5 022997            LJMP    ?C0220?KB_PROCESS
+0027E8         ?C0237?KB_PROCESS:
+  870: 			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,?C0237?KB_PROCESS
-  869: 			{
-  870: 				kb_set_multikey(0x0192);
+002805 B4FB08            CJNE    A,#0FBH,?C0239?KB_PROCESS
+  871: 			{
+  872: 				kb_set_multikey(0x0192);
 002808 7F92              MOV     R7,#092H
 00280A 0E                INC     R6
 00280B 122697            LCALL   _kb_set_multikey
-  871: 			}
-00280E 2197              AJMP    ?C0218?KB_PROCESS
-002810         ?C0237?KB_PROCESS:
-  872: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_AC_FAVORITES) 
+  873: 			}
+00280E 2197              AJMP    ?C0220?KB_PROCESS
+002810         ?C0239?KB_PROCESS:
+  874: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_AC_FAVORITES) 
 002810 EB                MOV     A,R3
-002811 B4D009            CJNE    A,#0D0H,?C0239?KB_PROCESS
-  873: 			{
-  874: 				kb_set_multikey(0x022a);//www Favorites
+002811 B4D009            CJNE    A,#0D0H,?C0241?KB_PROCESS
+  875: 			{
+  876: 				kb_set_multikey(0x022a);//www Favorites
 002814 7F2A              MOV     R7,#02AH
 002816 7E02              MOV     R6,#02H
 002818 122697            LCALL   _kb_set_multikey
-  875: 			}
-00281B 2197              AJMP    ?C0218?KB_PROCESS
-00281D         ?C0239?KB_PROCESS:
-  876: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_AC_FORWARD)  
+  877: 			}
+00281B 2197              AJMP    ?C0220?KB_PROCESS
+00281D         ?C0241?KB_PROCESS:
+  878: 			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,?C0241?KB_PROCESS
-  877: 			{
-  878: 				kb_set_multikey(0x0225);
+00283A B4D109            CJNE    A,#0D1H,?C0243?KB_PROCESS
+  879: 			{
+  880: 				kb_set_multikey(0x0225);
 00283D 7F25              MOV     R7,#025H
 00283F 7E02              MOV     R6,#02H
 002841 122697            LCALL   _kb_set_multikey
-  879: 			}
-002844 2197              AJMP    ?C0218?KB_PROCESS
-002846         ?C0241?KB_PROCESS:
-  880: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_AC_STOP)  //www Stop
+  881: 			}
+002844 2197              AJMP    ?C0220?KB_PROCESS
+002846         ?C0243?KB_PROCESS:
+  882: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_AC_STOP)  //www Stop
 002846 EB                MOV     A,R3
-002847 B4D309            CJNE    A,#0D3H,?C0243?KB_PROCESS
-  881: 			{
-  882: 				kb_set_multikey(0x0226);
+002847 B4D309            CJNE    A,#0D3H,?C0245?KB_PROCESS
+  883: 			{
+  884: 				kb_set_multikey(0x0226);
 00284A 7F26              MOV     R7,#026H
 00284C 7E02              MOV     R6,#02H
 00284E 122697            LCALL   _kb_set_multikey
-  883: 			}
-002851 2197              AJMP    ?C0218?KB_PROCESS
-002853         ?C0243?KB_PROCESS:
-  884: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_AC_BACK)  
+  885: 			}
+002851 2197              AJMP    ?C0220?KB_PROCESS
+002853         ?C0245?KB_PROCESS:
+  886: 			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,?C0245?KB_PROCESS
-  885: 			{
-  886: 				kb_set_multikey(0x0224);
+002870 B4D209            CJNE    A,#0D2H,?C0247?KB_PROCESS
+  887: 			{
+  888: 				kb_set_multikey(0x0224);
 002873 7F24              MOV     R7,#024H
 002875 7E02              MOV     R6,#02H
 002877 122697            LCALL   _kb_set_multikey
-  887: 			}
-00287A 2197              AJMP    ?C0218?KB_PROCESS
-00287C         ?C0245?KB_PROCESS:
-  888: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_AC_REFRESH) //www refresh
+  889: 			}
+00287A 2197              AJMP    ?C0220?KB_PROCESS
+00287C         ?C0247?KB_PROCESS:
+  890: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_AC_REFRESH) //www refresh
 00287C EB                MOV     A,R3
-00287D B4D409            CJNE    A,#0D4H,?C0247?KB_PROCESS
-  889: 			{
-  890: 				kb_set_multikey(0x0227);
+00287D B4D409            CJNE    A,#0D4H,?C0249?KB_PROCESS
+  891: 			{
+  892: 				kb_set_multikey(0x0227);
 002880 7F27              MOV     R7,#027H
 002882 7E02              MOV     R6,#02H
 002884 122697            LCALL   _kb_set_multikey
-  891: 			}	
-002887 2197              AJMP    ?C0218?KB_PROCESS
-002889         ?C0247?KB_PROCESS:
-  892: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_AC_SEARCH)  //www search
+  893: 			}	
+002887 2197              AJMP    ?C0220?KB_PROCESS
+002889         ?C0249?KB_PROCESS:
+  894: 			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,?C0249?KB_PROCESS
-  893: 			{
-  894: 				kb_set_multikey(0x0221);
+0028A6 B4D509            CJNE    A,#0D5H,?C0251?KB_PROCESS
+  895: 			{
+  896: 				kb_set_multikey(0x0221);
 0028A9 7F21              MOV     R7,#021H
 0028AB 7E02              MOV     R6,#02H
 0028AD 122697            LCALL   _kb_set_multikey
-  895: 			}
-0028B0 2197              AJMP    ?C0218?KB_PROCESS
-0028B2         ?C0249?KB_PROCESS:
-  896: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_AC_HOME)
+  897: 			}
+0028B0 2197              AJMP    ?C0220?KB_PROCESS
+0028B2         ?C0251?KB_PROCESS:
+  898: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_AC_HOME)
 0028B2 EB                MOV     A,R3
-0028B3 B4D609            CJNE    A,#0D6H,?C0251?KB_PROCESS
-  897: 			{
-  898: 				kb_set_multikey(0x0223);
+0028B3 B4D609            CJNE    A,#0D6H,?C0253?KB_PROCESS
+  899: 			{
+  900: 				kb_set_multikey(0x0223);
 0028B6 7F23              MOV     R7,#023H
 0028B8 7E02              MOV     R6,#02H
 0028BA 122697            LCALL   _kb_set_multikey
-  899: 			}
-0028BD 2197              AJMP    ?C0218?KB_PROCESS
-0028BF         ?C0251?KB_PROCESS:
-  900: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_LIGHT_DOWN)
+  901: 			}
+0028BD 2197              AJMP    ?C0220?KB_PROCESS
+0028BF         ?C0253?KB_PROCESS:
+  902: 			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,?C0253?KB_PROCESS
-  901: 			{
-  902: 				kb_set_multikey(0x0070);
+0028DC B4D707            CJNE    A,#0D7H,?C0255?KB_PROCESS
+  903: 			{
+  904: 				kb_set_multikey(0x0070);
 0028DF 7F70              MOV     R7,#070H
 0028E1 122697            LCALL   _kb_set_multikey
-  903: 			}
-0028E4 2197              AJMP    ?C0218?KB_PROCESS
-0028E6         ?C0253?KB_PROCESS:
-  904: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_LIGHT_UP)
+  905: 			}
+0028E4 2197              AJMP    ?C0220?KB_PROCESS
+0028E6         ?C0255?KB_PROCESS:
+  906: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_LIGHT_UP)
 0028E6 EB                MOV     A,R3
-0028E7 B4D809            CJNE    A,#0D8H,?C0255?KB_PROCESS
-  905: 			{
-  906: 				kb_set_multikey(0x006f);
+0028E7 B4D809            CJNE    A,#0D8H,?C0257?KB_PROCESS
+  907: 			{
+  908: 				kb_set_multikey(0x006f);
 0028EA 7F6F              MOV     R7,#06FH
 0028EC 7E00              MOV     R6,#00H
 0028EE 122697            LCALL   _kb_set_multikey
-  907: 			}	
-0028F1 2197              AJMP    ?C0218?KB_PROCESS
-0028F3         ?C0255?KB_PROCESS:
-  908: 			else if (pEvt->ksPool[i] ==  HID_MULTIKEY_IOS_SOFT_KB)  //IOS VIR KB
+  909: 			}	
+0028F1 2197              AJMP    ?C0220?KB_PROCESS
+0028F3         ?C0257?KB_PROCESS:
+  910: 			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,?C0257?KB_PROCESS
-  909: 		      	{
-  910: 		        	kb_set_multikey(0x00b8);
+002910 B4D907            CJNE    A,#0D9H,?C0259?KB_PROCESS
+  911: 		      	{
+  912: 		        	kb_set_multikey(0x00b8);
 002913 7FB8              MOV     R7,#0B8H
 002915 122697            LCALL   _kb_set_multikey
-  911: 		      	}
-002918 807D              SJMP    ?C0218?KB_PROCESS
-00291A         ?C0257?KB_PROCESS:
-  912: 		      else if (pEvt->ksPool[i] ==  HID_MULTIKEY_OS_LOCK)
+  913: 		      	}
+002918 807D              SJMP    ?C0220?KB_PROCESS
+00291A         ?C0259?KB_PROCESS:
+  914: 		      else if (pEvt->ksPool[i] ==  HID_MULTIKEY_OS_LOCK)
 00291A EB                MOV     A,R3
-00291B B4DA09            CJNE    A,#0DAH,?C0259?KB_PROCESS
-  913: 		      	{
-  914: 		        	kb_set_multikey(0x0030);
+00291B B4DA09            CJNE    A,#0DAH,?C0261?KB_PROCESS
+  915: 		      	{
+  916: 		        	kb_set_multikey(0x0030);
 00291E 7F30              MOV     R7,#030H
 002920 7E00              MOV     R6,#00H
 002922 122697            LCALL   _kb_set_multikey
-  915: 		      	}	
-002925 8070              SJMP    ?C0218?KB_PROCESS
-002927         ?C0259?KB_PROCESS:
-  916: 		      	else if (pEvt->ksPool[i] ==  HID_MULTIKEY_ANDROID_SETUP_SHORTCUTS)
+  917: 		      	}	
+002925 8070              SJMP    ?C0220?KB_PROCESS
+002927         ?C0261?KB_PROCESS:
+  918: 		      	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,?C0261?KB_PROCESS
-  917: 		      	{
-  918: 		        	kb_set_multikey(0x0306);
+002944 B4DB09            CJNE    A,#0DBH,?C0263?KB_PROCESS
+  919: 		      	{
+  920: 		        	kb_set_multikey(0x0306);
 002947 7F06              MOV     R7,#06H
 002949 7E03              MOV     R6,#03H
 00294B 122697            LCALL   _kb_set_multikey
-  919: 		      	}
-00294E 8047              SJMP    ?C0218?KB_PROCESS
-002950         ?C0261?KB_PROCESS:
-  920: 		      	else if (pEvt->ksPool[i] ==  HID_MULTIKEY_ANDROID_SOFT_KB)
+  921: 		      	}
+00294E 8047              SJMP    ?C0220?KB_PROCESS
+002950         ?C0263?KB_PROCESS:
+  922: 		      	else if (pEvt->ksPool[i] ==  HID_MULTIKEY_ANDROID_SOFT_KB)
 002950 EB                MOV     A,R3
-002951 B4DC09            CJNE    A,#0DCH,?C0263?KB_PROCESS
-  921: 		      	{
-  922: 		        	kb_set_multikey(0x0307);
+002951 B4DC09            CJNE    A,#0DCH,?C0265?KB_PROCESS
+  923: 		      	{
+  924: 		        	kb_set_multikey(0x0307);
 002954 7F07              MOV     R7,#07H
 002956 7E03              MOV     R6,#03H
 002958 122697            LCALL   _kb_set_multikey
-  923: 		      	}
-00295B 803A              SJMP    ?C0218?KB_PROCESS
-00295D         ?C0263?KB_PROCESS:
-  924: 		      	else if (pEvt->ksPool[i] ==  HID_SYSTEM_KEY_POWER_DOWN)
+  925: 		      	}
+00295B 803A              SJMP    ?C0220?KB_PROCESS
+00295D         ?C0265?KB_PROCESS:
+  926: 		      	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,?C0265?KB_PROCESS
-  925: 		      	{
-  926: 		        	kb_set_systemkey(0x01);
+00297A B4DD06            CJNE    A,#0DDH,?C0267?KB_PROCESS
+  927: 		      	{
+  928: 		        	kb_set_systemkey(0x01);
 00297D 7F01              MOV     R7,#01H
 00297F 31CC              ACALL   _kb_set_systemkey
-  927: 		      	}
-002981 8014              SJMP    ?C0218?KB_PROCESS
-002983         ?C0265?KB_PROCESS:
-  928: 		      	else if (pEvt->ksPool[i] ==  HID_SYSTEM_KEY_SLEEP)
+  929: 		      	}
+002981 8014              SJMP    ?C0220?KB_PROCESS
+002983         ?C0267?KB_PROCESS:
+  930: 		      	else if (pEvt->ksPool[i] ==  HID_SYSTEM_KEY_SLEEP)
 002983 EE                MOV     A,R6
-002984 B4DE06            CJNE    A,#0DEH,?C0267?KB_PROCESS
-  929: 		      	{
-  930: 		        	kb_set_systemkey(0x02);
+002984 B4DE06            CJNE    A,#0DEH,?C0269?KB_PROCESS
+  931: 		      	{
+  932: 		        	kb_set_systemkey(0x02);
 002987 7F02              MOV     R7,#02H
 002989 31CC              ACALL   _kb_set_systemkey
-  931: 		      	}
-00298B 800A              SJMP    ?C0218?KB_PROCESS
-00298D         ?C0267?KB_PROCESS:
-  932: 		      	else if (pEvt->ksPool[i] ==  HID_SYSTEM_KEY_WAKE_UP)
+  933: 		      	}
+00298B 800A              SJMP    ?C0220?KB_PROCESS
+00298D         ?C0269?KB_PROCESS:
+  934: 		      	else if (pEvt->ksPool[i] ==  HID_SYSTEM_KEY_WAKE_UP)
 00298D 1203B6            LCALL   ?C?CLDPTR
-002990 B4DF04            CJNE    A,#0DFH,?C0218?KB_PROCESS
-  933: 		      	{
-  934: 		        	kb_set_systemkey(0x04);
+002990 B4DF04            CJNE    A,#0DFH,?C0220?KB_PROCESS
+  935: 		      	{
+  936: 		        	kb_set_systemkey(0x04);
 002993 7F04              MOV     R7,#04H
 002995 31CC              ACALL   _kb_set_systemkey
-  935: 		      	}			
-002997         ?C0218?KB_PROCESS:
-  936: 			if(mult_key_status == KEY_WAIT_RELEASE)
+  937: 		      	}			
+002997         ?C0220?KB_PROCESS:
+  938: 			if(mult_key_status == KEY_WAIT_RELEASE)
 002997 904E4D            MOV     DPTR,#mult_key_status
 00299A E0                MOVX    A,@DPTR
-00299B B40224            CJNE    A,#02H,?C0214?KB_PROCESS
-  937: 			{
-  938: 				mult_key_value = pEvt->ksPool[i];
+00299B B40224            CJNE    A,#02H,?C0216?KB_PROCESS
+  939: 			{
+  940: 				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
-  939: 				pEvt->ksPool[i] = 0;
+  941: 				pEvt->ksPool[i] = 0;
 0029BE E4                CLR     A
 0029BF 1203FC            LCALL   ?C?CSTPTR
-  940: 			}
-  941: 		}
-  942: 	}
-0029C2         ?C0214?KB_PROCESS:
+  942: 			}
+  943: 		}
+  944: 	}
+0029C2         ?C0216?KB_PROCESS:
 0029C2 904EDE            MOV     DPTR,#i
 0029C5 E0                MOVX    A,@DPTR
 0029C6 04                INC     A
 0029C7 F0                MOVX    @DPTR,A
-0029C8 0226C1            LJMP    ?C0212?KB_PROCESS
-  943: }
-0029CB         ?C0271?KB_PROCESS:
+0029C8 0226C1            LJMP    ?C0214?KB_PROCESS
+  945: }
+0029CB         ?C0273?KB_PROCESS:
 0029CB 22                RET     
 ----- FUNCTION _kb_multikey_setup (END) -------
 
@@ -9277,9 +9277,9 @@
 003095 904CC1            MOV     DPTR,#g_variable+02H
 003098 E0                MOVX    A,@DPTR
 003099 FF                MOV     R7,A
-00309A 6032              JZ      ?C0138?KB_PROCESS
+00309A 603E              JZ      ?C0138?KB_PROCESS
 00309C 6401              XRL     A,#01H
-00309E 602E              JZ      ?C0138?KB_PROCESS
+00309E 603A              JZ      ?C0138?KB_PROCESS
   623: 	{
   624: 		if(key_value == HID_KEY_RIGHT_ALT)
 0030A0 EE                MOV     A,R6
@@ -9288,7 +9288,7 @@
 0030A4 904F06            MOV     DPTR,#temp
 0030A7 74E7              MOV     A,#0E7H
 0030A9 F0                MOVX    @DPTR,A
-0030AA 8022              SJMP    ?C0138?KB_PROCESS
+0030AA 802E              SJMP    ?C0138?KB_PROCESS
 0030AC         ?C0139?KB_PROCESS:
   626: 		else if(key_value == HID_KEY_RIGHT_GUI)
 0030AC EE                MOV     A,R6
@@ -9297,616 +9297,625 @@
 0030B0 904F06            MOV     DPTR,#temp
 0030B3 74E6              MOV     A,#0E6H
 0030B5 F0                MOVX    @DPTR,A
-0030B6 8016              SJMP    ?C0138?KB_PROCESS
+0030B6 8022              SJMP    ?C0138?KB_PROCESS
 0030B8         ?C0141?KB_PROCESS:
-  628: 		else if(key_value == HID_KEY_LEFT_GUI)
+  628: 		else if(key_value == HID_KEY_RIGHT_CTL)
 0030B8 EE                MOV     A,R6
-0030B9 B4E308            CJNE    A,#0E3H,?C0143?KB_PROCESS
-  629: 			temp = HID_KEY_LEFT_ALT;
+0030B9 B4E408            CJNE    A,#0E4H,?C0143?KB_PROCESS
+  629: 			temp = HID_KEY_RIGHT_ALT;	
 0030BC 904F06            MOV     DPTR,#temp
-0030BF 74E2              MOV     A,#0E2H
+0030BF 74E6              MOV     A,#0E6H
 0030C1 F0                MOVX    @DPTR,A
-0030C2 800A              SJMP    ?C0138?KB_PROCESS
+0030C2 8016              SJMP    ?C0138?KB_PROCESS
 0030C4         ?C0143?KB_PROCESS:
-  630: 		else if(key_value == HID_KEY_LEFT_ALT)
+  630: 		else if(key_value == HID_KEY_LEFT_GUI)
 0030C4 EE                MOV     A,R6
-0030C5 B4E206            CJNE    A,#0E2H,?C0138?KB_PROCESS
-  631: 			temp = HID_KEY_LEFT_GUI;	
+0030C5 B4E308            CJNE    A,#0E3H,?C0145?KB_PROCESS
+  631: 			temp = HID_KEY_LEFT_ALT;
 0030C8 904F06            MOV     DPTR,#temp
-0030CB 74E3              MOV     A,#0E3H
+0030CB 74E2              MOV     A,#0E2H
 0030CD F0                MOVX    @DPTR,A
-  632: 	}
-0030CE         ?C0138?KB_PROCESS:
-  633: 	
-  634: 	if(g_variable.system_mode == OSMODE_IOS)
-0030CE 904CC1            MOV     DPTR,#g_variable+02H
-0030D1 E0                MOVX    A,@DPTR
-0030D2 B40316            CJNE    A,#03H,?C0146?KB_PROCESS
-  635: 	{
-  636: 		if(key_value == HID_KEY_TILDE)
-0030D5 EE                MOV     A,R6
-0030D6 B43508            CJNE    A,#035H,?C0147?KB_PROCESS
-  637: 			temp = HID_KEY_K45;
-0030D9 904F06            MOV     DPTR,#temp
-0030DC 7464              MOV     A,#064H
-0030DE F0                MOVX    @DPTR,A
-0030DF 800A              SJMP    ?C0146?KB_PROCESS
-0030E1         ?C0147?KB_PROCESS:
-  638: 		else if(key_value == HID_KEY_K45)
+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_IOS)
+0030DA 904CC1            MOV     DPTR,#g_variable+02H
+0030DD E0                MOVX    A,@DPTR
+0030DE B40316            CJNE    A,#03H,?C0148?KB_PROCESS
+  637: 	{
+  638: 		if(key_value == HID_KEY_TILDE)
 0030E1 EE                MOV     A,R6
-0030E2 B46406            CJNE    A,#064H,?C0146?KB_PROCESS
-  639: 			temp = HID_KEY_TILDE;	
+0030E2 B43508            CJNE    A,#035H,?C0149?KB_PROCESS
+  639: 			temp = HID_KEY_K45;
 0030E5 904F06            MOV     DPTR,#temp
-0030E8 7435              MOV     A,#035H
+0030E8 7464              MOV     A,#064H
 0030EA F0                MOVX    @DPTR,A
-  640: 	}	 
-0030EB         ?C0146?KB_PROCESS:
-  641: 	
-  642: 	 
-  643: 	if(g_variable.system_mode == OSMODE_WINDOWS)
-0030EB 904CC1            MOV     DPTR,#g_variable+02H
-0030EE E0                MOVX    A,@DPTR
-0030EF 7011              JNZ     ?C0150?KB_PROCESS
-  644: 	{
-  645: 		if(key_value == HID_MULTIKEY_OS_LOCK)
-0030F1 EE                MOV     A,R6
-0030F2 B4DA0D            CJNE    A,#0DAH,?C0150?KB_PROCESS
-  646: 		{
-  647: 			kb_combination_key_press(state,KS_SEL_LGUI,HID_KEY_L);
-0030F5 AF04              MOV     R7,AR4
-0030F7 7B0F              MOV     R3,#0FH
-0030F9 7D08              MOV     R5,#08H
-0030FB 1159              ACALL   _kb_combination_key_press
-  648: 			temp = HID_KEY_NULL;
-0030FD E4                CLR     A
-0030FE 904F06            MOV     DPTR,#temp
-003101 F0                MOVX    @DPTR,A
-  649: 		}
-  650: 	}
-003102         ?C0150?KB_PROCESS:
-  651: 
-  652: 	if(fn_flag == 1)			// Fn lock
-003102 904DE3            MOV     DPTR,#fn_flag
-003105 E0                MOVX    A,@DPTR
-003106 6401              XRL     A,#01H
-003108 6002              JZ      $ + 4H
-00310A 21EC              AJMP    ?C0152?KB_PROCESS
-  653: 	{
-  654: 		if((key_value == HID_KEY_Q) || (key_value == HID_KEY_W) || (key_value == HID_KEY_E)|| (key_value == HID_KEY_R))
+0030EB 800A              SJMP    ?C0148?KB_PROCESS
+0030ED         ?C0149?KB_PROCESS:
+  640: 		else if(key_value == HID_KEY_K45)
+0030ED EE                MOV     A,R6
+0030EE B46406            CJNE    A,#064H,?C0148?KB_PROCESS
+  641: 			temp = HID_KEY_TILDE;	
+0030F1 904F06            MOV     DPTR,#temp
+0030F4 7435              MOV     A,#035H
+0030F6 F0                MOVX    @DPTR,A
+  642: 	}	 
+0030F7         ?C0148?KB_PROCESS:
+  643: 	
+  644: 	 
+  645: 	if(g_variable.system_mode == OSMODE_WINDOWS)
+0030F7 904CC1            MOV     DPTR,#g_variable+02H
+0030FA E0                MOVX    A,@DPTR
+0030FB 7011              JNZ     ?C0152?KB_PROCESS
+  646: 	{
+  647: 		if(key_value == HID_MULTIKEY_OS_LOCK)
+0030FD EE                MOV     A,R6
+0030FE B4DA0D            CJNE    A,#0DAH,?C0152?KB_PROCESS
+  648: 		{
+  649: 			kb_combination_key_press(state,KS_SEL_LGUI,HID_KEY_L);
+003101 AF04              MOV     R7,AR4
+003103 7B0F              MOV     R3,#0FH
+003105 7D08              MOV     R5,#08H
+003107 1159              ACALL   _kb_combination_key_press
+  650: 			temp = HID_KEY_NULL;
+003109 E4                CLR     A
+00310A 904F06            MOV     DPTR,#temp
+00310D F0                MOVX    @DPTR,A
+  651: 		}
+  652: 	}
+00310E         ?C0152?KB_PROCESS:
+  653: 
+  654: 	if(fn_flag == 1)			// Fn lock
+00310E 904DE3            MOV     DPTR,#fn_flag
+003111 E0                MOVX    A,@DPTR
+003112 6401              XRL     A,#01H
+003114 6002              JZ      $ + 4H
+003116 21F8              AJMP    ?C0154?KB_PROCESS
+  655: 	{
+  656: 		if((key_value == HID_KEY_Q) || (key_value == HID_KEY_W) || (key_value == HID_KEY_E)|| (key_value == HID_KEY_R))
 >> 
-00310C EE                MOV     A,R6
-00310D 6414              XRL     A,#014H
-00310F 600F              JZ      ?C0154?KB_PROCESS
-003111 EE                MOV     A,R6
-003112 641A              XRL     A,#01AH
-003114 600A              JZ      ?C0154?KB_PROCESS
-003116 EE                MOV     A,R6
-003117 6408              XRL     A,#08H
-003119 6005              JZ      ?C0154?KB_PROCESS
-00311B EE                MOV     A,R6
-00311C 6415              XRL     A,#015H
-00311E 7072              JNZ     ?C0153?KB_PROCESS
-003120         ?C0154?KB_PROCESS:
-  655: 			{
-  656: 				if(key_value == HID_KEY_R)
-003120 EE                MOV     A,R6
-003121 B41508            CJNE    A,#015H,?C0155?KB_PROCESS
-  657: 				{
-  658: 					g_variable.system_mode = OSMODE_MAC;
-003124 904CC1            MOV     DPTR,#g_variable+02H
-003127 7402              MOV     A,#02H
-003129 F0                MOVX    @DPTR,A
-  659: 				}
-00312A 8021              SJMP    ?C0156?KB_PROCESS
-00312C         ?C0155?KB_PROCESS:
-  660: 				else if(key_value == HID_KEY_W)
+003118 EE                MOV     A,R6
+003119 6414              XRL     A,#014H
+00311B 600F              JZ      ?C0156?KB_PROCESS
+00311D EE                MOV     A,R6
+00311E 641A              XRL     A,#01AH
+003120 600A              JZ      ?C0156?KB_PROCESS
+003122 EE                MOV     A,R6
+003123 6408              XRL     A,#08H
+003125 6005              JZ      ?C0156?KB_PROCESS
+003127 EE                MOV     A,R6
+003128 6415              XRL     A,#015H
+00312A 7072              JNZ     ?C0155?KB_PROCESS
+00312C         ?C0156?KB_PROCESS:
+  657: 			{
+  658: 				if(key_value == HID_KEY_R)
 00312C EE                MOV     A,R6
-00312D B41A07            CJNE    A,#01AH,?C0157?KB_PROCESS
-  661: 				{
-  662: 					g_variable.system_mode = OSMODE_WINDOWS;
-003130 E4                CLR     A
-003131 904CC1            MOV     DPTR,#g_variable+02H
-003134 F0                MOVX    @DPTR,A
-  663: 	
-  664: 				}
-003135 8016              SJMP    ?C0156?KB_PROCESS
-003137         ?C0157?KB_PROCESS:
-  665: 				else if(key_value == HID_KEY_E)
-003137 EE                MOV     A,R6
-003138 B40808            CJNE    A,#08H,?C0159?KB_PROCESS
-  666: 				{
-  667: 					g_variable.system_mode = OSMODE_ANDROID;
-00313B 904CC1            MOV     DPTR,#g_variable+02H
-00313E 7401              MOV     A,#01H
+00312D B41508            CJNE    A,#015H,?C0157?KB_PROCESS
+  659: 				{
+  660: 					g_variable.system_mode = OSMODE_MAC;
+003130 904CC1            MOV     DPTR,#g_variable+02H
+003133 7402              MOV     A,#02H
+003135 F0                MOVX    @DPTR,A
+  661: 				}
+003136 8021              SJMP    ?C0158?KB_PROCESS
+003138         ?C0157?KB_PROCESS:
+  662: 				else if(key_value == HID_KEY_W)
+003138 EE                MOV     A,R6
+003139 B41A07            CJNE    A,#01AH,?C0159?KB_PROCESS
+  663: 				{
+  664: 					g_variable.system_mode = OSMODE_WINDOWS;
+00313C E4                CLR     A
+00313D 904CC1            MOV     DPTR,#g_variable+02H
 003140 F0                MOVX    @DPTR,A
-  668: 	
-  669: 				}
-003141 800A              SJMP    ?C0156?KB_PROCESS
+  665: 	
+  666: 				}
+003141 8016              SJMP    ?C0158?KB_PROCESS
 003143         ?C0159?KB_PROCESS:
-  670: 				else if(key_value == HID_KEY_Q)
+  667: 				else if(key_value == HID_KEY_E)
 003143 EE                MOV     A,R6
-003144 B41406            CJNE    A,#014H,?C0156?KB_PROCESS
-  671: 				{
-  672: 					g_variable.system_mode = OSMODE_IOS;
+003144 B40808            CJNE    A,#08H,?C0161?KB_PROCESS
+  668: 				{
+  669: 					g_variable.system_mode = OSMODE_ANDROID;
 003147 904CC1            MOV     DPTR,#g_variable+02H
-00314A 7403              MOV     A,#03H
+00314A 7401              MOV     A,#01H
 00314C F0                MOVX    @DPTR,A
-  673: 	
-  674: 				}
-00314D         ?C0156?KB_PROCESS:
-  675: 				temp = HID_KEY_NULL;
-00314D E4                CLR     A
-00314E 904F06            MOV     DPTR,#temp
-003151 F0                MOVX    @DPTR,A
-  676: 				if(g_variable.current_device_num == 0 || g_variable.current_device_num == 0xfe)
-003152 904CC3            MOV     DPTR,#g_variable+04H
-003155 E0                MOVX    A,@DPTR
-003156 FF                MOV     R7,A
-003157 6003              JZ      ?C0163?KB_PROCESS
-003159 B4FE08            CJNE    A,#0FEH,?C0162?KB_PROCESS
-00315C         ?C0163?KB_PROCESS:
-  677: 				{
-  678: 					g_variable.update_eeprom_flag = EEPROM_STORE_TYPE_G24;
-00315C 904CBF            MOV     DPTR,#g_variable
-00315F 7402              MOV     A,#02H
-003161 F0                MOVX    @DPTR,A
-  679: 				}
-003162 21EC              AJMP    ?C0152?KB_PROCESS
-003164         ?C0162?KB_PROCESS:
-  680: 				else	if (g_variable.current_device_num <= 3 && g_variable.current_device_num >= 1)
-003164 EF                MOV     A,R7
-003165 D3                SETB    C
-003166 9403              SUBB    A,#03H
-003168 4002              JC      $ + 4H
-00316A 21EC              AJMP    ?C0152?KB_PROCESS
-00316C EF                MOV     A,R7
-00316D C3                CLR     C
-00316E 9401              SUBB    A,#01H
-003170 407A              JC      ?C0152?KB_PROCESS
-  681: 				{
-  682: 					bd_key_record_list[g_variable.current_device_num - 1].system_mode = g_variable.system_mode;
-003172 904CC1            MOV     DPTR,#g_variable+02H
-003175 E0                MOVX    A,@DPTR
-003176 FF                MOV     R7,A
-003177 904CC3            MOV     DPTR,#g_variable+04H
-00317A E0                MOVX    A,@DPTR
-00317B 75F01F            MOV     B,#01FH
-00317E A4                MUL     AB
-00317F 24EE              ADD     A,#LOW bd_key_record_list-02H
-003181 F582              MOV     DPL,A
-003183 E4                CLR     A
-003184 344D              ADDC    A,#HIGH bd_key_record_list-02H
-003186 F583              MOV     DPH,A
-003188 EF                MOV     A,R7
-003189 F0                MOVX    @DPTR,A
-  683: 					g_variable.update_eeprom_flag = EEPROM_STORE_TYPE_BT;
-00318A 904CBF            MOV     DPTR,#g_variable
-00318D 7403              MOV     A,#03H
-00318F F0                MOVX    @DPTR,A
-  684: 				}
-  685: 			}	
-003190 805A              SJMP    ?C0152?KB_PROCESS
-003192         ?C0153?KB_PROCESS:
-  686: 		else if(key_value == HID_KEY_ESC)
-003192 EE                MOV     A,R6
-003193 6429              XRL     A,#029H
-003195 7055              JNZ     ?C0152?KB_PROCESS
-  687: 			{
-  688: 				if(state & 1)
-003197 EC                MOV     A,R4
-003198 30E04C            JNB     ACC.0,?C0168?KB_PROCESS
-  689: 				{						
-  690: 					if(fn_lock_flag)
-00319B 904DE8            MOV     DPTR,#fn_lock_flag
-00319E E0                MOVX    A,@DPTR
-00319F 6004              JZ      ?C0169?KB_PROCESS
-  691: 					{
-  692: 						fn_lock_flag = 0;
-0031A1 E4                CLR     A
-0031A2 F0                MOVX    @DPTR,A
-  693: 					}
-0031A3 8006              SJMP    ?C0170?KB_PROCESS
-0031A5         ?C0169?KB_PROCESS:
-  694: 					else
-  695: 						fn_lock_flag = 1;
-0031A5 904DE8            MOV     DPTR,#fn_lock_flag
-0031A8 7401              MOV     A,#01H
-0031AA F0                MOVX    @DPTR,A
-0031AB         ?C0170?KB_PROCESS:
-  696: 						
-  697: 					if(g_variable.current_device_num == 0 || g_variable.current_device_num == 0xfe)
-0031AB 904CC3            MOV     DPTR,#g_variable+04H
-0031AE E0                MOVX    A,@DPTR
-0031AF FF                MOV     R7,A
-0031B0 6003              JZ      ?C0172?KB_PROCESS
-0031B2 B4FE08            CJNE    A,#0FEH,?C0171?KB_PROCESS
-0031B5         ?C0172?KB_PROCESS:
-  698: 					{
-  699: 						g_variable.update_eeprom_flag = EEPROM_STORE_TYPE_G24;
-0031B5 904CBF            MOV     DPTR,#g_variable
-0031B8 7402              MOV     A,#02H
-0031BA F0                MOVX    @DPTR,A
-  700: 					}
-0031BB 802A              SJMP    ?C0168?KB_PROCESS
-0031BD         ?C0171?KB_PROCESS:
-  701: 					else	if (g_variable.current_device_num <= 3 && g_variable.current_device_num >= 1)
-0031BD EF                MOV     A,R7
-0031BE D3                SETB    C
-0031BF 9403              SUBB    A,#03H
-0031C1 5024              JNC     ?C0168?KB_PROCESS
-0031C3 EF                MOV     A,R7
-0031C4 C3                CLR     C
-0031C5 9401              SUBB    A,#01H
-0031C7 401E              JC      ?C0168?KB_PROCESS
-  702: 					{
-  703: 						bd_key_record_list[g_variable.current_device_num - 1].fn_lock = fn_lock_flag;
-0031C9 904DE8            MOV     DPTR,#fn_lock_flag
-0031CC E0                MOVX    A,@DPTR
-0031CD FF                MOV     R7,A
-0031CE 904CC3            MOV     DPTR,#g_variable+04H
-0031D1 E0                MOVX    A,@DPTR
-0031D2 75F01F            MOV     B,#01FH
-0031D5 A4                MUL     AB
-0031D6 24EF              ADD     A,#LOW bd_key_record_list-01H
-0031D8 F582              MOV     DPL,A
-0031DA E4                CLR     A
-0031DB 344D              ADDC    A,#HIGH bd_key_record_list-01H
-0031DD F583              MOV     DPH,A
-0031DF EF                MOV     A,R7
-0031E0 F0                MOVX    @DPTR,A
-  704: 						g_variable.update_eeprom_flag = EEPROM_STORE_TYPE_BT;
-0031E1 904CBF            MOV     DPTR,#g_variable
-0031E4 7403              MOV     A,#03H
-0031E6 F0                MOVX    @DPTR,A
-  705: 					}
-  706: 				}
-0031E7         ?C0168?KB_PROCESS:
-  707: 				temp = HID_KEY_NULL;
-0031E7 E4                CLR     A
-0031E8 904F06            MOV     DPTR,#temp
-0031EB F0                MOVX    @DPTR,A
-  708: 			}					
-  709: 	}
-0031EC         ?C0152?KB_PROCESS:
-  710: 	if((!fast_connect_flag)  && ((!fn_flag && !fn_lock_flag) || (fn_flag == 1 && fn_lock_flag == 1)))
-0031EC 904E57            MOV     DPTR,#fast_connect_flag
-0031EF E0                MOVX    A,@DPTR
-0031F0 6002              JZ      $ + 4H
-0031F2 6182              AJMP    ?C0175?KB_PROCESS
-0031F4 904DE3            MOV     DPTR,#fn_flag
-0031F7 E0                MOVX    A,@DPTR
-0031F8 7006              JNZ     ?C0177?KB_PROCESS
-0031FA 904DE8            MOV     DPTR,#fn_lock_flag
-0031FD E0                MOVX    A,@DPTR
-0031FE 6014              JZ      ?C0176?KB_PROCESS
-003200         ?C0177?KB_PROCESS:
+  670: 	
+  671: 				}
+00314D 800A              SJMP    ?C0158?KB_PROCESS
+00314F         ?C0161?KB_PROCESS:
+  672: 				else if(key_value == HID_KEY_Q)
+00314F EE                MOV     A,R6
+003150 B41406            CJNE    A,#014H,?C0158?KB_PROCESS
+  673: 				{
+  674: 					g_variable.system_mode = OSMODE_IOS;
+003153 904CC1            MOV     DPTR,#g_variable+02H
+003156 7403              MOV     A,#03H
+003158 F0                MOVX    @DPTR,A
+  675: 	
+  676: 				}
+003159         ?C0158?KB_PROCESS:
+  677: 				temp = HID_KEY_NULL;
+003159 E4                CLR     A
+00315A 904F06            MOV     DPTR,#temp
+00315D F0                MOVX    @DPTR,A
+  678: 				if(g_variable.current_device_num == 0 || g_variable.current_device_num == 0xfe)
+00315E 904CC3            MOV     DPTR,#g_variable+04H
+003161 E0                MOVX    A,@DPTR
+003162 FF                MOV     R7,A
+003163 6003              JZ      ?C0165?KB_PROCESS
+003165 B4FE08            CJNE    A,#0FEH,?C0164?KB_PROCESS
+003168         ?C0165?KB_PROCESS:
+  679: 				{
+  680: 					g_variable.update_eeprom_flag = EEPROM_STORE_TYPE_G24;
+003168 904CBF            MOV     DPTR,#g_variable
+00316B 7402              MOV     A,#02H
+00316D F0                MOVX    @DPTR,A
+  681: 				}
+00316E 21F8              AJMP    ?C0154?KB_PROCESS
+003170         ?C0164?KB_PROCESS:
+  682: 				else	if (g_variable.current_device_num <= 3 && g_variable.current_device_num >= 1)
+003170 EF                MOV     A,R7
+003171 D3                SETB    C
+003172 9403              SUBB    A,#03H
+003174 4002              JC      $ + 4H
+003176 21F8              AJMP    ?C0154?KB_PROCESS
+003178 EF                MOV     A,R7
+003179 C3                CLR     C
+00317A 9401              SUBB    A,#01H
+00317C 407A              JC      ?C0154?KB_PROCESS
+  683: 				{
+  684: 					bd_key_record_list[g_variable.current_device_num - 1].system_mode = g_variable.system_mode;
+00317E 904CC1            MOV     DPTR,#g_variable+02H
+003181 E0                MOVX    A,@DPTR
+003182 FF                MOV     R7,A
+003183 904CC3            MOV     DPTR,#g_variable+04H
+003186 E0                MOVX    A,@DPTR
+003187 75F01F            MOV     B,#01FH
+00318A A4                MUL     AB
+00318B 24EE              ADD     A,#LOW bd_key_record_list-02H
+00318D F582              MOV     DPL,A
+00318F E4                CLR     A
+003190 344D              ADDC    A,#HIGH bd_key_record_list-02H
+003192 F583              MOV     DPH,A
+003194 EF                MOV     A,R7
+003195 F0                MOVX    @DPTR,A
+  685: 					g_variable.update_eeprom_flag = EEPROM_STORE_TYPE_BT;
+003196 904CBF            MOV     DPTR,#g_variable
+003199 7403              MOV     A,#03H
+00319B F0                MOVX    @DPTR,A
+  686: 				}
+  687: 			}	
+00319C 805A              SJMP    ?C0154?KB_PROCESS
+00319E         ?C0155?KB_PROCESS:
+  688: 		else if(key_value == HID_KEY_ESC)
+00319E EE                MOV     A,R6
+00319F 6429              XRL     A,#029H
+0031A1 7055              JNZ     ?C0154?KB_PROCESS
+  689: 			{
+  690: 				if(state & 1)
+0031A3 EC                MOV     A,R4
+0031A4 30E04C            JNB     ACC.0,?C0170?KB_PROCESS
+  691: 				{						
+  692: 					if(fn_lock_flag)
+0031A7 904DE8            MOV     DPTR,#fn_lock_flag
+0031AA E0                MOVX    A,@DPTR
+0031AB 6004              JZ      ?C0171?KB_PROCESS
+  693: 					{
+  694: 						fn_lock_flag = 0;
+0031AD E4                CLR     A
+0031AE F0                MOVX    @DPTR,A
+  695: 					}
+0031AF 8006              SJMP    ?C0172?KB_PROCESS
+0031B1         ?C0171?KB_PROCESS:
+  696: 					else
+  697: 						fn_lock_flag = 1;
+0031B1 904DE8            MOV     DPTR,#fn_lock_flag
+0031B4 7401              MOV     A,#01H
+0031B6 F0                MOVX    @DPTR,A
+0031B7         ?C0172?KB_PROCESS:
+  698: 						
+  699: 					if(g_variable.current_device_num == 0 || g_variable.current_device_num == 0xfe)
+0031B7 904CC3            MOV     DPTR,#g_variable+04H
+0031BA E0                MOVX    A,@DPTR
+0031BB FF                MOV     R7,A
+0031BC 6003              JZ      ?C0174?KB_PROCESS
+0031BE B4FE08            CJNE    A,#0FEH,?C0173?KB_PROCESS
+0031C1         ?C0174?KB_PROCESS:
+  700: 					{
+  701: 						g_variable.update_eeprom_flag = EEPROM_STORE_TYPE_G24;
+0031C1 904CBF            MOV     DPTR,#g_variable
+0031C4 7402              MOV     A,#02H
+0031C6 F0                MOVX    @DPTR,A
+  702: 					}
+0031C7 802A              SJMP    ?C0170?KB_PROCESS
+0031C9         ?C0173?KB_PROCESS:
+  703: 					else	if (g_variable.current_device_num <= 3 && g_variable.current_device_num >= 1)
+0031C9 EF                MOV     A,R7
+0031CA D3                SETB    C
+0031CB 9403              SUBB    A,#03H
+0031CD 5024              JNC     ?C0170?KB_PROCESS
+0031CF EF                MOV     A,R7
+0031D0 C3                CLR     C
+0031D1 9401              SUBB    A,#01H
+0031D3 401E              JC      ?C0170?KB_PROCESS
+  704: 					{
+  705: 						bd_key_record_list[g_variable.current_device_num - 1].fn_lock = fn_lock_flag;
+0031D5 904DE8            MOV     DPTR,#fn_lock_flag
+0031D8 E0                MOVX    A,@DPTR
+0031D9 FF                MOV     R7,A
+0031DA 904CC3            MOV     DPTR,#g_variable+04H
+0031DD E0                MOVX    A,@DPTR
+0031DE 75F01F            MOV     B,#01FH
+0031E1 A4                MUL     AB
+0031E2 24EF              ADD     A,#LOW bd_key_record_list-01H
+0031E4 F582              MOV     DPL,A
+0031E6 E4                CLR     A
+0031E7 344D              ADDC    A,#HIGH bd_key_record_list-01H
+0031E9 F583              MOV     DPH,A
+0031EB EF                MOV     A,R7
+0031EC F0                MOVX    @DPTR,A
+  706: 						g_variable.update_eeprom_flag = EEPROM_STORE_TYPE_BT;
+0031ED 904CBF            MOV     DPTR,#g_variable
+0031F0 7403              MOV     A,#03H
+0031F2 F0                MOVX    @DPTR,A
+  707: 					}
+  708: 				}
+0031F3         ?C0170?KB_PROCESS:
+  709: 				temp = HID_KEY_NULL;
+0031F3 E4                CLR     A
+0031F4 904F06            MOV     DPTR,#temp
+0031F7 F0                MOVX    @DPTR,A
+  710: 			}					
+  711: 	}
+0031F8         ?C0154?KB_PROCESS:
+  712: 	if((!fast_connect_flag)  && ((!fn_flag && !fn_lock_flag) || (fn_flag == 1 && fn_lock_flag == 1)))
+0031F8 904E57            MOV     DPTR,#fast_connect_flag
+0031FB E0                MOVX    A,@DPTR
+0031FC 6002              JZ      $ + 4H
+0031FE 618E              AJMP    ?C0177?KB_PROCESS
 003200 904DE3            MOV     DPTR,#fn_flag
 003203 E0                MOVX    A,@DPTR
-003204 6401              XRL     A,#01H
-003206 6002              JZ      $ + 4H
-003208 6182              AJMP    ?C0175?KB_PROCESS
-00320A 904DE8            MOV     DPTR,#fn_lock_flag
-00320D E0                MOVX    A,@DPTR
-00320E 6401              XRL     A,#01H
-003210 6002              JZ      $ + 4H
-003212 6182              AJMP    ?C0175?KB_PROCESS
-003214         ?C0176?KB_PROCESS:
-  711: 	{
-  712: 		switch (key_value)
-003214 EE                MOV     A,R6
-003215 24C6              ADD     A,#0C6H
-003217 B40C00            CJNE    A,#0CH,?C0274?KB_PROCESS
-00321A         ?C0274?KB_PROCESS:
-00321A 4002              JC      $ + 4H
-00321C 6182              AJMP    ?C0175?KB_PROCESS
-00321E 90322C            MOV     DPTR,#0322CH
-003221 75F003            MOV     B,#03H
-003224 A4                MUL     AB
-003225 C583              XCH     A,DPH
-003227 25F0              ADD     A,B
-003229 C583              XCH     A,DPH
-00322B 73                JMP     @A+DPTR
-00322C         ?C0275?KB_PROCESS:
-00322C 023250            LJMP    ?C0179?KB_PROCESS
-00322F 023258            LJMP    ?C0180?KB_PROCESS
-003232 023260            LJMP    ?C0181?KB_PROCESS
-003235 0232A7            LJMP    ?C0188?KB_PROCESS
-003238 0232CD            LJMP    ?C0191?KB_PROCESS
-00323B 02330E            LJMP    ?C0198?KB_PROCESS
-00323E 023354            LJMP    ?C0204?KB_PROCESS
-003241 02335C            LJMP    ?C0205?KB_PROCESS
-003244 023364            LJMP    ?C0206?KB_PROCESS
-003247 02336C            LJMP    ?C0207?KB_PROCESS
-00324A 023374            LJMP    ?C0208?KB_PROCESS
-00324D 02337C            LJMP    ?C0209?KB_PROCESS
-  713: 		{ 	
-  714: 			case HID_KEY_F1:
-003250         ?C0179?KB_PROCESS:
-  715: 				temp = HID_MULTIKEY_LIGHT_DOWN;	
-003250 904F06            MOV     DPTR,#temp
-003253 74D7              MOV     A,#0D7H
-003255 F0                MOVX    @DPTR,A
-  716: 				break;
-003256 6182              AJMP    ?C0175?KB_PROCESS
-  717: 			case HID_KEY_F2:
-003258         ?C0180?KB_PROCESS:
-  718: 				temp = HID_MULTIKEY_LIGHT_UP;
-003258 904F06            MOV     DPTR,#temp
-00325B 74D8              MOV     A,#0D8H
-00325D F0                MOVX    @DPTR,A
-  719: 				break;
-00325E 6182              AJMP    ?C0175?KB_PROCESS
-  720: 			case HID_KEY_F3:
-003260         ?C0181?KB_PROCESS:
-  721: 				if(g_variable.system_mode == OSMODE_MAC)
-003260 904CC1            MOV     DPTR,#g_variable+02H
-003263 E0                MOVX    A,@DPTR
-003264 FE                MOV     R6,A
-003265 B40219            CJNE    A,#02H,?C0182?KB_PROCESS
-  722: 				{
-  723: 					kb_combination_key_press(state,KS_SEL_LGUI,HID_KEY_TAB);
-003268 AF04              MOV     R7,AR4
-00326A 7B2B              MOV     R3,#02BH
-00326C 7D08              MOV     R5,#08H
-00326E 1159              ACALL   _kb_combination_key_press
-  724: 					if(state & 1)
-003270 EC                MOV     A,R4
-003271 30E006            JNB     ACC.0,?C0183?KB_PROCESS
-  725: 					{						
-  726: 						g_variable.one_key_press_wait_release_timer = 10;
-003274 904CF8            MOV     DPTR,#g_variable+039H
-003277 740A              MOV     A,#0AH
-003279 F0                MOVX    @DPTR,A
-  727: 					}
-00327A         ?C0183?KB_PROCESS:
-  728: 					temp = HID_KEY_NULL;
-00327A E4                CLR     A
-00327B 904F06            MOV     DPTR,#temp
-00327E F0                MOVX    @DPTR,A
-  729: 				}				
-00327F 6182              AJMP    ?C0175?KB_PROCESS
-003281         ?C0182?KB_PROCESS:
-  730: 				else if((g_variable.system_mode == OSMODE_ANDROID)||(g_variable.system_mode == OSMODE_WINDOWS))
-003281 EE                MOV     A,R6
-003282 6401              XRL     A,#01H
-003284 6008              JZ      ?C0186?KB_PROCESS
-003286 904CC1            MOV     DPTR,#g_variable+02H
-003289 E0                MOVX    A,@DPTR
-00328A 6002              JZ      $ + 4H
-00328C 6182              AJMP    ?C0175?KB_PROCESS
-00328E         ?C0186?KB_PROCESS:
-  731: 				{
-  732: 					kb_combination_key_press(state,KS_SEL_LALT,HID_KEY_TAB);
-00328E AF04              MOV     R7,AR4
-003290 7B2B              MOV     R3,#02BH
-003292 7D04              MOV     R5,#04H
-003294 1159              ACALL   _kb_combination_key_press
-  733: 					if(state & 1)
-003296 EC                MOV     A,R4
-003297 30E006            JNB     ACC.0,?C0187?KB_PROCESS
-  734: 					{						
-  735: 						g_variable.one_key_press_wait_release_timer = 10;
-00329A 904CF8            MOV     DPTR,#g_variable+039H
-00329D 740A              MOV     A,#0AH
-00329F F0                MOVX    @DPTR,A
-  736: 					}
-0032A0         ?C0187?KB_PROCESS:
-  737: 					temp = HID_KEY_NULL;
-0032A0 E4                CLR     A
-0032A1 904F06            MOV     DPTR,#temp
-0032A4 F0                MOVX    @DPTR,A
-  738: 				}
-  739: 				
-  740: 				break;
-0032A5 6182              AJMP    ?C0175?KB_PROCESS
-  741: 			case HID_KEY_F4:
-0032A7         ?C0188?KB_PROCESS:
-  742: 				if(g_variable.system_mode == OSMODE_MAC)
-0032A7 904CC1            MOV     DPTR,#g_variable+02H
-0032AA E0                MOVX    A,@DPTR
-0032AB B40217            CJNE    A,#02H,?C0189?KB_PROCESS
-  743: 				{
-  744: 					kb_combination_key_press(state,KS_SEL_LGUI|KS_SEL_LCTRL,HID_KEY_SPACE);
-0032AE AF04              MOV     R7,AR4
-0032B0 7B2C              MOV     R3,#02CH
-0032B2 7D09              MOV     R5,#09H
-0032B4 1159              ACALL   _kb_combination_key_press
-  745: 					if(state & 1)    
-0032B6 EC                MOV     A,R4
-0032B7 30E006            JNB     ACC.0,?C0190?KB_PROCESS
-  746: 					{            
-  747: 					g_variable.one_key_press_wait_release_timer = 10;     
-0032BA 904CF8            MOV     DPTR,#g_variable+039H
-0032BD 740A              MOV     A,#0AH
-0032BF F0                MOVX    @DPTR,A
-  748: 					}	
-0032C0         ?C0190?KB_PROCESS:
-  749: 				temp = HID_KEY_NULL;
-0032C0 E4                CLR     A
-0032C1 904F06            MOV     DPTR,#temp
-0032C4 F0                MOVX    @DPTR,A
-  750: 				}				
-0032C5         ?C0189?KB_PROCESS:
-  751: 				temp = HID_MULTIKEY_AC_SEARCH;
-0032C5 904F06            MOV     DPTR,#temp
-0032C8 74D5              MOV     A,#0D5H
-0032CA F0                MOVX    @DPTR,A
-  752: 				break;				
-0032CB 6182              AJMP    ?C0175?KB_PROCESS
-  753: 			case HID_KEY_F5: 
-0032CD         ?C0191?KB_PROCESS:
-  754: 				if((g_variable.system_mode == OSMODE_IOS) ||(g_variable.system_mode == OSMODE_MAC))
-0032CD 904CC1            MOV     DPTR,#g_variable+02H
-0032D0 E0                MOVX    A,@DPTR
-0032D1 FF                MOV     R7,A
-0032D2 6403              XRL     A,#03H
-0032D4 6004              JZ      ?C0193?KB_PROCESS
-0032D6 EF                MOV     A,R7
-0032D7 B4020A            CJNE    A,#02H,?C0192?KB_PROCESS
-0032DA         ?C0193?KB_PROCESS:
-  755: 					kb_combination_key_press(state,KS_SEL_LCTRL,HID_KEY_SPACE);
-0032DA AF04              MOV     R7,AR4
-0032DC 7B2C              MOV     R3,#02CH
-0032DE 7D01              MOV     R5,#01H
-0032E0 1159              ACALL   _kb_combination_key_press
-0032E2 8019              SJMP    ?C0194?KB_PROCESS
-0032E4         ?C0192?KB_PROCESS:
-  756: 				else if(g_variable.system_mode == OSMODE_ANDROID)
-0032E4 904CC1            MOV     DPTR,#g_variable+02H
-0032E7 E0                MOVX    A,@DPTR
-0032E8 B4010A            CJNE    A,#01H,?C0195?KB_PROCESS
-  757: 					kb_combination_key_press(state,KS_SEL_LSHIFT,HID_KEY_SPACE);
-0032EB AF04              MOV     R7,AR4
-0032ED 7B2C              MOV     R3,#02CH
-0032EF 7D02              MOV     R5,#02H
-0032F1 1159              ACALL   _kb_combination_key_press
-0032F3 8008              SJMP    ?C0194?KB_PROCESS
-0032F5         ?C0195?KB_PROCESS:
-  758: 				else
-  759: 					kb_combination_key_press(state,KS_SEL_LGUI,HID_KEY_SPACE);
-0032F5 AF04              MOV     R7,AR4
-0032F7 7B2C              MOV     R3,#02CH
-0032F9 7D08              MOV     R5,#08H
-0032FB 1159              ACALL   _kb_combination_key_press
-0032FD         ?C0194?KB_PROCESS:
-  760: 				
-  761: 				if(state & 1)
-0032FD EC                MOV     A,R4
-0032FE 30E006            JNB     ACC.0,?C0197?KB_PROCESS
-  762: 				{						
-  763: 					g_variable.one_key_press_wait_release_timer = 10;
-003301 904CF8            MOV     DPTR,#g_variable+039H
-003304 740A              MOV     A,#0AH
-003306 F0                MOVX    @DPTR,A
-  764: 				}
-003307         ?C0197?KB_PROCESS:
-  765: 				temp = HID_KEY_NULL;
-003307 E4                CLR     A
-003308 904F06            MOV     DPTR,#temp
-00330B F0                MOVX    @DPTR,A
-  766: 				break;
-00330C 8074              SJMP    ?C0175?KB_PROCESS
-  767: 			case HID_KEY_F6:
-00330E         ?C0198?KB_PROCESS:
-  768: 				if(g_variable.system_mode == OSMODE_IOS)
-00330E 904CC1            MOV     DPTR,#g_variable+02H
-003311 E0                MOVX    A,@DPTR
-003312 B40317            CJNE    A,#03H,?C0199?KB_PROCESS
-  769: 				{
-  770: 				kb_combination_key_press(state,KS_SEL_LGUI|KS_SEL_LSHIFT,HID_KEY_3);
-003315 AF04              MOV     R7,AR4
-003317 7B20              MOV     R3,#020H
-003319 7D0A              MOV     R5,#0AH
-00331B 1159              ACALL   _kb_combination_key_press
-  771: 					if(state & 1)    
-00331D EC                MOV     A,R4
-00331E 30E006            JNB     ACC.0,?C0200?KB_PROCESS
-  772: 					{            
-  773: 					g_variable.one_key_press_wait_release_timer = 10;     
-003321 904CF8            MOV     DPTR,#g_variable+039H
-003324 740A              MOV     A,#0AH
-003326 F0                MOVX    @DPTR,A
-  774: 					}	
-003327         ?C0200?KB_PROCESS:
-  775: 				temp = HID_KEY_NULL;
-003327 E4                CLR     A
-003328 904F06            MOV     DPTR,#temp
-00332B F0                MOVX    @DPTR,A
-  776: 				}
-00332C         ?C0199?KB_PROCESS:
-  777: 				if(g_variable.system_mode == OSMODE_MAC)
-00332C 904CC1            MOV     DPTR,#g_variable+02H
-00332F E0                MOVX    A,@DPTR
-003330 B40219            CJNE    A,#02H,?C0201?KB_PROCESS
-  778: 				{
-  779: 					kb_combination_key_press(state,KS_SEL_LGUI|KS_SEL_LSHIFT,HID_KEY_3);
-003333 AF04              MOV     R7,AR4
-003335 7B20              MOV     R3,#020H
-003337 7D0A              MOV     R5,#0AH
-003339 1159              ACALL   _kb_combination_key_press
-  780: 					if(state & 1)    
-00333B EF                MOV     A,R7
-00333C 30E006            JNB     ACC.0,?C0202?KB_PROCESS
-  781: 					{            
-  782: 					g_variable.one_key_press_wait_release_timer = 10;     
-00333F 904CF8            MOV     DPTR,#g_variable+039H
-003342 740A              MOV     A,#0AH
-003344 F0                MOVX    @DPTR,A
-  783: 					}	
-003345         ?C0202?KB_PROCESS:
-  784: 				temp = HID_KEY_NULL;
-003345 E4                CLR     A
-003346 904F06            MOV     DPTR,#temp
-003349 F0                MOVX    @DPTR,A
-  785: 				}				
-00334A 8036              SJMP    ?C0175?KB_PROCESS
-00334C         ?C0201?KB_PROCESS:
-  786: 				else
-  787: 					temp = HID_KEY_PRINT_SCREEN;
-00334C 904F06            MOV     DPTR,#temp
-00334F 7446              MOV     A,#046H
-003351 F0                MOVX    @DPTR,A
-  788: 				break;	
-003352 802E              SJMP    ?C0175?KB_PROCESS
-  789: 			case HID_KEY_F7:
-003354         ?C0204?KB_PROCESS:
-  790: 				temp = HID_MULTIKEY_PRE_TRACK;
-003354 904F06            MOV     DPTR,#temp
-003357 74F4              MOV     A,#0F4H
-003359 F0                MOVX    @DPTR,A
-  791: 				break;	
-00335A 8026              SJMP    ?C0175?KB_PROCESS
-  792: 			case HID_KEY_F8:
-00335C         ?C0205?KB_PROCESS:
-  793: 				temp = HID_MULTIKEY_PALY;
-00335C 904F06            MOV     DPTR,#temp
-00335F 74F2              MOV     A,#0F2H
-003361 F0                MOVX    @DPTR,A
-  794: 				break;
-003362 801E              SJMP    ?C0175?KB_PROCESS
-  795: 			case HID_KEY_F9:
-003364         ?C0206?KB_PROCESS:
-  796: 				temp = HID_MULTIKEY_NEXT_TRACK;
-003364 904F06            MOV     DPTR,#temp
-003367 74F5              MOV     A,#0F5H
-003369 F0                MOVX    @DPTR,A
-  797: 				break;
-00336A 8016              SJMP    ?C0175?KB_PROCESS
-  798: 			case HID_KEY_F10:
-00336C         ?C0207?KB_PROCESS:
-  799: 				temp = HID_MULTIKEY_MUTE;
-00336C 904F06            MOV     DPTR,#temp
-00336F 74F8              MOV     A,#0F8H
-003371 F0                MOVX    @DPTR,A
-  800: 				break;
-003372 800E              SJMP    ?C0175?KB_PROCESS
-  801: 			case HID_KEY_F11:
-003374         ?C0208?KB_PROCESS:
-  802: 				temp = HID_MULTIKEY_VOL_DOWN;
-003374 904F06            MOV     DPTR,#temp
-003377 74F6              MOV     A,#0F6H
-003379 F0                MOVX    @DPTR,A
-  803: 				break;
-00337A 8006              SJMP    ?C0175?KB_PROCESS
-  804: 			case HID_KEY_F12:
-00337C         ?C0209?KB_PROCESS:
-  805: 				temp = HID_MULTIKEY_VOL_UP;
-00337C 904F06            MOV     DPTR,#temp
-00337F 74F7              MOV     A,#0F7H
-003381 F0                MOVX    @DPTR,A
-  806: 				break;			
-  807: 			default :
-  808: 				break;
-  809: 		}
-  810: 	}
-003382         ?C0175?KB_PROCESS:
-  811: 
-  812: 	return temp;
-003382 904F06            MOV     DPTR,#temp
-003385 E0                MOVX    A,@DPTR
-003386 FF                MOV     R7,A
-  813: }
-003387 22                RET     
+003204 7006              JNZ     ?C0179?KB_PROCESS
+003206 904DE8            MOV     DPTR,#fn_lock_flag
+003209 E0                MOVX    A,@DPTR
+00320A 6014              JZ      ?C0178?KB_PROCESS
+00320C         ?C0179?KB_PROCESS:
+00320C 904DE3            MOV     DPTR,#fn_flag
+00320F E0                MOVX    A,@DPTR
+003210 6401              XRL     A,#01H
+003212 6002              JZ      $ + 4H
+003214 618E              AJMP    ?C0177?KB_PROCESS
+003216 904DE8            MOV     DPTR,#fn_lock_flag
+003219 E0                MOVX    A,@DPTR
+00321A 6401              XRL     A,#01H
+00321C 6002              JZ      $ + 4H
+00321E 618E              AJMP    ?C0177?KB_PROCESS
+003220         ?C0178?KB_PROCESS:
+  713: 	{
+  714: 		switch (key_value)
+003220 EE                MOV     A,R6
+003221 24C6              ADD     A,#0C6H
+003223 B40C00            CJNE    A,#0CH,?C0276?KB_PROCESS
+003226         ?C0276?KB_PROCESS:
+003226 4002              JC      $ + 4H
+003228 618E              AJMP    ?C0177?KB_PROCESS
+00322A 903238            MOV     DPTR,#03238H
+00322D 75F003            MOV     B,#03H
+003230 A4                MUL     AB
+003231 C583              XCH     A,DPH
+003233 25F0              ADD     A,B
+003235 C583              XCH     A,DPH
+003237 73                JMP     @A+DPTR
+003238         ?C0277?KB_PROCESS:
+003238 02325C            LJMP    ?C0181?KB_PROCESS
+00323B 023264            LJMP    ?C0182?KB_PROCESS
+00323E 02326C            LJMP    ?C0183?KB_PROCESS
+003241 0232B3            LJMP    ?C0190?KB_PROCESS
+003244 0232D9            LJMP    ?C0193?KB_PROCESS
+003247 02331A            LJMP    ?C0200?KB_PROCESS
+00324A 023360            LJMP    ?C0206?KB_PROCESS
+00324D 023368            LJMP    ?C0207?KB_PROCESS
+003250 023370            LJMP    ?C0208?KB_PROCESS
+003253 023378            LJMP    ?C0209?KB_PROCESS
+003256 023380            LJMP    ?C0210?KB_PROCESS
+003259 023388            LJMP    ?C0211?KB_PROCESS
+  715: 		{ 	
+  716: 			case HID_KEY_F1:
+00325C         ?C0181?KB_PROCESS:
+  717: 				temp = HID_MULTIKEY_LIGHT_DOWN;	
+00325C 904F06            MOV     DPTR,#temp
+00325F 74D7              MOV     A,#0D7H
+003261 F0                MOVX    @DPTR,A
+  718: 				break;
+003262 618E              AJMP    ?C0177?KB_PROCESS
+  719: 			case HID_KEY_F2:
+003264         ?C0182?KB_PROCESS:
+  720: 				temp = HID_MULTIKEY_LIGHT_UP;
+003264 904F06            MOV     DPTR,#temp
+003267 74D8              MOV     A,#0D8H
+003269 F0                MOVX    @DPTR,A
+  721: 				break;
+00326A 618E              AJMP    ?C0177?KB_PROCESS
+  722: 			case HID_KEY_F3:
+00326C         ?C0183?KB_PROCESS:
+  723: 				if(g_variable.system_mode == OSMODE_MAC)
+00326C 904CC1            MOV     DPTR,#g_variable+02H
+00326F E0                MOVX    A,@DPTR
+003270 FE                MOV     R6,A
+003271 B40219            CJNE    A,#02H,?C0184?KB_PROCESS
+  724: 				{
+  725: 					kb_combination_key_press(state,KS_SEL_LGUI,HID_KEY_TAB);
+003274 AF04              MOV     R7,AR4
+003276 7B2B              MOV     R3,#02BH
+003278 7D08              MOV     R5,#08H
+00327A 1159              ACALL   _kb_combination_key_press
+  726: 					if(state & 1)
+00327C EC                MOV     A,R4
+00327D 30E006            JNB     ACC.0,?C0185?KB_PROCESS
+  727: 					{						
+  728: 						g_variable.one_key_press_wait_release_timer = 10;
+003280 904CF8            MOV     DPTR,#g_variable+039H
+003283 740A              MOV     A,#0AH
+003285 F0                MOVX    @DPTR,A
+  729: 					}
+003286         ?C0185?KB_PROCESS:
+  730: 					temp = HID_KEY_NULL;
+003286 E4                CLR     A
+003287 904F06            MOV     DPTR,#temp
+00328A F0                MOVX    @DPTR,A
+  731: 				}				
+00328B 618E              AJMP    ?C0177?KB_PROCESS
+00328D         ?C0184?KB_PROCESS:
+  732: 				else if((g_variable.system_mode == OSMODE_ANDROID)||(g_variable.system_mode == OSMODE_WINDOWS))
+00328D EE                MOV     A,R6
+00328E 6401              XRL     A,#01H
+003290 6008              JZ      ?C0188?KB_PROCESS
+003292 904CC1            MOV     DPTR,#g_variable+02H
+003295 E0                MOVX    A,@DPTR
+003296 6002              JZ      $ + 4H
+003298 618E              AJMP    ?C0177?KB_PROCESS
+00329A         ?C0188?KB_PROCESS:
+  733: 				{
+  734: 					kb_combination_key_press(state,KS_SEL_LALT,HID_KEY_TAB);
+00329A AF04              MOV     R7,AR4
+00329C 7B2B              MOV     R3,#02BH
+00329E 7D04              MOV     R5,#04H
+0032A0 1159              ACALL   _kb_combination_key_press
+  735: 					if(state & 1)
+0032A2 EC                MOV     A,R4
+0032A3 30E006            JNB     ACC.0,?C0189?KB_PROCESS
+  736: 					{						
+  737: 						g_variable.one_key_press_wait_release_timer = 10;
+0032A6 904CF8            MOV     DPTR,#g_variable+039H
+0032A9 740A              MOV     A,#0AH
+0032AB F0                MOVX    @DPTR,A
+  738: 					}
+0032AC         ?C0189?KB_PROCESS:
+  739: 					temp = HID_KEY_NULL;
+0032AC E4                CLR     A
+0032AD 904F06            MOV     DPTR,#temp
+0032B0 F0                MOVX    @DPTR,A
+  740: 				}
+  741: 				
+  742: 				break;
+0032B1 618E              AJMP    ?C0177?KB_PROCESS
+  743: 			case HID_KEY_F4:
+0032B3         ?C0190?KB_PROCESS:
+  744: 				if(g_variable.system_mode == OSMODE_MAC)
+0032B3 904CC1            MOV     DPTR,#g_variable+02H
+0032B6 E0                MOVX    A,@DPTR
+0032B7 B40217            CJNE    A,#02H,?C0191?KB_PROCESS
+  745: 				{
+  746: 					kb_combination_key_press(state,KS_SEL_LGUI|KS_SEL_LCTRL,HID_KEY_SPACE);
+0032BA AF04              MOV     R7,AR4
+0032BC 7B2C              MOV     R3,#02CH
+0032BE 7D09              MOV     R5,#09H
+0032C0 1159              ACALL   _kb_combination_key_press
+  747: 					if(state & 1)    
+0032C2 EC                MOV     A,R4
+0032C3 30E006            JNB     ACC.0,?C0192?KB_PROCESS
+  748: 					{            
+  749: 					g_variable.one_key_press_wait_release_timer = 10;     
+0032C6 904CF8            MOV     DPTR,#g_variable+039H
+0032C9 740A              MOV     A,#0AH
+0032CB F0                MOVX    @DPTR,A
+  750: 					}	
+0032CC         ?C0192?KB_PROCESS:
+  751: 				temp = HID_KEY_NULL;
+0032CC E4                CLR     A
+0032CD 904F06            MOV     DPTR,#temp
+0032D0 F0                MOVX    @DPTR,A
+  752: 				}				
+0032D1         ?C0191?KB_PROCESS:
+  753: 				temp = HID_MULTIKEY_AC_SEARCH;
+0032D1 904F06            MOV     DPTR,#temp
+0032D4 74D5              MOV     A,#0D5H
+0032D6 F0                MOVX    @DPTR,A
+  754: 				break;				
+0032D7 618E              AJMP    ?C0177?KB_PROCESS
+  755: 			case HID_KEY_F5: 
+0032D9         ?C0193?KB_PROCESS:
+  756: 				if((g_variable.system_mode == OSMODE_IOS) ||(g_variable.system_mode == OSMODE_MAC))
+0032D9 904CC1            MOV     DPTR,#g_variable+02H
+0032DC E0                MOVX    A,@DPTR
+0032DD FF                MOV     R7,A
+0032DE 6403              XRL     A,#03H
+0032E0 6004              JZ      ?C0195?KB_PROCESS
+0032E2 EF                MOV     A,R7
+0032E3 B4020A            CJNE    A,#02H,?C0194?KB_PROCESS
+0032E6         ?C0195?KB_PROCESS:
+  757: 					kb_combination_key_press(state,KS_SEL_LCTRL,HID_KEY_SPACE);
+0032E6 AF04              MOV     R7,AR4
+0032E8 7B2C              MOV     R3,#02CH
+0032EA 7D01              MOV     R5,#01H
+0032EC 1159              ACALL   _kb_combination_key_press
+0032EE 8019              SJMP    ?C0196?KB_PROCESS
+0032F0         ?C0194?KB_PROCESS:
+  758: 				else if(g_variable.system_mode == OSMODE_ANDROID)
+0032F0 904CC1            MOV     DPTR,#g_variable+02H
+0032F3 E0                MOVX    A,@DPTR
+0032F4 B4010A            CJNE    A,#01H,?C0197?KB_PROCESS
+  759: 					kb_combination_key_press(state,KS_SEL_LSHIFT,HID_KEY_SPACE);
+0032F7 AF04              MOV     R7,AR4
+0032F9 7B2C              MOV     R3,#02CH
+0032FB 7D02              MOV     R5,#02H
+0032FD 1159              ACALL   _kb_combination_key_press
+0032FF 8008              SJMP    ?C0196?KB_PROCESS
+003301         ?C0197?KB_PROCESS:
+  760: 				else
+  761: 					kb_combination_key_press(state,KS_SEL_LGUI,HID_KEY_SPACE);
+003301 AF04              MOV     R7,AR4
+003303 7B2C              MOV     R3,#02CH
+003305 7D08              MOV     R5,#08H
+003307 1159              ACALL   _kb_combination_key_press
+003309         ?C0196?KB_PROCESS:
+  762: 				
+  763: 				if(state & 1)
+003309 EC                MOV     A,R4
+00330A 30E006            JNB     ACC.0,?C0199?KB_PROCESS
+  764: 				{						
+  765: 					g_variable.one_key_press_wait_release_timer = 10;
+00330D 904CF8            MOV     DPTR,#g_variable+039H
+003310 740A              MOV     A,#0AH
+003312 F0                MOVX    @DPTR,A
+  766: 				}
+003313         ?C0199?KB_PROCESS:
+  767: 				temp = HID_KEY_NULL;
+003313 E4                CLR     A
+003314 904F06            MOV     DPTR,#temp
+003317 F0                MOVX    @DPTR,A
+  768: 				break;
+003318 8074              SJMP    ?C0177?KB_PROCESS
+  769: 			case HID_KEY_F6:
+00331A         ?C0200?KB_PROCESS:
+  770: 				if(g_variable.system_mode == OSMODE_IOS)
+00331A 904CC1            MOV     DPTR,#g_variable+02H
+00331D E0                MOVX    A,@DPTR
+00331E B40317            CJNE    A,#03H,?C0201?KB_PROCESS
+  771: 				{
+  772: 				kb_combination_key_press(state,KS_SEL_LGUI|KS_SEL_LSHIFT,HID_KEY_3);
+003321 AF04              MOV     R7,AR4
+003323 7B20              MOV     R3,#020H
+003325 7D0A              MOV     R5,#0AH
+003327 1159              ACALL   _kb_combination_key_press
+  773: 					if(state & 1)    
+003329 EC                MOV     A,R4
+00332A 30E006            JNB     ACC.0,?C0202?KB_PROCESS
+  774: 					{            
+  775: 					g_variable.one_key_press_wait_release_timer = 10;     
+00332D 904CF8            MOV     DPTR,#g_variable+039H
+003330 740A              MOV     A,#0AH
+003332 F0                MOVX    @DPTR,A
+  776: 					}	
+003333         ?C0202?KB_PROCESS:
+  777: 				temp = HID_KEY_NULL;
+003333 E4                CLR     A
+003334 904F06            MOV     DPTR,#temp
+003337 F0                MOVX    @DPTR,A
+  778: 				}
+003338         ?C0201?KB_PROCESS:
+  779: 				if(g_variable.system_mode == OSMODE_MAC)
+003338 904CC1            MOV     DPTR,#g_variable+02H
+00333B E0                MOVX    A,@DPTR
+00333C B40219            CJNE    A,#02H,?C0203?KB_PROCESS
+  780: 				{
+  781: 					kb_combination_key_press(state,KS_SEL_LGUI|KS_SEL_LSHIFT,HID_KEY_3);
+00333F AF04              MOV     R7,AR4
+003341 7B20              MOV     R3,#020H
+003343 7D0A              MOV     R5,#0AH
+003345 1159              ACALL   _kb_combination_key_press
+  782: 					if(state & 1)    
+003347 EF                MOV     A,R7
+003348 30E006            JNB     ACC.0,?C0204?KB_PROCESS
+  783: 					{            
+  784: 					g_variable.one_key_press_wait_release_timer = 10;     
+00334B 904CF8            MOV     DPTR,#g_variable+039H
+00334E 740A              MOV     A,#0AH
+003350 F0                MOVX    @DPTR,A
+  785: 					}	
+003351         ?C0204?KB_PROCESS:
+  786: 				temp = HID_KEY_NULL;
+003351 E4                CLR     A
+003352 904F06            MOV     DPTR,#temp
+003355 F0                MOVX    @DPTR,A
+  787: 				}				
+003356 8036              SJMP    ?C0177?KB_PROCESS
+003358         ?C0203?KB_PROCESS:
+  788: 				else
+  789: 					temp = HID_KEY_PRINT_SCREEN;
+003358 904F06            MOV     DPTR,#temp
+00335B 7446              MOV     A,#046H
+00335D F0                MOVX    @DPTR,A
+  790: 				break;	
+00335E 802E              SJMP    ?C0177?KB_PROCESS
+  791: 			case HID_KEY_F7:
+003360         ?C0206?KB_PROCESS:
+  792: 				temp = HID_MULTIKEY_PRE_TRACK;
+003360 904F06            MOV     DPTR,#temp
+003363 74F4              MOV     A,#0F4H
+003365 F0                MOVX    @DPTR,A
+  793: 				break;	
+003366 8026              SJMP    ?C0177?KB_PROCESS
+  794: 			case HID_KEY_F8:
+003368         ?C0207?KB_PROCESS:
+  795: 				temp = HID_MULTIKEY_PALY;
+003368 904F06            MOV     DPTR,#temp
+00336B 74F2              MOV     A,#0F2H
+00336D F0                MOVX    @DPTR,A
+  796: 				break;
+00336E 801E              SJMP    ?C0177?KB_PROCESS
+  797: 			case HID_KEY_F9:
+003370         ?C0208?KB_PROCESS:
+  798: 				temp = HID_MULTIKEY_NEXT_TRACK;
+003370 904F06            MOV     DPTR,#temp
+003373 74F5              MOV     A,#0F5H
+003375 F0                MOVX    @DPTR,A
+  799: 				break;
+003376 8016              SJMP    ?C0177?KB_PROCESS
+  800: 			case HID_KEY_F10:
+003378         ?C0209?KB_PROCESS:
+  801: 				temp = HID_MULTIKEY_MUTE;
+003378 904F06            MOV     DPTR,#temp
+00337B 74F8              MOV     A,#0F8H
+00337D F0                MOVX    @DPTR,A
+  802: 				break;
+00337E 800E              SJMP    ?C0177?KB_PROCESS
+  803: 			case HID_KEY_F11:
+003380         ?C0210?KB_PROCESS:
+  804: 				temp = HID_MULTIKEY_VOL_DOWN;
+003380 904F06            MOV     DPTR,#temp
+003383 74F6              MOV     A,#0F6H
+003385 F0                MOVX    @DPTR,A
+  805: 				break;
+003386 8006              SJMP    ?C0177?KB_PROCESS
+  806: 			case HID_KEY_F12:
+003388         ?C0211?KB_PROCESS:
+  807: 				temp = HID_MULTIKEY_VOL_UP;
+003388 904F06            MOV     DPTR,#temp
+00338B 74F7              MOV     A,#0F7H
+00338D F0                MOVX    @DPTR,A
+  808: 				break;			
+  809: 			default :
+  810: 				break;
+  811: 		}
+  812: 	}
+00338E         ?C0177?KB_PROCESS:
+  813: 
+  814: 	return temp;
+00338E 904F06            MOV     DPTR,#temp
+003391 E0                MOVX    A,@DPTR
+003392 FF                MOV     R7,A
+  815: }
+003393 22                RET     
 ----- FUNCTION _key_fn_function (END) -------
 
 
@@ -9916,54 +9925,54 @@
   190: {
   191: 	byte i = 0;
   192: 	
-003388 E4                CLR     A
-003389 904F07            MOV     DPTR,#i
-00338C F0                MOVX    @DPTR,A
+003394 E4                CLR     A
+003395 904F07            MOV     DPTR,#i
+003398 F0                MOVX    @DPTR,A
   193: 	for (i=0; i<8; i++) {
-00338D F0                MOVX    @DPTR,A
-00338E         ?C0028?KEYSCAN:
-00338E 904F07            MOV     DPTR,#i
-003391 E0                MOVX    A,@DPTR
-003392 FF                MOV     R7,A
-003393 C3                CLR     C
-003394 9408              SUBB    A,#08H
-003396 500C              JNC     ?C0031?KEYSCAN
+003399 F0                MOVX    @DPTR,A
+00339A         ?C0028?KEYSCAN:
+00339A 904F07            MOV     DPTR,#i
+00339D E0                MOVX    A,@DPTR
+00339E FF                MOV     R7,A
+00339F C3                CLR     C
+0033A0 9408              SUBB    A,#08H
+0033A2 500C              JNC     ?C0031?KEYSCAN
   194: 		GPIO_SetInput(i, 0);
-003398 C205              CLR     ?_GPIO_SetInput?BIT
-00339A 71A5              ACALL   _GPIO_SetInput
+0033A4 C205              CLR     ?_GPIO_SetInput?BIT
+0033A6 71B1              ACALL   _GPIO_SetInput
   195: 	}
-00339C 904F07            MOV     DPTR,#i
-00339F E0                MOVX    A,@DPTR
-0033A0 04                INC     A
-0033A1 F0                MOVX    @DPTR,A
-0033A2 80EA              SJMP    ?C0028?KEYSCAN
+0033A8 904F07            MOV     DPTR,#i
+0033AB E0                MOVX    A,@DPTR
+0033AC 04                INC     A
+0033AD F0                MOVX    @DPTR,A
+0033AE 80EA              SJMP    ?C0028?KEYSCAN
   196: }
-0033A4         ?C0031?KEYSCAN:
-0033A4 22                RET     
+0033B0         ?C0031?KEYSCAN:
+0033B0 22                RET     
 ----- FUNCTION ksRawInitialize (END) -------
 
 
 ----- FUNCTION _GPIO_SetInput (BEGIN) -----
 ;---- Variable 'gpio_num' assigned to Register 'R4' ----
-0033A5 AC07              MOV     R4,AR7
-0033A7 EC                MOV     A,R4
-0033A8 F4                CPL     A
-0033A9 6017              JZ      ?C0015?GPIO
-0033AB         ?C0014?GPIO:
-0033AB AF04              MOV     R7,AR4
-0033AD A205              MOV     C,st
-0033AF 9203              MOV     ?_GPIO_SetPd?BIT,C
-0033B1 71FA              ACALL   _GPIO_SetPd
-0033B3 AF04              MOV     R7,AR4
-0033B5 A205              MOV     C,st
-0033B7 B3                CPL     C
-0033B8 9202              MOV     ?_GPIO_SetPu?BIT,C
-0033BA 71E9              ACALL   _GPIO_SetPu
-0033BC AF04              MOV     R7,AR4
-0033BE C204              CLR     ?_GPIO_Setoe?BIT
-0033C0 910B              ACALL   _GPIO_Setoe
-0033C2         ?C0015?GPIO:
-0033C2 22                RET     
+0033B1 AC07              MOV     R4,AR7
+0033B3 EC                MOV     A,R4
+0033B4 F4                CPL     A
+0033B5 6017              JZ      ?C0015?GPIO
+0033B7         ?C0014?GPIO:
+0033B7 AF04              MOV     R7,AR4
+0033B9 A205              MOV     C,st
+0033BB 9203              MOV     ?_GPIO_SetPd?BIT,C
+0033BD 9106              ACALL   _GPIO_SetPd
+0033BF AF04              MOV     R7,AR4
+0033C1 A205              MOV     C,st
+0033C3 B3                CPL     C
+0033C4 9202              MOV     ?_GPIO_SetPu?BIT,C
+0033C6 71F5              ACALL   _GPIO_SetPu
+0033C8 AF04              MOV     R7,AR4
+0033CA C204              CLR     ?_GPIO_Setoe?BIT
+0033CC 9117              ACALL   _GPIO_Setoe
+0033CE         ?C0015?GPIO:
+0033CE 22                RET     
 ----- FUNCTION _GPIO_SetInput (END) -------
 
 
@@ -9973,170 +9982,170 @@
    84: {
    85: 	System_IIC_clk_setup();
    86: 	KS_Initialize();
-0033C3 917D              ACALL   System_IIC_clk_setup
+0033CF 9189              ACALL   System_IIC_clk_setup
    87: 	if(!g_variable.switch_flag)
-0033C5 1217B0            LCALL   KS_Initialize
+0033D1 1217B0            LCALL   KS_Initialize
    88: 	{
-0033C8 904D05            MOV     DPTR,#g_variable+046H
-0033CB E0                MOVX    A,@DPTR
-0033CC 701A              JNZ     ?C0009?SYS
+0033D4 904D05            MOV     DPTR,#g_variable+046H
+0033D7 E0                MOVX    A,@DPTR
+0033D8 701A              JNZ     ?C0009?SYS
    89: 	LED_all_shutdown();
    90: 	GPIO_SetInput(BT1_BUTTON_GPIO, 0);
-0033CE 121FD0            LCALL   LED_all_shutdown
+0033DA 121FD0            LCALL   LED_all_shutdown
    91: 	GPIO_SetInput(BT2_BUTTON_GPIO, 0);
-0033D1 C205              CLR     ?_GPIO_SetInput?BIT
-0033D3 7F1A              MOV     R7,#01AH
-0033D5 71A5              ACALL   _GPIO_SetInput
+0033DD C205              CLR     ?_GPIO_SetInput?BIT
+0033DF 7F1A              MOV     R7,#01AH
+0033E1 71B1              ACALL   _GPIO_SetInput
    92: 	GPIO_SetInput(G24_BUTTON_GPIO, 0);
-0033D7 C205              CLR     ?_GPIO_SetInput?BIT
-0033D9 7F15              MOV     R7,#015H
-0033DB 71A5              ACALL   _GPIO_SetInput
+0033E3 C205              CLR     ?_GPIO_SetInput?BIT
+0033E5 7F15              MOV     R7,#015H
+0033E7 71B1              ACALL   _GPIO_SetInput
    93: 	g_variable.switch_flag = 0;
-0033DD C205              CLR     ?_GPIO_SetInput?BIT
-0033DF 7F17              MOV     R7,#017H
-0033E1 71A5              ACALL   _GPIO_SetInput
+0033E9 C205              CLR     ?_GPIO_SetInput?BIT
+0033EB 7F17              MOV     R7,#017H
+0033ED 71B1              ACALL   _GPIO_SetInput
    94: 	}
-0033E3 E4                CLR     A
-0033E4 904D05            MOV     DPTR,#g_variable+046H
-0033E7 F0                MOVX    @DPTR,A
+0033EF E4                CLR     A
+0033F0 904D05            MOV     DPTR,#g_variable+046H
+0033F3 F0                MOVX    @DPTR,A
    95: }
    96: 
-0033E8         ?C0009?SYS:
-0033E8 22                RET     
+0033F4         ?C0009?SYS:
+0033F4 22                RET     
 ----- FUNCTION System_Hardware_init (END) -------
 
 
 ----- FUNCTION _GPIO_SetPu (BEGIN) -----
 ;---- Variable 'gpio_num' assigned to Register 'R7' ----
-0033E9 EF                MOV     A,R7
-0033EA F4                CPL     A
-0033EB 600C              JZ      ?C0009?GPIO
-0033ED         ?C0008?GPIO:
-0033ED 7B01              MOV     R3,#01H
-0033EF 7A80              MOV     R2,#080H
-0033F1 7978              MOV     R1,#078H
-0033F3 A202              MOV     C,bit_val
-0033F5 9200              MOV     ?_gpioSetBit?BIT,C
-0033F7 911C              ACALL   _gpioSetBit
-0033F9         ?C0009?GPIO:
-0033F9 22                RET     
+0033F5 EF                MOV     A,R7
+0033F6 F4                CPL     A
+0033F7 600C              JZ      ?C0009?GPIO
+0033F9         ?C0008?GPIO:
+0033F9 7B01              MOV     R3,#01H
+0033FB 7A80              MOV     R2,#080H
+0033FD 7978              MOV     R1,#078H
+0033FF A202              MOV     C,bit_val
+003401 9200              MOV     ?_gpioSetBit?BIT,C
+003403 9128              ACALL   _gpioSetBit
+003405         ?C0009?GPIO:
+003405 22                RET     
 ----- FUNCTION _GPIO_SetPu (END) -------
 
 
 ----- FUNCTION _GPIO_SetPd (BEGIN) -----
 ;---- Variable 'gpio_num' assigned to Register 'R7' ----
-0033FA EF                MOV     A,R7
-0033FB F4                CPL     A
-0033FC 600C              JZ      ?C0011?GPIO
-0033FE         ?C0010?GPIO:
-0033FE 7B01              MOV     R3,#01H
-003400 7A80              MOV     R2,#080H
-003402 797C              MOV     R1,#07CH
-003404 A203              MOV     C,bit_val
-003406 9200              MOV     ?_gpioSetBit?BIT,C
-003408 911C              ACALL   _gpioSetBit
-00340A         ?C0011?GPIO:
-00340A 22                RET     
+003406 EF                MOV     A,R7
+003407 F4                CPL     A
+003408 600C              JZ      ?C0011?GPIO
+00340A         ?C0010?GPIO:
+00340A 7B01              MOV     R3,#01H
+00340C 7A80              MOV     R2,#080H
+00340E 797C              MOV     R1,#07CH
+003410 A203              MOV     C,bit_val
+003412 9200              MOV     ?_gpioSetBit?BIT,C
+003414 9128              ACALL   _gpioSetBit
+003416         ?C0011?GPIO:
+003416 22                RET     
 ----- FUNCTION _GPIO_SetPd (END) -------
 
 
 ----- FUNCTION _GPIO_Setoe (BEGIN) -----
 ;---- Variable 'gpio_num' assigned to Register 'R7' ----
-00340B EF                MOV     A,R7
-00340C F4                CPL     A
-00340D 600C              JZ      ?C0013?GPIO
-00340F         ?C0012?GPIO:
-00340F 7B01              MOV     R3,#01H
-003411 7A80              MOV     R2,#080H
-003413 7970              MOV     R1,#070H
-003415 A204              MOV     C,bit_val
-003417 9200              MOV     ?_gpioSetBit?BIT,C
-003419 911C              ACALL   _gpioSetBit
-00341B         ?C0013?GPIO:
-00341B 22                RET     
+003417 EF                MOV     A,R7
+003418 F4                CPL     A
+003419 600C              JZ      ?C0013?GPIO
+00341B         ?C0012?GPIO:
+00341B 7B01              MOV     R3,#01H
+00341D 7A80              MOV     R2,#080H
+00341F 7970              MOV     R1,#070H
+003421 A204              MOV     C,bit_val
+003423 9200              MOV     ?_gpioSetBit?BIT,C
+003425 9128              ACALL   _gpioSetBit
+003427         ?C0013?GPIO:
+003427 22                RET     
 ----- FUNCTION _GPIO_Setoe (END) -------
 
 
 ----- FUNCTION _gpioSetBit (BEGIN) -----
-00341C 904EF9            MOV     DPTR,#reg_base
-00341F EB                MOV     A,R3
-003420 F0                MOVX    @DPTR,A
-003421 A3                INC     DPTR
-003422 EA                MOV     A,R2
-003423 F0                MOVX    @DPTR,A
-003424 A3                INC     DPTR
-003425 E9                MOV     A,R1
-003426 F0                MOVX    @DPTR,A
+003428 904EF9            MOV     DPTR,#reg_base
+00342B EB                MOV     A,R3
+00342C F0                MOVX    @DPTR,A
+00342D A3                INC     DPTR
+00342E EA                MOV     A,R2
+00342F F0                MOVX    @DPTR,A
+003430 A3                INC     DPTR
+003431 E9                MOV     A,R1
+003432 F0                MOVX    @DPTR,A
 ;---- Variable 'gpio_num' assigned to Register 'R7' ----
 ;---- Variable 'queue' assigned to Register 'R6' ----
-003427 E4                CLR     A
-003428 FE                MOV     R6,A
+003433 E4                CLR     A
+003434 FE                MOV     R6,A
 ;---- Variable 'group' assigned to Register 'R5' ----
-003429 FD                MOV     R5,A
-00342A EF                MOV     A,R7
-00342B 5407              ANL     A,#07H
-00342D FE                MOV     R6,A
-00342E EF                MOV     A,R7
-00342F 13                RRC     A
-003430 13                RRC     A
-003431 13                RRC     A
-003432 5403              ANL     A,#03H
-003434 FD                MOV     R5,A
-003435 300022            JNB     bit_val,?C0001?GPIO
-003438 904EF9            MOV     DPTR,#reg_base
-00343B E0                MOVX    A,@DPTR
-00343C FB                MOV     R3,A
-00343D A3                INC     DPTR
-00343E E0                MOVX    A,@DPTR
-00343F FA                MOV     R2,A
-003440 A3                INC     DPTR
-003441 E0                MOVX    A,@DPTR
-003442 2D                ADD     A,R5
-003443 F9                MOV     R1,A
-003444 E4                CLR     A
-003445 3A                ADDC    A,R2
-003446 FA                MOV     R2,A
-003447 1203B6            LCALL   ?C?CLDPTR
-00344A FF                MOV     R7,A
-00344B 7401              MOV     A,#01H
-00344D A806              MOV     R0,AR6
-00344F 08                INC     R0
-003450 8002              SJMP    ?C0031?GPIO
-003452         ?C0030?GPIO:
-003452 C3                CLR     C
-003453 33                RLC     A
-003454         ?C0031?GPIO:
-003454 D8FC              DJNZ    R0,?C0030?GPIO
-003456 4F                ORL     A,R7
-003457 0203FC            LJMP    ?C?CSTPTR
-00345A         ?C0001?GPIO:
-00345A 904EF9            MOV     DPTR,#reg_base
-00345D E0                MOVX    A,@DPTR
-00345E FB                MOV     R3,A
-00345F A3                INC     DPTR
-003460 E0                MOVX    A,@DPTR
-003461 FA                MOV     R2,A
-003462 A3                INC     DPTR
-003463 E0                MOVX    A,@DPTR
-003464 2D                ADD     A,R5
-003465 F9                MOV     R1,A
-003466 E4                CLR     A
-003467 3A                ADDC    A,R2
-003468 FA                MOV     R2,A
-003469 1203B6            LCALL   ?C?CLDPTR
-00346C FF                MOV     R7,A
-00346D 7401              MOV     A,#01H
-00346F A806              MOV     R0,AR6
-003471 08                INC     R0
-003472 8002              SJMP    ?C0033?GPIO
-003474         ?C0032?GPIO:
-003474 C3                CLR     C
-003475 33                RLC     A
-003476         ?C0033?GPIO:
-003476 D8FC              DJNZ    R0,?C0032?GPIO
-003478 F4                CPL     A
-003479 5F                ANL     A,R7
-00347A 0203FC            LJMP    ?C?CSTPTR
+003435 FD                MOV     R5,A
+003436 EF                MOV     A,R7
+003437 5407              ANL     A,#07H
+003439 FE                MOV     R6,A
+00343A EF                MOV     A,R7
+00343B 13                RRC     A
+00343C 13                RRC     A
+00343D 13                RRC     A
+00343E 5403              ANL     A,#03H
+003440 FD                MOV     R5,A
+003441 300022            JNB     bit_val,?C0001?GPIO
+003444 904EF9            MOV     DPTR,#reg_base
+003447 E0                MOVX    A,@DPTR
+003448 FB                MOV     R3,A
+003449 A3                INC     DPTR
+00344A E0                MOVX    A,@DPTR
+00344B FA                MOV     R2,A
+00344C A3                INC     DPTR
+00344D E0                MOVX    A,@DPTR
+00344E 2D                ADD     A,R5
+00344F F9                MOV     R1,A
+003450 E4                CLR     A
+003451 3A                ADDC    A,R2
+003452 FA                MOV     R2,A
+003453 1203B6            LCALL   ?C?CLDPTR
+003456 FF                MOV     R7,A
+003457 7401              MOV     A,#01H
+003459 A806              MOV     R0,AR6
+00345B 08                INC     R0
+00345C 8002              SJMP    ?C0031?GPIO
+00345E         ?C0030?GPIO:
+00345E C3                CLR     C
+00345F 33                RLC     A
+003460         ?C0031?GPIO:
+003460 D8FC              DJNZ    R0,?C0030?GPIO
+003462 4F                ORL     A,R7
+003463 0203FC            LJMP    ?C?CSTPTR
+003466         ?C0001?GPIO:
+003466 904EF9            MOV     DPTR,#reg_base
+003469 E0                MOVX    A,@DPTR
+00346A FB                MOV     R3,A
+00346B A3                INC     DPTR
+00346C E0                MOVX    A,@DPTR
+00346D FA                MOV     R2,A
+00346E A3                INC     DPTR
+00346F E0                MOVX    A,@DPTR
+003470 2D                ADD     A,R5
+003471 F9                MOV     R1,A
+003472 E4                CLR     A
+003473 3A                ADDC    A,R2
+003474 FA                MOV     R2,A
+003475 1203B6            LCALL   ?C?CLDPTR
+003478 FF                MOV     R7,A
+003479 7401              MOV     A,#01H
+00347B A806              MOV     R0,AR6
+00347D 08                INC     R0
+00347E 8002              SJMP    ?C0033?GPIO
+003480         ?C0032?GPIO:
+003480 C3                CLR     C
+003481 33                RLC     A
+003482         ?C0033?GPIO:
+003482 D8FC              DJNZ    R0,?C0032?GPIO
+003484 F4                CPL     A
+003485 5F                ANL     A,R7
+003486 0203FC            LJMP    ?C?CSTPTR
 ----- FUNCTION _gpioSetBit (END) -------
 
 
@@ -10146,28 +10155,28 @@
    66: {
    67: 	REG_IICD_SCL_LOW  =  0x0d;
    68:    	REG_IICD_SCL_HIGH  =  0x0e;
-00347D 908091            MOV     DPTR,#08091H
-003480 740D              MOV     A,#0DH
-003482 F0                MOVX    @DPTR,A
+003489 908091            MOV     DPTR,#08091H
+00348C 740D              MOV     A,#0DH
+00348E F0                MOVX    @DPTR,A
    69:    	REG_IICD_START_SETUP  = 0x0e;
-003483 A3                INC     DPTR
-003484 04                INC     A
-003485 F0                MOVX    @DPTR,A
+00348F A3                INC     DPTR
+003490 04                INC     A
+003491 F0                MOVX    @DPTR,A
    70:    	REG_IICD_START_HOLD  = 0x0e;
-003486 A3                INC     DPTR
-003487 F0                MOVX    @DPTR,A
+003492 A3                INC     DPTR
+003493 F0                MOVX    @DPTR,A
    71:   	REG_IICD_STOP_SETUP  = 0x0e;
-003488 A3                INC     DPTR
-003489 F0                MOVX    @DPTR,A
+003494 A3                INC     DPTR
+003495 F0                MOVX    @DPTR,A
    72:    	REG_IICD_DATA_SETUP  = 0x0d;
-00348A A3                INC     DPTR
-00348B F0                MOVX    @DPTR,A
+003496 A3                INC     DPTR
+003497 F0                MOVX    @DPTR,A
    73: }
-00348C A3                INC     DPTR
-00348D 14                DEC     A
-00348E F0                MOVX    @DPTR,A
+003498 A3                INC     DPTR
+003499 14                DEC     A
+00349A F0                MOVX    @DPTR,A
    74: 
-00348F 22                RET     
+00349B 22                RET     
 ----- FUNCTION System_IIC_clk_setup (END) -------
 
 
@@ -10177,28 +10186,28 @@
    41: {
    42: 
    43: 	if(g_variable.current_device_num == 1)
-003490 904CC3            MOV     DPTR,#g_variable+04H
-003493 E0                MOVX    A,@DPTR
-003494 B40107            CJNE    A,#01H,?C0007?LED
+00349C 904CC3            MOV     DPTR,#g_variable+04H
+00349F E0                MOVX    A,@DPTR
+0034A0 B40107            CJNE    A,#01H,?C0007?LED
    44: 		GPIO_Setout(BT_LED_GPIO,LED_OFF);
-003497 C201              CLR     ?_GPIO_Setout?BIT
-003499 7F19              MOV     R7,#019H
-00349B 020F74            LJMP    _GPIO_Setout
-00349E         ?C0007?LED:
+0034A3 C201              CLR     ?_GPIO_Setout?BIT
+0034A5 7F19              MOV     R7,#019H
+0034A7 020F74            LJMP    _GPIO_Setout
+0034AA         ?C0007?LED:
    45: 	else if(g_variable.current_device_num == 2)
-00349E 904CC3            MOV     DPTR,#g_variable+04H
-0034A1 E0                MOVX    A,@DPTR
-0034A2 B40207            CJNE    A,#02H,?C0009?LED
+0034AA 904CC3            MOV     DPTR,#g_variable+04H
+0034AD E0                MOVX    A,@DPTR
+0034AE B40207            CJNE    A,#02H,?C0009?LED
    46: 		GPIO_Setout(BT2_LED_GPIO,LED_OFF);
-0034A5 C201              CLR     ?_GPIO_Setout?BIT
-0034A7 7F1C              MOV     R7,#01CH
-0034A9 020F74            LJMP    _GPIO_Setout
-0034AC         ?C0009?LED:
+0034B1 C201              CLR     ?_GPIO_Setout?BIT
+0034B3 7F1C              MOV     R7,#01CH
+0034B5 020F74            LJMP    _GPIO_Setout
+0034B8         ?C0009?LED:
    47: 	else
    48: 	GPIO_Setout(LOWPOWER_LED_GPIO,LED_OFF);
-0034AC C201              CLR     ?_GPIO_Setout?BIT
-0034AE 7F1D              MOV     R7,#01DH
-0034B0 020F74            LJMP    _GPIO_Setout
+0034B8 C201              CLR     ?_GPIO_Setout?BIT
+0034BA 7F1D              MOV     R7,#01DH
+0034BC 020F74            LJMP    _GPIO_Setout
    49: 
    50: 
 ----- FUNCTION LED_device_poweroff (END) -------
@@ -10210,252 +10219,252 @@
   759: {
   760: 
   761: 	if (g_variable.delay_enter_lpm_timer) 
-0034B3 904CEA            MOV     DPTR,#g_variable+02BH
-0034B6 E0                MOVX    A,@DPTR
-0034B7 6002              JZ      ?C0142?SYS
+0034BF 904CEA            MOV     DPTR,#g_variable+02BH
+0034C2 E0                MOVX    A,@DPTR
+0034C3 6002              JZ      ?C0142?SYS
   762: 	{
   763: 		g_variable.delay_enter_lpm_timer --;
-0034B9 14                DEC     A
-0034BA F0                MOVX    @DPTR,A
+0034C5 14                DEC     A
+0034C6 F0                MOVX    @DPTR,A
   764: 	}
-0034BB         ?C0142?SYS:
+0034C7         ?C0142?SYS:
   765: 
   766: 	if(g_variable.recon_delay)
-0034BB 904CEF            MOV     DPTR,#g_variable+030H
-0034BE E0                MOVX    A,@DPTR
-0034BF 6002              JZ      ?C0143?SYS
+0034C7 904CEF            MOV     DPTR,#g_variable+030H
+0034CA E0                MOVX    A,@DPTR
+0034CB 6002              JZ      ?C0143?SYS
   767: 		g_variable.recon_delay--;
-0034C1 14                DEC     A
-0034C2 F0                MOVX    @DPTR,A
-0034C3         ?C0143?SYS:
+0034CD 14                DEC     A
+0034CE F0                MOVX    @DPTR,A
+0034CF         ?C0143?SYS:
   768: 
   769: 	if(g_variable.one_key_press_wait_release_timer)
-0034C3 904CF8            MOV     DPTR,#g_variable+039H
-0034C6 E0                MOVX    A,@DPTR
-0034C7 600B              JZ      ?C0144?SYS
+0034CF 904CF8            MOV     DPTR,#g_variable+039H
+0034D2 E0                MOVX    A,@DPTR
+0034D3 600B              JZ      ?C0144?SYS
   770: 	{
   771: 		g_variable.one_key_press_wait_release_timer--;
-0034C9 14                DEC     A
-0034CA F0                MOVX    @DPTR,A
+0034D5 14                DEC     A
+0034D6 F0                MOVX    @DPTR,A
   772: 		if(!g_variable.one_key_press_wait_release_timer)
-0034CB E0                MOVX    A,@DPTR
-0034CC 7006              JNZ     ?C0144?SYS
+0034D7 E0                MOVX    A,@DPTR
+0034D8 7006              JNZ     ?C0144?SYS
   773: 			g_variable.key_combination_step = CAMBINATION_KEY_NULL;
-0034CE 904CF4            MOV     DPTR,#g_variable+035H
-0034D1 7406              MOV     A,#06H
-0034D3 F0                MOVX    @DPTR,A
+0034DA 904CF4            MOV     DPTR,#g_variable+035H
+0034DD 7406              MOV     A,#06H
+0034DF F0                MOVX    @DPTR,A
   774: 	}
-0034D4         ?C0144?SYS:
+0034E0         ?C0144?SYS:
   775: 	
   776: 	if (g_variable.powerOn_timer != 0)
-0034D4 904CE5            MOV     DPTR,#g_variable+026H
-0034D7 E0                MOVX    A,@DPTR
-0034D8 601F              JZ      ?C0146?SYS
+0034E0 904CE5            MOV     DPTR,#g_variable+026H
+0034E3 E0                MOVX    A,@DPTR
+0034E4 601F              JZ      ?C0146?SYS
   777: 	{	
   778: 		if(g_variable.pairing_g24_timeout)
-0034DA 904CEE            MOV     DPTR,#g_variable+02FH
-0034DD E0                MOVX    A,@DPTR
-0034DE 6006              JZ      ?C0147?SYS
+0034E6 904CEE            MOV     DPTR,#g_variable+02FH
+0034E9 E0                MOVX    A,@DPTR
+0034EA 6006              JZ      ?C0147?SYS
   779: 		{
   780: 			g_variable.powerOn_timer = 0;
-0034E0 E4                CLR     A
-0034E1 904CE5            MOV     DPTR,#g_variable+026H
-0034E4 F0                MOVX    @DPTR,A
-0034E5 22                RET     
+0034EC E4                CLR     A
+0034ED 904CE5            MOV     DPTR,#g_variable+026H
+0034F0 F0                MOVX    @DPTR,A
+0034F1 22                RET     
   781: 			return;
   782: 		}
-0034E6         ?C0147?SYS:
+0034F2         ?C0147?SYS:
   783: 		g_variable.powerOn_timer--;
-0034E6 904CE5            MOV     DPTR,#g_variable+026H
-0034E9 E0                MOVX    A,@DPTR
-0034EA 14                DEC     A
-0034EB F0                MOVX    @DPTR,A
+0034F2 904CE5            MOV     DPTR,#g_variable+026H
+0034F5 E0                MOVX    A,@DPTR
+0034F6 14                DEC     A
+0034F7 F0                MOVX    @DPTR,A
   784: 		LED_device_poweron();
-0034EC 120F86            LCALL   LED_device_poweron
+0034F8 120F86            LCALL   LED_device_poweron
   785: 		if (!g_variable.powerOn_timer)
-0034EF 904CE5            MOV     DPTR,#g_variable+026H
-0034F2 E0                MOVX    A,@DPTR
-0034F3 7037              JNZ     ?C0150?SYS
+0034FB 904CE5            MOV     DPTR,#g_variable+026H
+0034FE E0                MOVX    A,@DPTR
+0034FF 7037              JNZ     ?C0150?SYS
   786: 		{
   787: 			LED_device_poweroff();
-0034F5 9190              ACALL   LED_device_poweroff
+003501 919C              ACALL   LED_device_poweroff
   788: 		}
   789: 	}
-0034F7 8033              SJMP    ?C0150?SYS
-0034F9         ?C0146?SYS:
+003503 8033              SJMP    ?C0150?SYS
+003505         ?C0146?SYS:
   790: 	else	if ((g_variable.pairing_timeout == 0) && (g_variable.pairing_g24_timeout == 0))  //  pairing
-0034F9 904CE9            MOV     DPTR,#g_variable+02AH
-0034FC E0                MOVX    A,@DPTR
-0034FD 702D              JNZ     ?C0150?SYS
-0034FF 904CEE            MOV     DPTR,#g_variable+02FH
-003502 E0                MOVX    A,@DPTR
-003503 7027              JNZ     ?C0150?SYS
+003505 904CE9            MOV     DPTR,#g_variable+02AH
+003508 E0                MOVX    A,@DPTR
+003509 702D              JNZ     ?C0150?SYS
+00350B 904CEE            MOV     DPTR,#g_variable+02FH
+00350E E0                MOVX    A,@DPTR
+00350F 7027              JNZ     ?C0150?SYS
   791: 	{
   792: 		if(g_variable.battery_low_led_flash_interval)
-003505 904CE2            MOV     DPTR,#g_variable+023H
-003508 E0                MOVX    A,@DPTR
-003509 6021              JZ      ?C0150?SYS
+003511 904CE2            MOV     DPTR,#g_variable+023H
+003514 E0                MOVX    A,@DPTR
+003515 6021              JZ      ?C0150?SYS
   793: 		{
   794: 			g_variable.battery_low_led_flash_interval--;
-00350B 14                DEC     A
-00350C F0                MOVX    @DPTR,A
+003517 14                DEC     A
+003518 F0                MOVX    @DPTR,A
   795: 			if(g_variable.battery_low_led_flash_interval < 4)
-00350D E0                MOVX    A,@DPTR
-00350E FF                MOV     R7,A
-00350F C3                CLR     C
-003510 9404              SUBB    A,#04H
-003512 500D              JNC     ?C0153?SYS
+003519 E0                MOVX    A,@DPTR
+00351A FF                MOV     R7,A
+00351B C3                CLR     C
+00351C 9404              SUBB    A,#04H
+00351E 500D              JNC     ?C0153?SYS
   796: 			{
   797: 				if(g_variable.battery_low_led_flash_interval & 0x02)
-003514 EF                MOV     A,R7
-003515 30E105            JNB     ACC.1,?C0154?SYS
+003520 EF                MOV     A,R7
+003521 30E105            JNB     ACC.1,?C0154?SYS
   798: 				{
   799: 					LED_device_poweron();
-003518 120F86            LCALL   LED_device_poweron
+003524 120F86            LCALL   LED_device_poweron
   800: 				}
-00351B 8006              SJMP    ?C0156?SYS
-00351D         ?C0154?SYS:
+003527 8006              SJMP    ?C0156?SYS
+003529         ?C0154?SYS:
   801: 				else
   802: 				{
   803: 					LED_device_poweroff();	
-00351D 9190              ACALL   LED_device_poweroff
+003529 919C              ACALL   LED_device_poweroff
   804: 				}	
   805: 			}
-00351F 8002              SJMP    ?C0156?SYS
-003521         ?C0153?SYS:
+00352B 8002              SJMP    ?C0156?SYS
+00352D         ?C0153?SYS:
   806: 			else
   807: 				LED_device_poweroff();
-003521 9190              ACALL   LED_device_poweroff
-003523         ?C0156?SYS:
+00352D 919C              ACALL   LED_device_poweroff
+00352F         ?C0156?SYS:
   808: 			if(!g_variable.battery_low_led_flash_interval)
-003523 904CE2            MOV     DPTR,#g_variable+023H
-003526 E0                MOVX    A,@DPTR
-003527 7003              JNZ     ?C0150?SYS
+00352F 904CE2            MOV     DPTR,#g_variable+023H
+003532 E0                MOVX    A,@DPTR
+003533 7003              JNZ     ?C0150?SYS
   809: 				g_variable.battery_low_led_flash_interval = LOW_BATTERY_FLASH_INTERVAL;
-003529 740A              MOV     A,#0AH
-00352B F0                MOVX    @DPTR,A
+003535 740A              MOV     A,#0AH
+003537 F0                MOVX    @DPTR,A
   810: 		}
   811: 	}
-00352C         ?C0150?SYS:
+003538         ?C0150?SYS:
   812: 	
   813: // The dongle must receive data within 200ms, otherwise it will be forced to lift
   814: 	if(!long_press_flag)
-00352C 904DDD            MOV     DPTR,#long_press_flag
-00352F E0                MOVX    A,@DPTR
-003530 7036              JNZ     ?C0158?SYS
+003538 904DDD            MOV     DPTR,#long_press_flag
+00353B E0                MOVX    A,@DPTR
+00353C 7036              JNZ     ?C0158?SYS
   815: 	{
   816: 		if (repeat_send_24g == 1)
-003532 904DDE            MOV     DPTR,#repeat_send_24g
-003535 E0                MOVX    A,@DPTR
-003536 6401              XRL     A,#01H
-003538 702E              JNZ     ?C0158?SYS
+00353E 904DDE            MOV     DPTR,#repeat_send_24g
+003541 E0                MOVX    A,@DPTR
+003542 6401              XRL     A,#01H
+003544 702E              JNZ     ?C0158?SYS
   817: 		{
   818: 			g_variable.sleepTimer = 0;	
-00353A 904CE3            MOV     DPTR,#g_variable+024H
-00353D F0                MOVX    @DPTR,A
-00353E A3                INC     DPTR
-00353F F0                MOVX    @DPTR,A
+003546 904CE3            MOV     DPTR,#g_variable+024H
+003549 F0                MOVX    @DPTR,A
+00354A A3                INC     DPTR
+00354B F0                MOVX    @DPTR,A
   819: 			repeat_send_24g = 0;
-003540 904DDE            MOV     DPTR,#repeat_send_24g
-003543 F0                MOVX    @DPTR,A
+00354C 904DDE            MOV     DPTR,#repeat_send_24g
+00354F F0                MOVX    @DPTR,A
   820: 
   821: 			 if (multikey[0] != 0)
-003544 904E4E            MOV     DPTR,#multikey
-003547 E0                MOVX    A,@DPTR
-003548 600D              JZ      ?C0160?SYS
+003550 904E4E            MOV     DPTR,#multikey
+003553 E0                MOVX    A,@DPTR
+003554 600D              JZ      ?C0160?SYS
   822: 			{
   823: 				IPC_TxHidData(multikey, 3);
-00354A 7B01              MOV     R3,#01H
-00354C 7A4E              MOV     R2,#HIGH multikey
-00354E 794E              MOV     R1,#LOW multikey
-003550 7D03              MOV     R5,#03H
-003552 120C6F            LCALL   _IPC_TxHidData
+003556 7B01              MOV     R3,#01H
+003558 7A4E              MOV     R2,#HIGH multikey
+00355A 794E              MOV     R1,#LOW multikey
+00355C 7D03              MOV     R5,#03H
+00355E 120C6F            LCALL   _IPC_TxHidData
   824: 			}
-003555 8011              SJMP    ?C0158?SYS
-003557         ?C0160?SYS:
+003561 8011              SJMP    ?C0158?SYS
+003563         ?C0160?SYS:
   825: 			else if (hidBuff[0] != 0)
-003557 904800            MOV     DPTR,#hidBuff
-00355A E0                MOVX    A,@DPTR
-00355B 600B              JZ      ?C0158?SYS
+003563 904800            MOV     DPTR,#hidBuff
+003566 E0                MOVX    A,@DPTR
+003567 600B              JZ      ?C0158?SYS
   826: 			{
   827: 
   828: 				IPC_TxHidData(hidBuff,9);
-00355D 7B01              MOV     R3,#01H
-00355F 7A48              MOV     R2,#HIGH hidBuff
-003561 7900              MOV     R1,#LOW hidBuff
-003563 7D09              MOV     R5,#09H
-003565 120C6F            LCALL   _IPC_TxHidData
+003569 7B01              MOV     R3,#01H
+00356B 7A48              MOV     R2,#HIGH hidBuff
+00356D 7900              MOV     R1,#LOW hidBuff
+00356F 7D09              MOV     R5,#09H
+003571 120C6F            LCALL   _IPC_TxHidData
   829: 			}
   830: 		}
   831: 	}
-003568         ?C0158?SYS:
+003574         ?C0158?SYS:
   832: 
   833: 
   834: // ble delay send secutiry request
   835: 	if(ble_send_secutiry_request_timer)
-003568 904DD4            MOV     DPTR,#ble_send_secutiry_request_timer
-00356B E0                MOVX    A,@DPTR
-00356C 6011              JZ      ?C0163?SYS
+003574 904DD4            MOV     DPTR,#ble_send_secutiry_request_timer
+003577 E0                MOVX    A,@DPTR
+003578 6011              JZ      ?C0163?SYS
   836: 	{
   837: 		ble_send_secutiry_request_timer--;
-00356E E0                MOVX    A,@DPTR
-00356F 14                DEC     A
-003570 F0                MOVX    @DPTR,A
+00357A E0                MOVX    A,@DPTR
+00357B 14                DEC     A
+00357C F0                MOVX    @DPTR,A
   838: 		if(!ble_send_secutiry_request_timer)
-003571 E0                MOVX    A,@DPTR
-003572 700B              JNZ     ?C0163?SYS
+00357D E0                MOVX    A,@DPTR
+00357E 700B              JNZ     ?C0163?SYS
   839: 		{
   840: 			if(!m_le_send_security_request_flag)
-003574 904D3D            MOV     DPTR,#m_le_send_security_request_flag
-003577 E0                MOVX    A,@DPTR
-003578 7005              JNZ     ?C0163?SYS
+003580 904D3D            MOV     DPTR,#m_le_send_security_request_flag
+003583 E0                MOVX    A,@DPTR
+003584 7005              JNZ     ?C0163?SYS
   841: 			{
   842: 				IPC_TxControlCmd(IPC_CMD_LE_SMP_SECURITY_REQUEST);
-00357A 7F1B              MOV     R7,#01BH
-00357C 1210A6            LCALL   _IPC_TxControlCmd
+003586 7F1B              MOV     R7,#01BH
+003588 1210A6            LCALL   _IPC_TxControlCmd
   843: 			}
   844: 		}
   845: 	}
-00357F         ?C0163?SYS:
+00358B         ?C0163?SYS:
   846: 
   847: 	if (delayChgInvTimer != 0){
-00357F 904DE7            MOV     DPTR,#delayChgInvTimer
-003582 E0                MOVX    A,@DPTR
-003583 601B              JZ      ?C0148?SYS
+00358B 904DE7            MOV     DPTR,#delayChgInvTimer
+00358E E0                MOVX    A,@DPTR
+00358F 601B              JZ      ?C0148?SYS
   848: 		delayChgInvTimer--;
-003585 E0                MOVX    A,@DPTR
-003586 14                DEC     A
-003587 F0                MOVX    @DPTR,A
+003591 E0                MOVX    A,@DPTR
+003592 14                DEC     A
+003593 F0                MOVX    @DPTR,A
   849: 		if (delayChgInvTimer == 0)
-003588 E0                MOVX    A,@DPTR
-003589 7015              JNZ     ?C0148?SYS
+003594 E0                MOVX    A,@DPTR
+003595 7015              JNZ     ?C0148?SYS
   850: 		{
   851: 			if( m_24g_led_flag)
-00358B 904D46            MOV     DPTR,#m_24g_led_flag
-00358E E0                MOVX    A,@DPTR
-00358F 6002              JZ      ?C0168?SYS
+003597 904D46            MOV     DPTR,#m_24g_led_flag
+00359A E0                MOVX    A,@DPTR
+00359B 6002              JZ      ?C0168?SYS
   852: 			{
   853: 				m_24g_led_flag = 0;
-003591 E4                CLR     A
-003592 F0                MOVX    @DPTR,A
+00359D E4                CLR     A
+00359E F0                MOVX    @DPTR,A
   854: 			}	
-003593         ?C0168?SYS:
+00359F         ?C0168?SYS:
   855: 	
   856: 			if (g_variable.ble_currentState == CHANGE_TO_BLE_CONNECTED)
-003593 904CC7            MOV     DPTR,#g_variable+08H
-003596 E0                MOVX    A,@DPTR
-003597 B40406            CJNE    A,#04H,?C0148?SYS
+00359F 904CC7            MOV     DPTR,#g_variable+08H
+0035A2 E0                MOVX    A,@DPTR
+0035A3 B40406            CJNE    A,#04H,?C0148?SYS
   857: 			{
   858: 				kscurrmult = 0x0c;
-00359A 904213            MOV     DPTR,#kscurrmult
-00359D 740C              MOV     A,#0CH
-00359F F0                MOVX    @DPTR,A
+0035A6 904213            MOV     DPTR,#kscurrmult
+0035A9 740C              MOV     A,#0CH
+0035AB F0                MOVX    @DPTR,A
   859: 			}
   860: 		}
   861: 	}
   862: }
-0035A0         ?C0148?SYS:
-0035A0 22                RET     
+0035AC         ?C0148?SYS:
+0035AC 22                RET     
 ----- FUNCTION kb_cb_Timer100ms (END) -------
 
 
@@ -10465,42 +10474,42 @@
    99: {
   100: 	System_clear_mem();
   101: 	YC_adc_init();
-0035A1 120D96            LCALL   System_clear_mem
+0035AD 120D96            LCALL   System_clear_mem
   102: 	g_variable.release_data =1;
-0035A4 B1D6              ACALL   YC_adc_init
+0035B0 B1E2              ACALL   YC_adc_init
   103: 	g_variable.powerOn_timer = KB_POWERON_LED_ON_TIMER;
-0035A6 904CEB            MOV     DPTR,#g_variable+02CH
-0035A9 7401              MOV     A,#01H
-0035AB F0                MOVX    @DPTR,A
+0035B2 904CEB            MOV     DPTR,#g_variable+02CH
+0035B5 7401              MOV     A,#01H
+0035B7 F0                MOVX    @DPTR,A
   104: //	g_variable.powerOn_first_flag = 1;
-0035AC 904CE5            MOV     DPTR,#g_variable+026H
-0035AF 740A              MOV     A,#0AH
-0035B1 F0                MOVX    @DPTR,A
+0035B8 904CE5            MOV     DPTR,#g_variable+026H
+0035BB 740A              MOV     A,#0AH
+0035BD F0                MOVX    @DPTR,A
   105: 	g_variable.recon_count = 0;
-0035B2 E4                CLR     A
-0035B3 904CF0            MOV     DPTR,#g_variable+031H
-0035B6 F0                MOVX    @DPTR,A
+0035BE E4                CLR     A
+0035BF 904CF0            MOV     DPTR,#g_variable+031H
+0035C2 F0                MOVX    @DPTR,A
   106: 	g_variable.test_buff = 0xff;
-0035B7 904D09            MOV     DPTR,#g_variable+04AH
-0035BA 74FF              MOV     A,#0FFH
-0035BC F0                MOVX    @DPTR,A
+0035C3 904D09            MOV     DPTR,#g_variable+04AH
+0035C6 74FF              MOV     A,#0FFH
+0035C8 F0                MOVX    @DPTR,A
   107: 	le_lap_temp[0] = m_le_lap[3];
-0035BD 9044FC            MOV     DPTR,#m_le_lap+03H
-0035C0 E0                MOVX    A,@DPTR
-0035C1 904DD0            MOV     DPTR,#le_lap_temp
-0035C4 F0                MOVX    @DPTR,A
+0035C9 9044FC            MOV     DPTR,#m_le_lap+03H
+0035CC E0                MOVX    A,@DPTR
+0035CD 904DD0            MOV     DPTR,#le_lap_temp
+0035D0 F0                MOVX    @DPTR,A
   108: 	le_lap_temp[1] = m_le_lap[4];
-0035C5 9044FD            MOV     DPTR,#m_le_lap+04H
-0035C8 E0                MOVX    A,@DPTR
-0035C9 904DD1            MOV     DPTR,#le_lap_temp+01H
-0035CC F0                MOVX    @DPTR,A
+0035D1 9044FD            MOV     DPTR,#m_le_lap+04H
+0035D4 E0                MOVX    A,@DPTR
+0035D5 904DD1            MOV     DPTR,#le_lap_temp+01H
+0035D8 F0                MOVX    @DPTR,A
   109: 	le_lap_temp[2] = m_le_lap[5];
-0035CD 9044FE            MOV     DPTR,#m_le_lap+05H
-0035D0 E0                MOVX    A,@DPTR
-0035D1 904DD2            MOV     DPTR,#le_lap_temp+02H
-0035D4 F0                MOVX    @DPTR,A
+0035D9 9044FE            MOV     DPTR,#m_le_lap+05H
+0035DC E0                MOVX    A,@DPTR
+0035DD 904DD2            MOV     DPTR,#le_lap_temp+02H
+0035E0 F0                MOVX    @DPTR,A
   110: }
-0035D5 22                RET     
+0035E1 22                RET     
 ----- FUNCTION System_Software_init (END) -------
 
 
@@ -10512,183 +10521,183 @@
     6: 	byte i;
     7: 	
     8: 	g_variable.battery_check_interval = BATTERY_CHECK_INTERVAL;
-0035D6 904CD3            MOV     DPTR,#g_variable+014H
-0035D9 7405              MOV     A,#05H
-0035DB F0                MOVX    @DPTR,A
+0035E2 904CD3            MOV     DPTR,#g_variable+014H
+0035E5 7405              MOV     A,#05H
+0035E7 F0                MOVX    @DPTR,A
     9: 	g_variable.battery_value_index = 0;
-0035DC E4                CLR     A
-0035DD A3                INC     DPTR
-0035DE F0                MOVX    @DPTR,A
+0035E8 E4                CLR     A
+0035E9 A3                INC     DPTR
+0035EA F0                MOVX    @DPTR,A
    10: 	g_variable.battery_motion_check_interval = BATTERY_MOTION_CHECK_INTERVAL;
-0035DF 904D0A            MOV     DPTR,#g_variable+04BH
-0035E2 7414              MOV     A,#014H
-0035E4 F0                MOVX    @DPTR,A
+0035EB 904D0A            MOV     DPTR,#g_variable+04BH
+0035EE 7414              MOV     A,#014H
+0035F0 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' ----
-0035E5 E4                CLR     A
-0035E6 FF                MOV     R7,A
-0035E7         ?C0001?ADC:
+0035F1 E4                CLR     A
+0035F2 FF                MOV     R7,A
+0035F3         ?C0001?ADC:
    14: 	{
    15: 		g_variable.battery_value[i] = INIT_BATTERY_VALUE;
-0035E7 EF                MOV     A,R7
-0035E8 25E0              ADD     A,ACC
-0035EA 24D6              ADD     A,#LOW g_variable+017H
-0035EC F582              MOV     DPL,A
-0035EE E4                CLR     A
-0035EF 344C              ADDC    A,#HIGH g_variable+017H
-0035F1 F583              MOV     DPH,A
-0035F3 7454              MOV     A,#054H
-0035F5 F0                MOVX    @DPTR,A
-0035F6 A3                INC     DPTR
-0035F7 F0                MOVX    @DPTR,A
+0035F3 EF                MOV     A,R7
+0035F4 25E0              ADD     A,ACC
+0035F6 24D6              ADD     A,#LOW g_variable+017H
+0035F8 F582              MOV     DPL,A
+0035FA E4                CLR     A
+0035FB 344C              ADDC    A,#HIGH g_variable+017H
+0035FD F583              MOV     DPH,A
+0035FF 7454              MOV     A,#054H
+003601 F0                MOVX    @DPTR,A
+003602 A3                INC     DPTR
+003603 F0                MOVX    @DPTR,A
    16: 	}
-0035F8 0F                INC     R7
-0035F9 EF                MOV     A,R7
-0035FA B404EA            CJNE    A,#04H,?C0001?ADC
-0035FD         ?C0002?ADC:
+003604 0F                INC     R7
+003605 EF                MOV     A,R7
+003606 B404EA            CJNE    A,#04H,?C0001?ADC
+003609         ?C0002?ADC:
    17: 	g_variable.battery_level_full = (m_adc3vValue - m_adc0vBase)*LOW_BATTER_COEFFICIENT_4V2+m_adc0vBase;
-0035FD 904C91            MOV     DPTR,#m_adc0vBase
-003600 E0                MOVX    A,@DPTR
-003601 FE                MOV     R6,A
-003602 A3                INC     DPTR
-003603 E0                MOVX    A,@DPTR
-003604 FF                MOV     R7,A
-003605 C3                CLR     C
-003606 904C94            MOV     DPTR,#m_adc3vValue+01H
-003609 E0                MOVX    A,@DPTR
-00360A 9F                SUBB    A,R7
-00360B FD                MOV     R5,A
-00360C 904C93            MOV     DPTR,#m_adc3vValue
+003609 904C91            MOV     DPTR,#m_adc0vBase
+00360C E0                MOVX    A,@DPTR
+00360D FE                MOV     R6,A
+00360E A3                INC     DPTR
 00360F E0                MOVX    A,@DPTR
-003610 9E                SUBB    A,R6
-003611 FC                MOV     R4,A
-003612 E4                CLR     A
-003613 120206            LCALL   ?C?FCASTI
-003616 7B85              MOV     R3,#085H
-003618 7AEB              MOV     R2,#0EBH
-00361A 79B1              MOV     R1,#0B1H
-00361C 783F              MOV     R0,#03FH
-00361E 1200FB            LCALL   ?C?FPMUL
-003621 C004              PUSH    AR4
-003623 C005              PUSH    AR5
-003625 C006              PUSH    AR6
-003627 C007              PUSH    AR7
-003629 904C91            MOV     DPTR,#m_adc0vBase
-00362C E0                MOVX    A,@DPTR
-00362D FC                MOV     R4,A
-00362E A3                INC     DPTR
-00362F E0                MOVX    A,@DPTR
-003630 FD                MOV     R5,A
-003631 E4                CLR     A
-003632 120206            LCALL   ?C?FCASTI
-003635 D003              POP     AR3
-003637 D002              POP     AR2
-003639 D001              POP     AR1
-00363B D000              POP     AR0
-00363D 12000A            LCALL   ?C?FPADD
-003640 12023F            LCALL   ?C?CASTF
-003643 904CFA            MOV     DPTR,#g_variable+03BH
-003646 EE                MOV     A,R6
-003647 F0                MOVX    @DPTR,A
-003648 A3                INC     DPTR
-003649 EF                MOV     A,R7
-00364A F0                MOVX    @DPTR,A
+003610 FF                MOV     R7,A
+003611 C3                CLR     C
+003612 904C94            MOV     DPTR,#m_adc3vValue+01H
+003615 E0                MOVX    A,@DPTR
+003616 9F                SUBB    A,R7
+003617 FD                MOV     R5,A
+003618 904C93            MOV     DPTR,#m_adc3vValue
+00361B E0                MOVX    A,@DPTR
+00361C 9E                SUBB    A,R6
+00361D FC                MOV     R4,A
+00361E E4                CLR     A
+00361F 120206            LCALL   ?C?FCASTI
+003622 7B85              MOV     R3,#085H
+003624 7AEB              MOV     R2,#0EBH
+003626 79B1              MOV     R1,#0B1H
+003628 783F              MOV     R0,#03FH
+00362A 1200FB            LCALL   ?C?FPMUL
+00362D C004              PUSH    AR4
+00362F C005              PUSH    AR5
+003631 C006              PUSH    AR6
+003633 C007              PUSH    AR7
+003635 904C91            MOV     DPTR,#m_adc0vBase
+003638 E0                MOVX    A,@DPTR
+003639 FC                MOV     R4,A
+00363A A3                INC     DPTR
+00363B E0                MOVX    A,@DPTR
+00363C FD                MOV     R5,A
+00363D E4                CLR     A
+00363E 120206            LCALL   ?C?FCASTI
+003641 D003              POP     AR3
+003643 D002              POP     AR2
+003645 D001              POP     AR1
+003647 D000              POP     AR0
+003649 12000A            LCALL   ?C?FPADD
+00364C 12023F            LCALL   ?C?CASTF
+00364F 904CFA            MOV     DPTR,#g_variable+03BH
+003652 EE                MOV     A,R6
+003653 F0                MOVX    @DPTR,A
+003654 A3                INC     DPTR
+003655 EF                MOV     A,R7
+003656 F0                MOVX    @DPTR,A
    18: 	g_variable.battery_level_low = (m_adc3vValue - m_adc0vBase)*LOW_BATTER_COEFFICIENT_3V2+m_adc0vBase;
-00364B 904C91            MOV     DPTR,#m_adc0vBase
-00364E E0                MOVX    A,@DPTR
-00364F FE                MOV     R6,A
-003650 A3                INC     DPTR
-003651 E0                MOVX    A,@DPTR
-003652 FF                MOV     R7,A
-003653 C3                CLR     C
-003654 904C94            MOV     DPTR,#m_adc3vValue+01H
-003657 E0                MOVX    A,@DPTR
-003658 9F                SUBB    A,R7
-003659 FD                MOV     R5,A
-00365A 904C93            MOV     DPTR,#m_adc3vValue
+003657 904C91            MOV     DPTR,#m_adc0vBase
+00365A E0                MOVX    A,@DPTR
+00365B FE                MOV     R6,A
+00365C A3                INC     DPTR
 00365D E0                MOVX    A,@DPTR
-00365E 9E                SUBB    A,R6
-00365F FC                MOV     R4,A
-003660 E4                CLR     A
-003661 120206            LCALL   ?C?FCASTI
-003664 7BC3              MOV     R3,#0C3H
-003666 7AF5              MOV     R2,#0F5H
-003668 7988              MOV     R1,#088H
-00366A 783F              MOV     R0,#03FH
-00366C 1200FB            LCALL   ?C?FPMUL
-00366F C004              PUSH    AR4
-003671 C005              PUSH    AR5
-003673 C006              PUSH    AR6
-003675 C007              PUSH    AR7
-003677 904C91            MOV     DPTR,#m_adc0vBase
-00367A E0                MOVX    A,@DPTR
-00367B FC                MOV     R4,A
-00367C A3                INC     DPTR
-00367D E0                MOVX    A,@DPTR
-00367E FD                MOV     R5,A
-00367F E4                CLR     A
-003680 120206            LCALL   ?C?FCASTI
-003683 D003              POP     AR3
-003685 D002              POP     AR2
-003687 D001              POP     AR1
-003689 D000              POP     AR0
-00368B 12000A            LCALL   ?C?FPADD
-00368E 12023F            LCALL   ?C?CASTF
-003691 904CDE            MOV     DPTR,#g_variable+01FH
-003694 EE                MOV     A,R6
-003695 F0                MOVX    @DPTR,A
-003696 A3                INC     DPTR
-003697 EF                MOV     A,R7
-003698 F0                MOVX    @DPTR,A
+00365E FF                MOV     R7,A
+00365F C3                CLR     C
+003660 904C94            MOV     DPTR,#m_adc3vValue+01H
+003663 E0                MOVX    A,@DPTR
+003664 9F                SUBB    A,R7
+003665 FD                MOV     R5,A
+003666 904C93            MOV     DPTR,#m_adc3vValue
+003669 E0                MOVX    A,@DPTR
+00366A 9E                SUBB    A,R6
+00366B FC                MOV     R4,A
+00366C E4                CLR     A
+00366D 120206            LCALL   ?C?FCASTI
+003670 7BC3              MOV     R3,#0C3H
+003672 7AF5              MOV     R2,#0F5H
+003674 7988              MOV     R1,#088H
+003676 783F              MOV     R0,#03FH
+003678 1200FB            LCALL   ?C?FPMUL
+00367B C004              PUSH    AR4
+00367D C005              PUSH    AR5
+00367F C006              PUSH    AR6
+003681 C007              PUSH    AR7
+003683 904C91            MOV     DPTR,#m_adc0vBase
+003686 E0                MOVX    A,@DPTR
+003687 FC                MOV     R4,A
+003688 A3                INC     DPTR
+003689 E0                MOVX    A,@DPTR
+00368A FD                MOV     R5,A
+00368B E4                CLR     A
+00368C 120206            LCALL   ?C?FCASTI
+00368F D003              POP     AR3
+003691 D002              POP     AR2
+003693 D001              POP     AR1
+003695 D000              POP     AR0
+003697 12000A            LCALL   ?C?FPADD
+00369A 12023F            LCALL   ?C?CASTF
+00369D 904CDE            MOV     DPTR,#g_variable+01FH
+0036A0 EE                MOV     A,R6
+0036A1 F0                MOVX    @DPTR,A
+0036A2 A3                INC     DPTR
+0036A3 EF                MOV     A,R7
+0036A4 F0                MOVX    @DPTR,A
    19: 	g_variable.battery_level_shutdown = (m_adc3vValue - m_adc0vBase)*LOW_BATTER_COEFFICIENT_3V0+m_adc0vBase;
-003699 904C91            MOV     DPTR,#m_adc0vBase
-00369C E0                MOVX    A,@DPTR
-00369D FE                MOV     R6,A
-00369E A3                INC     DPTR
-00369F E0                MOVX    A,@DPTR
-0036A0 FF                MOV     R7,A
-0036A1 C3                CLR     C
-0036A2 904C94            MOV     DPTR,#m_adc3vValue+01H
-0036A5 E0                MOVX    A,@DPTR
-0036A6 9F                SUBB    A,R7
-0036A7 FD                MOV     R5,A
-0036A8 904C93            MOV     DPTR,#m_adc3vValue
+0036A5 904C91            MOV     DPTR,#m_adc0vBase
+0036A8 E0                MOVX    A,@DPTR
+0036A9 FE                MOV     R6,A
+0036AA A3                INC     DPTR
 0036AB E0                MOVX    A,@DPTR
-0036AC 9E                SUBB    A,R6
-0036AD FC                MOV     R4,A
-0036AE E4                CLR     A
-0036AF 120206            LCALL   ?C?FCASTI
-0036B2 7BAE              MOV     R3,#0AEH
-0036B4 7A47              MOV     R2,#047H
-0036B6 7981              MOV     R1,#081H
-0036B8 783F              MOV     R0,#03FH
-0036BA 1200FB            LCALL   ?C?FPMUL
-0036BD C004              PUSH    AR4
-0036BF C005              PUSH    AR5
-0036C1 C006              PUSH    AR6
-0036C3 C007              PUSH    AR7
-0036C5 904C91            MOV     DPTR,#m_adc0vBase
-0036C8 E0                MOVX    A,@DPTR
-0036C9 FC                MOV     R4,A
-0036CA A3                INC     DPTR
-0036CB E0                MOVX    A,@DPTR
-0036CC FD                MOV     R5,A
-0036CD E4                CLR     A
-0036CE 120206            LCALL   ?C?FCASTI
-0036D1 D003              POP     AR3
-0036D3 D002              POP     AR2
-0036D5 D001              POP     AR1
-0036D7 D000              POP     AR0
-0036D9 12000A            LCALL   ?C?FPADD
-0036DC 12023F            LCALL   ?C?CASTF
-0036DF 904CE0            MOV     DPTR,#g_variable+021H
-0036E2 EE                MOV     A,R6
-0036E3 F0                MOVX    @DPTR,A
-0036E4 A3                INC     DPTR
-0036E5 EF                MOV     A,R7
-0036E6 F0                MOVX    @DPTR,A
+0036AC FF                MOV     R7,A
+0036AD C3                CLR     C
+0036AE 904C94            MOV     DPTR,#m_adc3vValue+01H
+0036B1 E0                MOVX    A,@DPTR
+0036B2 9F                SUBB    A,R7
+0036B3 FD                MOV     R5,A
+0036B4 904C93            MOV     DPTR,#m_adc3vValue
+0036B7 E0                MOVX    A,@DPTR
+0036B8 9E                SUBB    A,R6
+0036B9 FC                MOV     R4,A
+0036BA E4                CLR     A
+0036BB 120206            LCALL   ?C?FCASTI
+0036BE 7BAE              MOV     R3,#0AEH
+0036C0 7A47              MOV     R2,#047H
+0036C2 7981              MOV     R1,#081H
+0036C4 783F              MOV     R0,#03FH
+0036C6 1200FB            LCALL   ?C?FPMUL
+0036C9 C004              PUSH    AR4
+0036CB C005              PUSH    AR5
+0036CD C006              PUSH    AR6
+0036CF C007              PUSH    AR7
+0036D1 904C91            MOV     DPTR,#m_adc0vBase
+0036D4 E0                MOVX    A,@DPTR
+0036D5 FC                MOV     R4,A
+0036D6 A3                INC     DPTR
+0036D7 E0                MOVX    A,@DPTR
+0036D8 FD                MOV     R5,A
+0036D9 E4                CLR     A
+0036DA 120206            LCALL   ?C?FCASTI
+0036DD D003              POP     AR3
+0036DF D002              POP     AR2
+0036E1 D001              POP     AR1
+0036E3 D000              POP     AR0
+0036E5 12000A            LCALL   ?C?FPADD
+0036E8 12023F            LCALL   ?C?CASTF
+0036EB 904CE0            MOV     DPTR,#g_variable+021H
+0036EE EE                MOV     A,R6
+0036EF F0                MOVX    @DPTR,A
+0036F0 A3                INC     DPTR
+0036F1 EF                MOV     A,R7
+0036F2 F0                MOVX    @DPTR,A
    20: #endif
    21: #ifdef ADC_TYPE_VINLPM
    22: 		for (i = 0; i < BAT_ARRAY_LEN; i++)
@@ -10711,7 +10720,7 @@
    39: #endif	
    40: #endif
    41: }
-0036E7 22                RET     
+0036F3 22                RET     
 ----- FUNCTION YC_adc_init (END) -------
 
 
@@ -10721,13 +10730,13 @@
   113: {
   114: 	m_reset_reg = 1;
   115: 	while(1);
-0036E8 908010            MOV     DPTR,#m_reset_reg
-0036EB 7401              MOV     A,#01H
-0036ED F0                MOVX    @DPTR,A
-0036EE         ?C0011?SYS:
+0036F4 908010            MOV     DPTR,#m_reset_reg
+0036F7 7401              MOV     A,#01H
+0036F9 F0                MOVX    @DPTR,A
+0036FA         ?C0011?SYS:
   116: }
-0036EE 80FE              SJMP    ?C0011?SYS
-0036F0 22                RET     
+0036FA 80FE              SJMP    ?C0011?SYS
+0036FC 22                RET     
 ----- FUNCTION System_Hardware_reset (END) -------
 
 
@@ -10737,7 +10746,7 @@
   143: {
   144: 	System_Hardware_reset();
   145: }
-0036F1 80F5              SJMP    System_Hardware_reset
+0036FD 80F5              SJMP    System_Hardware_reset
 ----- FUNCTION System_Reset_Connect (END) -------
 
 
@@ -10745,300 +10754,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
-0036F3 904EFE            MOV     DPTR,#len
-0036F6 ED                MOV     A,R5
-0036F7 F0                MOVX    @DPTR,A
+0036FF 904EFE            MOV     DPTR,#len
+003702 ED                MOV     A,R5
+003703 F0                MOVX    @DPTR,A
 ;---- Variable 'p' assigned to Register 'R1/R2/R3' ----
   154: 	byte temp = p[1];
-0036F8 900001            MOV     DPTR,#01H
-0036FB 1203CF            LCALL   ?C?CLDOPTR
-0036FE 904EFF            MOV     DPTR,#temp
-003701 F0                MOVX    @DPTR,A
+003704 900001            MOV     DPTR,#01H
+003707 1203CF            LCALL   ?C?CLDOPTR
+00370A 904EFF            MOV     DPTR,#temp
+00370D F0                MOVX    @DPTR,A
   155: 
   156: 	if (len<2) {
   157: 		return;
   158: 	}
   159: }
-003702 22                RET     
+00370E 22                RET     
 ----- FUNCTION _kb_cb_Hid (END) -------
 
 
 ----- FUNCTION _bufsize (BEGIN) -----
-003703 904EDF            MOV     DPTR,#rptr
-003706 EE                MOV     A,R6
-003707 F0                MOVX    @DPTR,A
-003708 A3                INC     DPTR
-003709 EF                MOV     A,R7
-00370A F0                MOVX    @DPTR,A
-00370B 904EE1            MOV     DPTR,#wptr
-00370E EC                MOV     A,R4
-00370F F0                MOVX    @DPTR,A
-003710 A3                INC     DPTR
-003711 ED                MOV     A,R5
-003712 F0                MOVX    @DPTR,A
+00370F 904EDF            MOV     DPTR,#rptr
+003712 EE                MOV     A,R6
+003713 F0                MOVX    @DPTR,A
+003714 A3                INC     DPTR
+003715 EF                MOV     A,R7
+003716 F0                MOVX    @DPTR,A
+003717 904EE1            MOV     DPTR,#wptr
+00371A EC                MOV     A,R4
+00371B F0                MOVX    @DPTR,A
+00371C A3                INC     DPTR
+00371D ED                MOV     A,R5
+00371E F0                MOVX    @DPTR,A
 ;---- Variable 'buflen' assigned to Register 'R3' ----
-003713 904EE1            MOV     DPTR,#wptr
-003716 E0                MOVX    A,@DPTR
-003717 FE                MOV     R6,A
-003718 A3                INC     DPTR
-003719 E0                MOVX    A,@DPTR
-00371A FF                MOV     R7,A
-00371B D3                SETB    C
-00371C 904EE0            MOV     DPTR,#rptr+01H
-00371F E0                MOVX    A,@DPTR
-003720 9F                SUBB    A,R7
-003721 904EDF            MOV     DPTR,#rptr
-003724 E0                MOVX    A,@DPTR
-003725 9E                SUBB    A,R6
-003726 4016              JC      ?C0001?IPC
-003728 904EE1            MOV     DPTR,#wptr
+00371F 904EE1            MOV     DPTR,#wptr
+003722 E0                MOVX    A,@DPTR
+003723 FE                MOV     R6,A
+003724 A3                INC     DPTR
+003725 E0                MOVX    A,@DPTR
+003726 FF                MOV     R7,A
+003727 D3                SETB    C
+003728 904EE0            MOV     DPTR,#rptr+01H
 00372B E0                MOVX    A,@DPTR
-00372C FE                MOV     R6,A
-00372D A3                INC     DPTR
-00372E E0                MOVX    A,@DPTR
-00372F FF                MOV     R7,A
-003730 904EE0            MOV     DPTR,#rptr+01H
-003733 E0                MOVX    A,@DPTR
-003734 9F                SUBB    A,R7
-003735 FF                MOV     R7,A
-003736 904EDF            MOV     DPTR,#rptr
-003739 E0                MOVX    A,@DPTR
-00373A 9E                SUBB    A,R6
-00373B FE                MOV     R6,A
-00373C 801E              SJMP    ?C0002?IPC
-00373E         ?C0001?IPC:
-00373E 904EDF            MOV     DPTR,#rptr
-003741 E0                MOVX    A,@DPTR
-003742 FE                MOV     R6,A
-003743 A3                INC     DPTR
-003744 E0                MOVX    A,@DPTR
-003745 FF                MOV     R7,A
-003746 C3                CLR     C
-003747 904EE2            MOV     DPTR,#wptr+01H
-00374A E0                MOVX    A,@DPTR
-00374B 9F                SUBB    A,R7
-00374C FF                MOV     R7,A
-00374D 904EE1            MOV     DPTR,#wptr
+00372C 9F                SUBB    A,R7
+00372D 904EDF            MOV     DPTR,#rptr
+003730 E0                MOVX    A,@DPTR
+003731 9E                SUBB    A,R6
+003732 4016              JC      ?C0001?IPC
+003734 904EE1            MOV     DPTR,#wptr
+003737 E0                MOVX    A,@DPTR
+003738 FE                MOV     R6,A
+003739 A3                INC     DPTR
+00373A E0                MOVX    A,@DPTR
+00373B FF                MOV     R7,A
+00373C 904EE0            MOV     DPTR,#rptr+01H
+00373F E0                MOVX    A,@DPTR
+003740 9F                SUBB    A,R7
+003741 FF                MOV     R7,A
+003742 904EDF            MOV     DPTR,#rptr
+003745 E0                MOVX    A,@DPTR
+003746 9E                SUBB    A,R6
+003747 FE                MOV     R6,A
+003748 801E              SJMP    ?C0002?IPC
+00374A         ?C0001?IPC:
+00374A 904EDF            MOV     DPTR,#rptr
+00374D E0                MOVX    A,@DPTR
+00374E FE                MOV     R6,A
+00374F A3                INC     DPTR
 003750 E0                MOVX    A,@DPTR
-003751 9E                SUBB    A,R6
-003752 FE                MOV     R6,A
-003753 AD03              MOV     R5,AR3
-003755 C3                CLR     C
-003756 EB                MOV     A,R3
+003751 FF                MOV     R7,A
+003752 C3                CLR     C
+003753 904EE2            MOV     DPTR,#wptr+01H
+003756 E0                MOVX    A,@DPTR
 003757 9F                SUBB    A,R7
 003758 FF                MOV     R7,A
-003759 E4                CLR     A
-00375A 9E                SUBB    A,R6
-00375B FE                MOV     R6,A
-00375C         ?C0002?IPC:
-00375C 22                RET     
+003759 904EE1            MOV     DPTR,#wptr
+00375C E0                MOVX    A,@DPTR
+00375D 9E                SUBB    A,R6
+00375E FE                MOV     R6,A
+00375F AD03              MOV     R5,AR3
+003761 C3                CLR     C
+003762 EB                MOV     A,R3
+003763 9F                SUBB    A,R7
+003764 FF                MOV     R7,A
+003765 E4                CLR     A
+003766 9E                SUBB    A,R6
+003767 FE                MOV     R6,A
+003768         ?C0002?IPC:
+003768 22                RET     
 ----- FUNCTION _bufsize (END) -------
 
 
 ----- FUNCTION _ipcRx (BEGIN) -----
-00375D 904F00            MOV     DPTR,#dest
-003760 EE                MOV     A,R6
-003761 F0                MOVX    @DPTR,A
-003762 A3                INC     DPTR
-003763 EF                MOV     A,R7
-003764 F0                MOVX    @DPTR,A
+003769 904F00            MOV     DPTR,#dest
+00376C EE                MOV     A,R6
+00376D F0                MOVX    @DPTR,A
+00376E A3                INC     DPTR
+00376F EF                MOV     A,R7
+003770 F0                MOVX    @DPTR,A
 ;---- Variable 'len' assigned to Register 'R1' ----
-003765 A905              MOV     R1,AR5
-003767 904B9E            MOV     DPTR,#ipcRxReadPtr
-00376A E0                MOVX    A,@DPTR
-00376B FE                MOV     R6,A
-00376C A3                INC     DPTR
-00376D E0                MOVX    A,@DPTR
-00376E FF                MOV     R7,A
+003771 A905              MOV     R1,AR5
+003773 904B9E            MOV     DPTR,#ipcRxReadPtr
+003776 E0                MOVX    A,@DPTR
+003777 FE                MOV     R6,A
+003778 A3                INC     DPTR
+003779 E0                MOVX    A,@DPTR
+00377A FF                MOV     R7,A
 ;---- Variable 'src' assigned to Register 'R6/R7' ----
-00376F         ?C0004?IPC:
-00376F AD01              MOV     R5,AR1
-003771 19                DEC     R1
-003772 ED                MOV     A,R5
-003773 602F              JZ      ?C0005?IPC
-003775 0F                INC     R7
-003776 EF                MOV     A,R7
-003777 AC06              MOV     R4,AR6
-003779 7001              JNZ     ?C0046?IPC
-00377B 0E                INC     R6
-00377C         ?C0046?IPC:
-00377C 14                DEC     A
-00377D F582              MOV     DPL,A
-00377F 8C83              MOV     DPH,R4
-003781 E0                MOVX    A,@DPTR
-003782 FD                MOV     R5,A
-003783 904F00            MOV     DPTR,#dest
-003786 E4                CLR     A
-003787 75F001            MOV     B,#01H
-00378A 120424            LCALL   ?C?ILDIX
-00378D 85F082            MOV     DPL,B
-003790 F583              MOV     DPH,A
-003792 ED                MOV     A,R5
-003793 F0                MOVX    @DPTR,A
-003794 AD07              MOV     R5,AR7
-003796 AC06              MOV     R4,AR6
-003798 BC4BD4            CJNE    R4,#04BH,?C0004?IPC
-00379B BD9AD1            CJNE    R5,#09AH,?C0004?IPC
-00379E 7E4B              MOV     R6,#04BH
-0037A0 7F36              MOV     R7,#036H
-0037A2 80CB              SJMP    ?C0004?IPC
-0037A4         ?C0005?IPC:
-0037A4 904B9E            MOV     DPTR,#ipcRxReadPtr
-0037A7 EE                MOV     A,R6
-0037A8 F0                MOVX    @DPTR,A
-0037A9 A3                INC     DPTR
-0037AA EF                MOV     A,R7
-0037AB F0                MOVX    @DPTR,A
-0037AC 22                RET     
+00377B         ?C0004?IPC:
+00377B AD01              MOV     R5,AR1
+00377D 19                DEC     R1
+00377E ED                MOV     A,R5
+00377F 602F              JZ      ?C0005?IPC
+003781 0F                INC     R7
+003782 EF                MOV     A,R7
+003783 AC06              MOV     R4,AR6
+003785 7001              JNZ     ?C0046?IPC
+003787 0E                INC     R6
+003788         ?C0046?IPC:
+003788 14                DEC     A
+003789 F582              MOV     DPL,A
+00378B 8C83              MOV     DPH,R4
+00378D E0                MOVX    A,@DPTR
+00378E FD                MOV     R5,A
+00378F 904F00            MOV     DPTR,#dest
+003792 E4                CLR     A
+003793 75F001            MOV     B,#01H
+003796 120424            LCALL   ?C?ILDIX
+003799 85F082            MOV     DPL,B
+00379C F583              MOV     DPH,A
+00379E ED                MOV     A,R5
+00379F F0                MOVX    @DPTR,A
+0037A0 AD07              MOV     R5,AR7
+0037A2 AC06              MOV     R4,AR6
+0037A4 BC4BD4            CJNE    R4,#04BH,?C0004?IPC
+0037A7 BD9AD1            CJNE    R5,#09AH,?C0004?IPC
+0037AA 7E4B              MOV     R6,#04BH
+0037AC 7F36              MOV     R7,#036H
+0037AE 80CB              SJMP    ?C0004?IPC
+0037B0         ?C0005?IPC:
+0037B0 904B9E            MOV     DPTR,#ipcRxReadPtr
+0037B3 EE                MOV     A,R6
+0037B4 F0                MOVX    @DPTR,A
+0037B5 A3                INC     DPTR
+0037B6 EF                MOV     A,R7
+0037B7 F0                MOVX    @DPTR,A
+0037B8 22                RET     
 ----- FUNCTION _ipcRx (END) -------
 
 
 ----- FUNCTION _IPC_TxBREDRHidData (BEGIN) -----
 ;---- Variable 'len' assigned to Register 'R5' ----
 ;---- Variable 'dt' assigned to Register 'R1/R2/R3' ----
-0037AD 900BE7            MOV     DPTR,#ipcSendBuff
-0037B0 7403              MOV     A,#03H
-0037B2 F0                MOVX    @DPTR,A
-0037B3 ED                MOV     A,R5
-0037B4 6003              JZ      ?C0017?IPC
-0037B6         ?C0016?IPC:
-0037B6 120FED            LCALL   _IPC_TxData
-0037B9         ?C0017?IPC:
-0037B9 22                RET     
+0037B9 900BE7            MOV     DPTR,#ipcSendBuff
+0037BC 7403              MOV     A,#03H
+0037BE F0                MOVX    @DPTR,A
+0037BF ED                MOV     A,R5
+0037C0 6003              JZ      ?C0017?IPC
+0037C2         ?C0016?IPC:
+0037C2 120FED            LCALL   _IPC_TxData
+0037C5         ?C0017?IPC:
+0037C5 22                RET     
 ----- FUNCTION _IPC_TxBREDRHidData (END) -------
 
 
 ----- FUNCTION _IPC_TxSppData (BEGIN) -----
 ;---- Variable 'len' assigned to Register 'R5' ----
 ;---- Variable 'dt' assigned to Register 'R1/R2/R3' ----
-0037BA 900BE7            MOV     DPTR,#ipcSendBuff
-0037BD 7404              MOV     A,#04H
-0037BF F0                MOVX    @DPTR,A
-0037C0 020FED            LJMP    _IPC_TxData
+0037C6 900BE7            MOV     DPTR,#ipcSendBuff
+0037C9 7404              MOV     A,#04H
+0037CB F0                MOVX    @DPTR,A
+0037CC 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' ----
-0037C3 900BE7            MOV     DPTR,#ipcSendBuff
-0037C6 7405              MOV     A,#05H
-0037C8 F0                MOVX    @DPTR,A
-0037C9 020FED            LJMP    _IPC_TxData
+0037CF 900BE7            MOV     DPTR,#ipcSendBuff
+0037D2 7405              MOV     A,#05H
+0037D4 F0                MOVX    @DPTR,A
+0037D5 020FED            LJMP    _IPC_TxData
 ----- FUNCTION _IPC_TxBleData (END) -------
 
 
 ----- FUNCTION IPC_GetBBDIsconnectReason (BEGIN) -----
-0037CC 900446            MOV     DPTR,#bbDisReason
-0037CF E0                MOVX    A,@DPTR
-0037D0 FF                MOV     R7,A
-0037D1 22                RET     
+0037D8 900446            MOV     DPTR,#bbDisReason
+0037DB E0                MOVX    A,@DPTR
+0037DC FF                MOV     R7,A
+0037DD 22                RET     
 ----- FUNCTION IPC_GetBBDIsconnectReason (END) -------
 
 
 ----- FUNCTION YC_Ice_break (BEGIN) -----
-0037D2 908280            MOV     DPTR,#08280H
-0037D5 7401              MOV     A,#01H
-0037D7 F0                MOVX    @DPTR,A
-0037D8 22                RET     
+0037DE 908280            MOV     DPTR,#08280H
+0037E1 7401              MOV     A,#01H
+0037E3 F0                MOVX    @DPTR,A
+0037E4 22                RET     
 ----- FUNCTION YC_Ice_break (END) -------
 
 
 ----- FUNCTION _GPIO_ClearWakeup (BEGIN) -----
 ;---- Variable 'gpio_num' assigned to Register 'R7' ----
-0037D9 EF                MOV     A,R7
-0037DA F4                CPL     A
-0037DB 603A              JZ      ?C0023?GPIO
-0037DD         ?C0022?GPIO:
-0037DD EF                MOV     A,R7
-0037DE 5407              ANL     A,#07H
-0037E0 FE                MOV     R6,A
+0037E5 EF                MOV     A,R7
+0037E6 F4                CPL     A
+0037E7 603A              JZ      ?C0023?GPIO
+0037E9         ?C0022?GPIO:
+0037E9 EF                MOV     A,R7
+0037EA 5407              ANL     A,#07H
+0037EC FE                MOV     R6,A
 ;---- Variable 'queue' assigned to Register 'R6' ----
-0037E1 EF                MOV     A,R7
-0037E2 13                RRC     A
-0037E3 13                RRC     A
-0037E4 13                RRC     A
-0037E5 5403              ANL     A,#03H
-0037E7 FF                MOV     R7,A
+0037ED EF                MOV     A,R7
+0037EE 13                RRC     A
+0037EF 13                RRC     A
+0037F0 13                RRC     A
+0037F1 5403              ANL     A,#03H
+0037F3 FF                MOV     R7,A
 ;---- Variable 'group' assigned to Register 'R7' ----
-0037E8 24A3              ADD     A,#LOW YC_GPIOWakeupL
-0037EA F582              MOV     DPL,A
-0037EC E4                CLR     A
-0037ED 3400              ADDC    A,#HIGH YC_GPIOWakeupL
-0037EF F583              MOV     DPH,A
-0037F1 C083              PUSH    DPH
-0037F3 C082              PUSH    DPL
-0037F5 E0                MOVX    A,@DPTR
-0037F6 FD                MOV     R5,A
-0037F7 7401              MOV     A,#01H
-0037F9 A806              MOV     R0,AR6
-0037FB 08                INC     R0
-0037FC 8002              SJMP    ?C0043?GPIO
-0037FE         ?C0042?GPIO:
-0037FE C3                CLR     C
-0037FF 33                RLC     A
-003800         ?C0043?GPIO:
-003800 D8FC              DJNZ    R0,?C0042?GPIO
-003802 F4                CPL     A
-003803 FC                MOV     R4,A
-003804 5D                ANL     A,R5
-003805 D082              POP     DPL
-003807 D083              POP     DPH
-003809 F0                MOVX    @DPTR,A
-00380A 74A7              MOV     A,#LOW YC_GPIOWakeupH
-00380C 2F                ADD     A,R7
-00380D F582              MOV     DPL,A
-00380F E4                CLR     A
-003810 3400              ADDC    A,#HIGH YC_GPIOWakeupH
-003812 F583              MOV     DPH,A
-003814 E0                MOVX    A,@DPTR
-003815 5C                ANL     A,R4
-003816 F0                MOVX    @DPTR,A
-003817         ?C0023?GPIO:
-003817 22                RET     
+0037F4 24A3              ADD     A,#LOW YC_GPIOWakeupL
+0037F6 F582              MOV     DPL,A
+0037F8 E4                CLR     A
+0037F9 3400              ADDC    A,#HIGH YC_GPIOWakeupL
+0037FB F583              MOV     DPH,A
+0037FD C083              PUSH    DPH
+0037FF C082              PUSH    DPL
+003801 E0                MOVX    A,@DPTR
+003802 FD                MOV     R5,A
+003803 7401              MOV     A,#01H
+003805 A806              MOV     R0,AR6
+003807 08                INC     R0
+003808 8002              SJMP    ?C0043?GPIO
+00380A         ?C0042?GPIO:
+00380A C3                CLR     C
+00380B 33                RLC     A
+00380C         ?C0043?GPIO:
+00380C D8FC              DJNZ    R0,?C0042?GPIO
+00380E F4                CPL     A
+00380F FC                MOV     R4,A
+003810 5D                ANL     A,R5
+003811 D082              POP     DPL
+003813 D083              POP     DPH
+003815 F0                MOVX    @DPTR,A
+003816 74A7              MOV     A,#LOW YC_GPIOWakeupH
+003818 2F                ADD     A,R7
+003819 F582              MOV     DPL,A
+00381B E4                CLR     A
+00381C 3400              ADDC    A,#HIGH YC_GPIOWakeupH
+00381E F583              MOV     DPH,A
+003820 E0                MOVX    A,@DPTR
+003821 5C                ANL     A,R4
+003822 F0                MOVX    @DPTR,A
+003823         ?C0023?GPIO:
+003823 22                RET     
 ----- FUNCTION _GPIO_ClearWakeup (END) -------
 
 
 ----- FUNCTION GPIO_fillpd (BEGIN) -----
 ;---- Variable 'i' assigned to Register 'R7' ----
-003818 E4                CLR     A
-003819 FF                MOV     R7,A
-00381A         ?C0026?GPIO:
-00381A EF                MOV     A,R7
-00381B FD                MOV     R5,A
-00381C 7C00              MOV     R4,#00H
-00381E 2478              ADD     A,#078H
-003820 FB                MOV     R3,A
-003821 EC                MOV     A,R4
-003822 3480              ADDC    A,#080H
-003824 8B82              MOV     DPL,R3
-003826 F583              MOV     DPH,A
-003828 E0                MOVX    A,@DPTR
-003829 FE                MOV     R6,A
-00382A ED                MOV     A,R5
-00382B 2470              ADD     A,#070H
-00382D FD                MOV     R5,A
-00382E EC                MOV     A,R4
-00382F 3480              ADDC    A,#080H
-003831 8D82              MOV     DPL,R5
-003833 F583              MOV     DPH,A
-003835 E0                MOVX    A,@DPTR
-003836 4E                ORL     A,R6
-003837 F4                CPL     A
-003838 FE                MOV     R6,A
-003839 EF                MOV     A,R7
-00383A 247C              ADD     A,#07CH
-00383C FD                MOV     R5,A
-00383D EC                MOV     A,R4
-00383E 3480              ADDC    A,#080H
-003840 8D82              MOV     DPL,R5
-003842 F583              MOV     DPH,A
-003844 EE                MOV     A,R6
-003845 F0                MOVX    @DPTR,A
-003846 0F                INC     R7
-003847 EF                MOV     A,R7
-003848 B404CF            CJNE    A,#04H,?C0026?GPIO
-00384B 22                RET     
+003824 E4                CLR     A
+003825 FF                MOV     R7,A
+003826         ?C0026?GPIO:
+003826 EF                MOV     A,R7
+003827 FD                MOV     R5,A
+003828 7C00              MOV     R4,#00H
+00382A 2478              ADD     A,#078H
+00382C FB                MOV     R3,A
+00382D EC                MOV     A,R4
+00382E 3480              ADDC    A,#080H
+003830 8B82              MOV     DPL,R3
+003832 F583              MOV     DPH,A
+003834 E0                MOVX    A,@DPTR
+003835 FE                MOV     R6,A
+003836 ED                MOV     A,R5
+003837 2470              ADD     A,#070H
+003839 FD                MOV     R5,A
+00383A EC                MOV     A,R4
+00383B 3480              ADDC    A,#080H
+00383D 8D82              MOV     DPL,R5
+00383F F583              MOV     DPH,A
+003841 E0                MOVX    A,@DPTR
+003842 4E                ORL     A,R6
+003843 F4                CPL     A
+003844 FE                MOV     R6,A
+003845 EF                MOV     A,R7
+003846 247C              ADD     A,#07CH
+003848 FD                MOV     R5,A
+003849 EC                MOV     A,R4
+00384A 3480              ADDC    A,#080H
+00384C 8D82              MOV     DPL,R5
+00384E F583              MOV     DPH,A
+003850 EE                MOV     A,R6
+003851 F0                MOVX    @DPTR,A
+003852 0F                INC     R7
+003853 EF                MOV     A,R7
+003854 B404CF            CJNE    A,#04H,?C0026?GPIO
+003857 22                RET     
 ----- FUNCTION GPIO_fillpd (END) -------
 
 
Index: c51/output/FW.HTM
===================================================================
--- /branch/mouse_project/LeXiang/Keyboard/KD8017C_UK_2mode_3ch_LI/c51/output/FW.HTM	(revision 5395)
+++ /branch/mouse_project/LeXiang/Keyboard/KD8017C_UK_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:27</b><p>
+Creation time: <b>03/06/2023  16:15:21</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:0036E8H - C:0036F0H)</h2>
+<h2><a name="S101"></a>?PR?SYSTEM_HARDWARE_RESET?SYS (C:0036F4H - C:0036FCH)</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:0036F1H - C:0036F2H)</h2>
+<h2><a name="S104"></a>?PR?SYSTEM_RESET_CONNECT?SYS (C:0036FDH - C:0036FEH)</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:0036F3H - C:003702H)</h2>
+<h2><a name="S105"></a>?PR?_KB_CB_HID?SYS (C:0036FFH - C:00370EH)</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:0034B3H - C:0035A0H)</h2>
+<h2><a name="S116"></a>?PR?KB_CB_TIMER100MS?SYS (C:0034BFH - C:0035ACH)</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:0037ADH - C:0037B9H)</h2>
+<h2><a name="S140"></a>?PR?_IPC_TXBREDRHIDDATA?IPC (C:0037B9H - C:0037C5H)</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:0037BAH - C:0037C2H)</h2>
+<h2><a name="S142"></a>?PR?_IPC_TXSPPDATA?IPC (C:0037C6H - C:0037CEH)</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:003387H)</h2>
+<h2><a name="S70"></a>?PR?_KEY_FN_FUNCTION?KB_PROCESS (C:00307EH - C:003393H)</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:003388H - C:0033A4H)</h2>
+<h2><a name="S77"></a>?PR?KSRAWINITIALIZE?KEYSCAN (C:003394H - C:0033B0H)</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:003490H - C:0034B2H)</h2>
+<h2><a name="S93"></a>?PR?LED_DEVICE_POWEROFF?LED (C:00349CH - C:0034BEH)</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:00347DH - C:00348FH)</h2>
+<h2><a name="S97"></a>?PR?SYSTEM_IIC_CLK_SETUP?SYS (C:003489H - C:00349BH)</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:0033C3H - C:0033E8H)</h2>
+<h2><a name="S99"></a>?PR?SYSTEM_HARDWARE_INIT?SYS (C:0033CFH - C:0033F4H)</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:0035A1H - C:0035D5H)</h2>
+<h2><a name="S100"></a>?PR?SYSTEM_SOFTWARE_INIT?SYS (C:0035ADH - C:0035E1H)</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:0035D6H - C:0036E7H)</h2>
+<h2><a name="S124"></a>?PR?YC_ADC_INIT?ADC (C:0035E2H - C:0036F3H)</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:003703H - C:00375CH)</h2>
+<h2><a name="S130"></a>?PR?_BUFSIZE?IPC (C:00370FH - C:003768H)</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:00375DH - C:0037ACH)</h2>
+<h2><a name="S132"></a>?PR?_IPCRX?IPC (C:003769H - C:0037B8H)</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:0037C3H - C:0037CBH)</h2>
+<h2><a name="S143"></a>?PR?_IPC_TXBLEDATA?IPC (C:0037CFH - C:0037D7H)</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:00341CH - C:00347CH)</h2>
+<h2><a name="S180"></a>?PR?_GPIOSETBIT?GPIO (C:003428H - C:003488H)</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:0033E9H - C:0033F9H)</h2>
+<h2><a name="S188"></a>?PR?_GPIO_SETPU?GPIO (C:0033F5H - C:003405H)</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:0033FAH - C:00340AH)</h2>
+<h2><a name="S190"></a>?PR?_GPIO_SETPD?GPIO (C:003406H - C:003416H)</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:00340BH - C:00341BH)</h2>
+<h2><a name="S192"></a>?PR?_GPIO_SETOE?GPIO (C:003417H - C:003427H)</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:0033A5H - C:0033C2H)</h2>
+<h2><a name="S194"></a>?PR?_GPIO_SETINPUT?GPIO (C:0033B1H - C:0033CEH)</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:003818H - C:00384BH)</h2>
+<h2><a name="S207"></a>?PR?GPIO_FILLPD?GPIO (C:003824H - C:003857H)</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_UK_2mode_3ch_LI/c51/output/FW.MAP	(revision 5395)
+++ /branch/mouse_project/LeXiang/Keyboard/KD8017C_UK_2mode_3ch_LI/c51/output/FW.MAP	(working copy)
@@ -1,4 +1,4 @@
-LX51 LINKER/LOCATER V4.41                                                               01/05/2023  11:12:27  PAGE 1
+LX51 LINKER/LOCATER V4.41                                                               03/06/2023  16:15:21  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   003796H   CODE
+C:000000H   C:000000H   C:00FFFFH   0037A2H   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   003387H   00030AH   BYTE   UNIT     CODE           ?PR?_KEY_FN_FUNCTION?KB_PROCESS
-003388H   0033A4H   00001DH   BYTE   UNIT     CODE           ?PR?KSRAWINITIALIZE?KEYSCAN
-0033A5H   0033C2H   00001EH   BYTE   UNIT     CODE           ?PR?_GPIO_SETINPUT?GPIO
-0033C3H   0033E8H   000026H   BYTE   UNIT     CODE           ?PR?SYSTEM_HARDWARE_INIT?SYS
-0033E9H   0033F9H   000011H   BYTE   UNIT     CODE           ?PR?_GPIO_SETPU?GPIO
-0033FAH   00340AH   000011H   BYTE   UNIT     CODE           ?PR?_GPIO_SETPD?GPIO
-00340BH   00341BH   000011H   BYTE   UNIT     CODE           ?PR?_GPIO_SETOE?GPIO
-00341CH   00347CH   000061H   BYTE   UNIT     CODE           ?PR?_GPIOSETBIT?GPIO
-00347DH   00348FH   000013H   BYTE   UNIT     CODE           ?PR?SYSTEM_IIC_CLK_SETUP?SYS
-003490H   0034B2H   000023H   BYTE   UNIT     CODE           ?PR?LED_DEVICE_POWEROFF?LED
-0034B3H   0035A0H   0000EEH   BYTE   UNIT     CODE           ?PR?KB_CB_TIMER100MS?SYS
-0035A1H   0035D5H   000035H   BYTE   UNIT     CODE           ?PR?SYSTEM_SOFTWARE_INIT?SYS
-0035D6H   0036E7H   000112H   BYTE   UNIT     CODE           ?PR?YC_ADC_INIT?ADC
-0036E8H   0036F0H   000009H   BYTE   UNIT     CODE           ?PR?SYSTEM_HARDWARE_RESET?SYS
-0036F1H   0036F2H   000002H   BYTE   UNIT     CODE           ?PR?SYSTEM_RESET_CONNECT?SYS
-0036F3H   003702H   000010H   BYTE   UNIT     CODE           ?PR?_KB_CB_HID?SYS
-003703H   00375CH   00005AH   BYTE   UNIT     CODE           ?PR?_BUFSIZE?IPC
-00375DH   0037ACH   000050H   BYTE   UNIT     CODE           ?PR?_IPCRX?IPC
-0037ADH   0037B9H   00000DH   BYTE   UNIT     CODE           ?PR?_IPC_TXBREDRHIDDATA?IPC
-0037BAH   0037C2H   000009H   BYTE   UNIT     CODE           ?PR?_IPC_TXSPPDATA?IPC
-0037C3H   0037CBH   000009H   BYTE   UNIT     CODE           ?PR?_IPC_TXBLEDATA?IPC
-0037CCH   0037D1H   000006H   BYTE   UNIT     CODE           ?PR?IPC_GETBBDISCONNECTREASON?IPC
-0037D2H   0037D8H   000007H   BYTE   UNIT     CODE           ?PR?YC_ICE_BREAK?UTILITIES
-0037D9H   003817H   00003FH   BYTE   UNIT     CODE           ?PR?_GPIO_CLEARWAKEUP?GPIO
-003818H   00384BH   000034H   BYTE   UNIT     CODE           ?PR?GPIO_FILLPD?GPIO
+00307EH   003393H   000316H   BYTE   UNIT     CODE           ?PR?_KEY_FN_FUNCTION?KB_PROCESS
+003394H   0033B0H   00001DH   BYTE   UNIT     CODE           ?PR?KSRAWINITIALIZE?KEYSCAN
+0033B1H   0033CEH   00001EH   BYTE   UNIT     CODE           ?PR?_GPIO_SETINPUT?GPIO
+0033CFH   0033F4H   000026H   BYTE   UNIT     CODE           ?PR?SYSTEM_HARDWARE_INIT?SYS
+0033F5H   003405H   000011H   BYTE   UNIT     CODE           ?PR?_GPIO_SETPU?GPIO
+003406H   003416H   000011H   BYTE   UNIT     CODE           ?PR?_GPIO_SETPD?GPIO
+003417H   003427H   000011H   BYTE   UNIT     CODE           ?PR?_GPIO_SETOE?GPIO
+003428H   003488H   000061H   BYTE   UNIT     CODE           ?PR?_GPIOSETBIT?GPIO
+003489H   00349BH   000013H   BYTE   UNIT     CODE           ?PR?SYSTEM_IIC_CLK_SETUP?SYS
+00349CH   0034BEH   000023H   BYTE   UNIT     CODE           ?PR?LED_DEVICE_POWEROFF?LED
+0034BFH   0035ACH   0000EEH   BYTE   UNIT     CODE           ?PR?KB_CB_TIMER100MS?SYS
+0035ADH   0035E1H   000035H   BYTE   UNIT     CODE           ?PR?SYSTEM_SOFTWARE_INIT?SYS
+0035E2H   0036F3H   000112H   BYTE   UNIT     CODE           ?PR?YC_ADC_INIT?ADC
+0036F4H   0036FCH   000009H   BYTE   UNIT     CODE           ?PR?SYSTEM_HARDWARE_RESET?SYS
+0036FDH   0036FEH   000002H   BYTE   UNIT     CODE           ?PR?SYSTEM_RESET_CONNECT?SYS
+0036FFH   00370EH   000010H   BYTE   UNIT     CODE           ?PR?_KB_CB_HID?SYS
+00370FH   003768H   00005AH   BYTE   UNIT     CODE           ?PR?_BUFSIZE?IPC
+003769H   0037B8H   000050H   BYTE   UNIT     CODE           ?PR?_IPCRX?IPC
+0037B9H   0037C5H   00000DH   BYTE   UNIT     CODE           ?PR?_IPC_TXBREDRHIDDATA?IPC
+0037C6H   0037CEH   000009H   BYTE   UNIT     CODE           ?PR?_IPC_TXSPPDATA?IPC
+0037CFH   0037D7H   000009H   BYTE   UNIT     CODE           ?PR?_IPC_TXBLEDATA?IPC
+0037D8H   0037DDH   000006H   BYTE   UNIT     CODE           ?PR?IPC_GETBBDISCONNECTREASON?IPC
+0037DEH   0037E4H   000007H   BYTE   UNIT     CODE           ?PR?YC_ICE_BREAK?UTILITIES
+0037E5H   003823H   00003FH   BYTE   UNIT     CODE           ?PR?_GPIO_CLEARWAKEUP?GPIO
+003824H   003857H   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
-      010037D9H   CODE     ---       _GPIO_ClearWakeup
+      010037E5H   CODE     ---       _GPIO_ClearWakeup
       010018F8H   CODE     ---       _GPIO_FlipOutBit
       01001B80H   CODE     ---       _GPIO_GetInputStatus
-      010033A5H   CODE     ---       _GPIO_SetInput
-      0100340BH   CODE     ---       _GPIO_Setoe
+      010033B1H   CODE     ---       _GPIO_SetInput
+      01003417H   CODE     ---       _GPIO_Setoe
       01000F74H   CODE     ---       _GPIO_Setout
       01000FCAH   CODE     ---       _GPIO_SetOutput
-      010033FAH   CODE     ---       _GPIO_SetPd
-      010033E9H   CODE     ---       _GPIO_SetPu
+      01003406H   CODE     ---       _GPIO_SetPd
+      010033F5H   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
-      010037C3H   CODE     ---       _IPC_TxBleData
-      010037ADH   CODE     ---       _IPC_TxBREDRHidData
+      010037CFH   CODE     ---       _IPC_TxBleData
+      010037B9H   CODE     ---       _IPC_TxBREDRHidData
       010010A6H   CODE     ---       _IPC_TxControlCmd
       01000FEDH   CODE     ---       _IPC_TxData
       01000C6FH   CODE     ---       _IPC_TxHidData
-      010037BAH   CODE     ---       _IPC_TxSppData
+      010037C6H   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
-      01003818H   CODE     ---       GPIO_fillpd
+      01003824H   CODE     ---       GPIO_fillpd
       02004800H   XDATA    ---       hidBuff
       02004DE2H   XDATA    BYTE      iOS_rec_pinCode
       01001FC4H   CODE     ---       IPC_AbandonLpm
       01001DA2H   CODE     ---       IPC_DealSingleStep
-      010037CCH   CODE     ---       IPC_GetBBDIsconnectReason
+      010037D8H   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
-      01003490H   CODE     ---       LED_device_poweroff
+      0100349CH   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
-      010036F1H   CODE     ---       System_Reset_Connect
-      010035A1H   CODE     ---       System_Software_init
+      010036FDH   CODE     ---       System_Reset_Connect
+      010035ADH   CODE     ---       System_Software_init
       010024CEH   CODE     ---       YC_adc_check
       0100235EH   CODE     ---       YC_adc_check_timer500ms
-      010035D6H   CODE     ---       YC_adc_init
+      010035E2H   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
-      010037D2H   CODE     ---       YC_Ice_break
+      010037DEH   CODE     ---       YC_Ice_break
       0100176AH   CODE     ---       YC_pairing_timerout_500ms
       0100206CH   CODE     ---       YC_start_reconnect
       010019C8H   CODE     ---       YC_System_Main
@@ -1399,303 +1399,305 @@
       010030BCH   LINE      ---      ---       #629
       010030C4H   LINE      ---      ---       #630
       010030C8H   LINE      ---      ---       #631
-      010030CEH   LINE      ---      ---       #632
-      010030CEH   LINE      ---      ---       #634
-      010030D5H   LINE      ---      ---       #635
-      010030D5H   LINE      ---      ---       #636
-      010030D9H   LINE      ---      ---       #637
+      010030D0H   LINE      ---      ---       #632
+      010030D4H   LINE      ---      ---       #633
+      010030DAH   LINE      ---      ---       #634
+      010030DAH   LINE      ---      ---       #636
+      010030E1H   LINE      ---      ---       #637
       010030E1H   LINE      ---      ---       #638
       010030E5H   LINE      ---      ---       #639
-      010030EBH   LINE      ---      ---       #640
-      010030EBH   LINE      ---      ---       #643
-      010030F1H   LINE      ---      ---       #644
-      010030F1H   LINE      ---      ---       #645
-      010030F5H   LINE      ---      ---       #646
-      010030F5H   LINE      ---      ---       #647
-      010030FDH   LINE      ---      ---       #648
-      01003102H   LINE      ---      ---       #649
-      01003102H   LINE      ---      ---       #650
-      01003102H   LINE      ---      ---       #652
-      0100310CH   LINE      ---      ---       #653
-      0100310CH   LINE      ---      ---       #654
-      01003120H   LINE      ---      ---       #655
-      01003120H   LINE      ---      ---       #656
-      01003124H   LINE      ---      ---       #657
-      01003124H   LINE      ---      ---       #658
-      0100312AH   LINE      ---      ---       #659
-      0100312CH   LINE      ---      ---       #660
-      01003130H   LINE      ---      ---       #661
-      01003130H   LINE      ---      ---       #662
-      01003135H   LINE      ---      ---       #664
-      01003137H   LINE      ---      ---       #665
-      0100313BH   LINE      ---      ---       #666
-      0100313BH   LINE      ---      ---       #667
-      01003141H   LINE      ---      ---       #669
-      01003143H   LINE      ---      ---       #670
-      01003147H   LINE      ---      ---       #671
-      01003147H   LINE      ---      ---       #672
-      0100314DH   LINE      ---      ---       #674
-      0100314DH   LINE      ---      ---       #675
-      01003152H   LINE      ---      ---       #676
-      0100315CH   LINE      ---      ---       #677
-      0100315CH   LINE      ---      ---       #678
-      01003162H   LINE      ---      ---       #679
-      01003164H   LINE      ---      ---       #680
-      01003172H   LINE      ---      ---       #681
-      01003172H   LINE      ---      ---       #682
-      0100318AH   LINE      ---      ---       #683
-      01003190H   LINE      ---      ---       #684
-      01003190H   LINE      ---      ---       #685
-      01003192H   LINE      ---      ---       #686
-      01003197H   LINE      ---      ---       #687
-      01003197H   LINE      ---      ---       #688
-      0100319BH   LINE      ---      ---       #689
-      0100319BH   LINE      ---      ---       #690
-      010031A1H   LINE      ---      ---       #691
-      010031A1H   LINE      ---      ---       #692
-      010031A3H   LINE      ---      ---       #693
-      010031A5H   LINE      ---      ---       #695
-      010031ABH   LINE      ---      ---       #697
-      010031B5H   LINE      ---      ---       #698
-      010031B5H   LINE      ---      ---       #699
-      010031BBH   LINE      ---      ---       #700
-      010031BDH   LINE      ---      ---       #701
-      010031C9H   LINE      ---      ---       #702
+      010030EDH   LINE      ---      ---       #640
+      010030F1H   LINE      ---      ---       #641
+      010030F7H   LINE      ---      ---       #642
+      010030F7H   LINE      ---      ---       #645
+      010030FDH   LINE      ---      ---       #646
+      010030FDH   LINE      ---      ---       #647
+      01003101H   LINE      ---      ---       #648
+      01003101H   LINE      ---      ---       #649
+      01003109H   LINE      ---      ---       #650
+      0100310EH   LINE      ---      ---       #651
+      0100310EH   LINE      ---      ---       #652
+      0100310EH   LINE      ---      ---       #654
+      01003118H   LINE      ---      ---       #655
+      01003118H   LINE      ---      ---       #656
+      0100312CH   LINE      ---      ---       #657
+      0100312CH   LINE      ---      ---       #658
+      01003130H   LINE      ---      ---       #659
+      01003130H   LINE      ---      ---       #660
+      01003136H   LINE      ---      ---       #661
+      01003138H   LINE      ---      ---       #662
+      0100313CH   LINE      ---      ---       #663
+      0100313CH   LINE      ---      ---       #664
+      01003141H   LINE      ---      ---       #666
+      01003143H   LINE      ---      ---       #667
+      01003147H   LINE      ---      ---       #668
+      01003147H   LINE      ---      ---       #669
+      0100314DH   LINE      ---      ---       #671
+      0100314FH   LINE      ---      ---       #672
+      01003153H   LINE      ---      ---       #673
+      01003153H   LINE      ---      ---       #674
+      01003159H   LINE      ---      ---       #676
+      01003159H   LINE      ---      ---       #677
+      0100315EH   LINE      ---      ---       #678
+      01003168H   LINE      ---      ---       #679
+      01003168H   LINE      ---      ---       #680
+      0100316EH   LINE      ---      ---       #681
+      01003170H   LINE      ---      ---       #682
+      0100317EH   LINE      ---      ---       #683
+      0100317EH   LINE      ---      ---       #684
+      01003196H   LINE      ---      ---       #685
+      0100319CH   LINE      ---      ---       #686
+      0100319CH   LINE      ---      ---       #687
+      0100319EH   LINE      ---      ---       #688
+      010031A3H   LINE      ---      ---       #689
+      010031A3H   LINE      ---      ---       #690
+      010031A7H   LINE      ---      ---       #691
+      010031A7H   LINE      ---      ---       #692
+      010031ADH   LINE      ---      ---       #693
+      010031ADH   LINE      ---      ---       #694
+      010031AFH   LINE      ---      ---       #695
+      010031B1H   LINE      ---      ---       #697
+      010031B7H   LINE      ---      ---       #699
+      010031C1H   LINE      ---      ---       #700
+      010031C1H   LINE      ---      ---       #701
+      010031C7H   LINE      ---      ---       #702
       010031C9H   LINE      ---      ---       #703
-      010031E1H   LINE      ---      ---       #704
-      010031E7H   LINE      ---      ---       #705
-      010031E7H   LINE      ---      ---       #706
-      010031E7H   LINE      ---      ---       #707
-      010031ECH   LINE      ---      ---       #708
-      010031ECH   LINE      ---      ---       #709
-      010031ECH   LINE      ---      ---       #710
-      01003214H   LINE      ---      ---       #711
-      01003214H   LINE      ---      ---       #712
-      01003250H   LINE      ---      ---       #713
-      01003250H   LINE      ---      ---       #714
-      01003250H   LINE      ---      ---       #715
-      01003256H   LINE      ---      ---       #716
-      01003258H   LINE      ---      ---       #717
-      01003258H   LINE      ---      ---       #718
-      0100325EH   LINE      ---      ---       #719
-      01003260H   LINE      ---      ---       #720
-      01003260H   LINE      ---      ---       #721
-      01003268H   LINE      ---      ---       #722
-      01003268H   LINE      ---      ---       #723
-      01003270H   LINE      ---      ---       #724
+      010031D5H   LINE      ---      ---       #704
+      010031D5H   LINE      ---      ---       #705
+      010031EDH   LINE      ---      ---       #706
+      010031F3H   LINE      ---      ---       #707
+      010031F3H   LINE      ---      ---       #708
+      010031F3H   LINE      ---      ---       #709
+      010031F8H   LINE      ---      ---       #710
+      010031F8H   LINE      ---      ---       #711
+      010031F8H   LINE      ---      ---       #712
+      01003220H   LINE      ---      ---       #713
+      01003220H   LINE      ---      ---       #714
+      0100325CH   LINE      ---      ---       #715
+      0100325CH   LINE      ---      ---       #716
+      0100325CH   LINE      ---      ---       #717
+      01003262H   LINE      ---      ---       #718
+      01003264H   LINE      ---      ---       #719
+      01003264H   LINE      ---      ---       #720
+      0100326AH   LINE      ---      ---       #721
+      0100326CH   LINE      ---      ---       #722
+      0100326CH   LINE      ---      ---       #723
+      01003274H   LINE      ---      ---       #724
       01003274H   LINE      ---      ---       #725
-      01003274H   LINE      ---      ---       #726
-      0100327AH   LINE      ---      ---       #727
-      0100327AH   LINE      ---      ---       #728
-      0100327FH   LINE      ---      ---       #729
-      01003281H   LINE      ---      ---       #730
-      0100328EH   LINE      ---      ---       #731
-      0100328EH   LINE      ---      ---       #732
-      01003296H   LINE      ---      ---       #733
+      0100327CH   LINE      ---      ---       #726
+      01003280H   LINE      ---      ---       #727
+      01003280H   LINE      ---      ---       #728
+      01003286H   LINE      ---      ---       #729
+      01003286H   LINE      ---      ---       #730
+      0100328BH   LINE      ---      ---       #731
+      0100328DH   LINE      ---      ---       #732
+      0100329AH   LINE      ---      ---       #733
       0100329AH   LINE      ---      ---       #734
-      0100329AH   LINE      ---      ---       #735
-      010032A0H   LINE      ---      ---       #736
-      010032A0H   LINE      ---      ---       #737
-      010032A5H   LINE      ---      ---       #738
-      010032A5H   LINE      ---      ---       #740
-      010032A7H   LINE      ---      ---       #741
-      010032A7H   LINE      ---      ---       #742
-      010032AEH   LINE      ---      ---       #743
-      010032AEH   LINE      ---      ---       #744
-      010032B6H   LINE      ---      ---       #745
+      010032A2H   LINE      ---      ---       #735
+      010032A6H   LINE      ---      ---       #736
+      010032A6H   LINE      ---      ---       #737
+      010032ACH   LINE      ---      ---       #738
+      010032ACH   LINE      ---      ---       #739
+      010032B1H   LINE      ---      ---       #740
+      010032B1H   LINE      ---      ---       #742
+      010032B3H   LINE      ---      ---       #743
+      010032B3H   LINE      ---      ---       #744
+      010032BAH   LINE      ---      ---       #745
       010032BAH   LINE      ---      ---       #746
-      010032BAH   LINE      ---      ---       #747
-      010032C0H   LINE      ---      ---       #748
-      010032C0H   LINE      ---      ---       #749
-      010032C5H   LINE      ---      ---       #750
-      010032C5H   LINE      ---      ---       #751
-      010032CBH   LINE      ---      ---       #752
-      010032CDH   LINE      ---      ---       #753
-      010032CDH   LINE      ---      ---       #754
-      010032DAH   LINE      ---      ---       #755
-      010032E4H   LINE      ---      ---       #756
-      010032EBH   LINE      ---      ---       #757
-      010032F5H   LINE      ---      ---       #759
-      010032FDH   LINE      ---      ---       #761
-      01003301H   LINE      ---      ---       #762
-      01003301H   LINE      ---      ---       #763
-      01003307H   LINE      ---      ---       #764
-      01003307H   LINE      ---      ---       #765
-      0100330CH   LINE      ---      ---       #766
-      0100330EH   LINE      ---      ---       #767
-      0100330EH   LINE      ---      ---       #768
-      01003315H   LINE      ---      ---       #769
-      01003315H   LINE      ---      ---       #770
-      0100331DH   LINE      ---      ---       #771
+      010032C2H   LINE      ---      ---       #747
+      010032C6H   LINE      ---      ---       #748
+      010032C6H   LINE      ---      ---       #749
+      010032CCH   LINE      ---      ---       #750
+      010032CCH   LINE      ---      ---       #751
+      010032D1H   LINE      ---      ---       #752
+      010032D1H   LINE      ---      ---       #753
+      010032D7H   LINE      ---      ---       #754
+      010032D9H   LINE      ---      ---       #755
+      010032D9H   LINE      ---      ---       #756
+      010032E6H   LINE      ---      ---       #757
+      010032F0H   LINE      ---      ---       #758
+      010032F7H   LINE      ---      ---       #759
+      01003301H   LINE      ---      ---       #761
+      01003309H   LINE      ---      ---       #763
+      0100330DH   LINE      ---      ---       #764
+      0100330DH   LINE      ---      ---       #765
+      01003313H   LINE      ---      ---       #766
+      01003313H   LINE      ---      ---       #767
+      01003318H   LINE      ---      ---       #768
+      0100331AH   LINE      ---      ---       #769
+      0100331AH   LINE      ---      ---       #770
+      01003321H   LINE      ---      ---       #771
       01003321H   LINE      ---      ---       #772
-      01003321H   LINE      ---      ---       #773
-      01003327H   LINE      ---      ---       #774
-      01003327H   LINE      ---      ---       #775
-      0100332CH   LINE      ---      ---       #776
-      0100332CH   LINE      ---      ---       #777
-      01003333H   LINE      ---      ---       #778
-      01003333H   LINE      ---      ---       #779
-      0100333BH   LINE      ---      ---       #780
+      01003329H   LINE      ---      ---       #773
+      0100332DH   LINE      ---      ---       #774
+      0100332DH   LINE      ---      ---       #775
+      01003333H   LINE      ---      ---       #776
+      01003333H   LINE      ---      ---       #777
+      01003338H   LINE      ---      ---       #778
+      01003338H   LINE      ---      ---       #779
+      0100333FH   LINE      ---      ---       #780
       0100333FH   LINE      ---      ---       #781
-      0100333FH   LINE      ---      ---       #782
-      01003345H   LINE      ---      ---       #783
-      01003345H   LINE      ---      ---       #784
-      0100334AH   LINE      ---      ---       #785
-      0100334CH   LINE      ---      ---       #787
-      01003352H   LINE      ---      ---       #788
-      01003354H   LINE      ---      ---       #789
-      01003354H   LINE      ---      ---       #790
-      0100335AH   LINE      ---      ---       #791
-      0100335CH   LINE      ---      ---       #792
-      0100335CH   LINE      ---      ---       #793
-      01003362H   LINE      ---      ---       #794
-      01003364H   LINE      ---      ---       #795
-      01003364H   LINE      ---      ---       #796
-      0100336AH   LINE      ---      ---       #797
-      0100336CH   LINE      ---      ---       #798
-      0100336CH   LINE      ---      ---       #799
-      01003372H   LINE      ---      ---       #800
-      01003374H   LINE      ---      ---       #801
-      01003374H   LINE      ---      ---       #802
-      0100337AH   LINE      ---      ---       #803
-      0100337CH   LINE      ---      ---       #804
-      0100337CH   LINE      ---      ---       #805
-      01003382H   LINE      ---      ---       #806
-      01003382H   LINE      ---      ---       #807
-      01003382H   LINE      ---      ---       #808
-      01003382H   LINE      ---      ---       #809
-      01003382H   LINE      ---      ---       #810
-      01003382H   LINE      ---      ---       #812
-      01003387H   LINE      ---      ---       #813
+      01003347H   LINE      ---      ---       #782
+      0100334BH   LINE      ---      ---       #783
+      0100334BH   LINE      ---      ---       #784
+      01003351H   LINE      ---      ---       #785
+      01003351H   LINE      ---      ---       #786
+      01003356H   LINE      ---      ---       #787
+      01003358H   LINE      ---      ---       #789
+      0100335EH   LINE      ---      ---       #790
+      01003360H   LINE      ---      ---       #791
+      01003360H   LINE      ---      ---       #792
+      01003366H   LINE      ---      ---       #793
+      01003368H   LINE      ---      ---       #794
+      01003368H   LINE      ---      ---       #795
+      0100336EH   LINE      ---      ---       #796
+      01003370H   LINE      ---      ---       #797
+      01003370H   LINE      ---      ---       #798
+      01003376H   LINE      ---      ---       #799
+      01003378H   LINE      ---      ---       #800
+      01003378H   LINE      ---      ---       #801
+      0100337EH   LINE      ---      ---       #802
+      01003380H   LINE      ---      ---       #803
+      01003380H   LINE      ---      ---       #804
+      01003386H   LINE      ---      ---       #805
+      01003388H   LINE      ---      ---       #806
+      01003388H   LINE      ---      ---       #807
+      0100338EH   LINE      ---      ---       #808
+      0100338EH   LINE      ---      ---       #809
+      0100338EH   LINE      ---      ---       #810
+      0100338EH   LINE      ---      ---       #811
+      0100338EH   LINE      ---      ---       #812
+      0100338EH   LINE      ---      ---       #814
+      01003393H   LINE      ---      ---       #815
       02004F06H   SYMBOL    XDATA    VOID      temp
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
       010026B2H   BLOCK     CODE     ---       LVL=0
-      010026B2H   LINE      ---      ---       #817
-      010026BDH   LINE      ---      ---       #818
+      010026B2H   LINE      ---      ---       #819
+      010026BDH   LINE      ---      ---       #820
       010026BDH   BLOCK     CODE     NEAR LAB  LVL=1
-      010026BDH   LINE      ---      ---       #819
-      010026C0H   LINE      ---      ---       #821
-      010026CEH   LINE      ---      ---       #822
-      010026CEH   LINE      ---      ---       #823
-      010026FAH   LINE      ---      ---       #825
+      010026BDH   LINE      ---      ---       #821
+      010026C0H   LINE      ---      ---       #823
+      010026CEH   LINE      ---      ---       #824
+      010026CEH   LINE      ---      ---       #825
       010026FAH   LINE      ---      ---       #827
-      01002701H   LINE      ---      ---       #828
-      01002701H   LINE      ---      ---       #829
-      01002707H   LINE      ---      ---       #830
-      0100270AH   LINE      ---      ---       #832
-      0100270EH   LINE      ---      ---       #833
-      0100270EH   LINE      ---      ---       #834
-      01002714H   LINE      ---      ---       #835
-      01002717H   LINE      ---      ---       #836
-      01002737H   LINE      ---      ---       #837
-      01002737H   LINE      ---      ---       #838
-      0100273BH   LINE      ---      ---       #839
-      0100273EH   LINE      ---      ---       #840
-      01002742H   LINE      ---      ---       #841
-      01002742H   LINE      ---      ---       #842
-      01002748H   LINE      ---      ---       #843
-      0100274BH   LINE      ---      ---       #844
-      0100276BH   LINE      ---      ---       #845
-      0100276BH   LINE      ---      ---       #846
-      0100276FH   LINE      ---      ---       #847
-      01002772H   LINE      ---      ---       #848
-      01002776H   LINE      ---      ---       #849
-      01002776H   LINE      ---      ---       #850
-      0100277CH   LINE      ---      ---       #851
-      0100277FH   LINE      ---      ---       #852
-      0100279FH   LINE      ---      ---       #853
-      0100279FH   LINE      ---      ---       #854
-      010027A3H   LINE      ---      ---       #855
-      010027A6H   LINE      ---      ---       #856
-      010027AAH   LINE      ---      ---       #857
-      010027AAH   LINE      ---      ---       #858
-      010027B0H   LINE      ---      ---       #859
-      010027B3H   LINE      ---      ---       #860
-      010027D3H   LINE      ---      ---       #861
-      010027D3H   LINE      ---      ---       #862
-      010027D8H   LINE      ---      ---       #863
-      010027DBH   LINE      ---      ---       #864
-      010027DFH   LINE      ---      ---       #865
-      010027DFH   LINE      ---      ---       #866
-      010027E5H   LINE      ---      ---       #867
-      010027E8H   LINE      ---      ---       #868
-      01002808H   LINE      ---      ---       #869
-      01002808H   LINE      ---      ---       #870
-      0100280EH   LINE      ---      ---       #871
-      01002810H   LINE      ---      ---       #872
-      01002814H   LINE      ---      ---       #873
-      01002814H   LINE      ---      ---       #874
-      0100281BH   LINE      ---      ---       #875
-      0100281DH   LINE      ---      ---       #876
-      0100283DH   LINE      ---      ---       #877
-      0100283DH   LINE      ---      ---       #878
-      01002844H   LINE      ---      ---       #879
-      01002846H   LINE      ---      ---       #880
-      0100284AH   LINE      ---      ---       #881
-      0100284AH   LINE      ---      ---       #882
-      01002851H   LINE      ---      ---       #883
-      01002853H   LINE      ---      ---       #884
-      01002873H   LINE      ---      ---       #885
-      01002873H   LINE      ---      ---       #886
-      0100287AH   LINE      ---      ---       #887
-      0100287CH   LINE      ---      ---       #888
-      01002880H   LINE      ---      ---       #889
-      01002880H   LINE      ---      ---       #890
-      01002887H   LINE      ---      ---       #891
-      01002889H   LINE      ---      ---       #892
-      010028A9H   LINE      ---      ---       #893
-      010028A9H   LINE      ---      ---       #894
-      010028B0H   LINE      ---      ---       #895
-      010028B2H   LINE      ---      ---       #896
-      010028B6H   LINE      ---      ---       #897
-      010028B6H   LINE      ---      ---       #898
-      010028BDH   LINE      ---      ---       #899
-      010028BFH   LINE      ---      ---       #900
-      010028DFH   LINE      ---      ---       #901
-      010028DFH   LINE      ---      ---       #902
-      010028E4H   LINE      ---      ---       #903
-      010028E6H   LINE      ---      ---       #904
-      010028EAH   LINE      ---      ---       #905
-      010028EAH   LINE      ---      ---       #906
-      010028F1H   LINE      ---      ---       #907
-      010028F3H   LINE      ---      ---       #908
-      01002913H   LINE      ---      ---       #909
-      01002913H   LINE      ---      ---       #910
-      01002918H   LINE      ---      ---       #911
-      0100291AH   LINE      ---      ---       #912
-      0100291EH   LINE      ---      ---       #913
-      0100291EH   LINE      ---      ---       #914
-      01002925H   LINE      ---      ---       #915
-      01002927H   LINE      ---      ---       #916
-      01002947H   LINE      ---      ---       #917
-      01002947H   LINE      ---      ---       #918
-      0100294EH   LINE      ---      ---       #919
-      01002950H   LINE      ---      ---       #920
-      01002954H   LINE      ---      ---       #921
-      01002954H   LINE      ---      ---       #922
-      0100295BH   LINE      ---      ---       #923
-      0100295DH   LINE      ---      ---       #924
-      0100297DH   LINE      ---      ---       #925
-      0100297DH   LINE      ---      ---       #926
-      01002981H   LINE      ---      ---       #927
-      01002983H   LINE      ---      ---       #928
-      01002987H   LINE      ---      ---       #929
-      01002987H   LINE      ---      ---       #930
-      0100298BH   LINE      ---      ---       #931
-      0100298DH   LINE      ---      ---       #932
-      01002993H   LINE      ---      ---       #933
-      01002993H   LINE      ---      ---       #934
-      01002997H   LINE      ---      ---       #935
-      01002997H   LINE      ---      ---       #936
-      0100299EH   LINE      ---      ---       #937
-      0100299EH   LINE      ---      ---       #938
-      010029BEH   LINE      ---      ---       #939
-      010029C2H   LINE      ---      ---       #940
-      010029C2H   LINE      ---      ---       #941
+      010026FAH   LINE      ---      ---       #829
+      01002701H   LINE      ---      ---       #830
+      01002701H   LINE      ---      ---       #831
+      01002707H   LINE      ---      ---       #832
+      0100270AH   LINE      ---      ---       #834
+      0100270EH   LINE      ---      ---       #835
+      0100270EH   LINE      ---      ---       #836
+      01002714H   LINE      ---      ---       #837
+      01002717H   LINE      ---      ---       #838
+      01002737H   LINE      ---      ---       #839
+      01002737H   LINE      ---      ---       #840
+      0100273BH   LINE      ---      ---       #841
+      0100273EH   LINE      ---      ---       #842
+      01002742H   LINE      ---      ---       #843
+      01002742H   LINE      ---      ---       #844
+      01002748H   LINE      ---      ---       #845
+      0100274BH   LINE      ---      ---       #846
+      0100276BH   LINE      ---      ---       #847
+      0100276BH   LINE      ---      ---       #848
+      0100276FH   LINE      ---      ---       #849
+      01002772H   LINE      ---      ---       #850
+      01002776H   LINE      ---      ---       #851
+      01002776H   LINE      ---      ---       #852
+      0100277CH   LINE      ---      ---       #853
+      0100277FH   LINE      ---      ---       #854
+      0100279FH   LINE      ---      ---       #855
+      0100279FH   LINE      ---      ---       #856
+      010027A3H   LINE      ---      ---       #857
+      010027A6H   LINE      ---      ---       #858
+      010027AAH   LINE      ---      ---       #859
+      010027AAH   LINE      ---      ---       #860
+      010027B0H   LINE      ---      ---       #861
+      010027B3H   LINE      ---      ---       #862
+      010027D3H   LINE      ---      ---       #863
+      010027D3H   LINE      ---      ---       #864
+      010027D8H   LINE      ---      ---       #865
+      010027DBH   LINE      ---      ---       #866
+      010027DFH   LINE      ---      ---       #867
+      010027DFH   LINE      ---      ---       #868
+      010027E5H   LINE      ---      ---       #869
+      010027E8H   LINE      ---      ---       #870
+      01002808H   LINE      ---      ---       #871
+      01002808H   LINE      ---      ---       #872
+      0100280EH   LINE      ---      ---       #873
+      01002810H   LINE      ---      ---       #874
+      01002814H   LINE      ---      ---       #875
+      01002814H   LINE      ---      ---       #876
+      0100281BH   LINE      ---      ---       #877
+      0100281DH   LINE      ---      ---       #878
+      0100283DH   LINE      ---      ---       #879
+      0100283DH   LINE      ---      ---       #880
+      01002844H   LINE      ---      ---       #881
+      01002846H   LINE      ---      ---       #882
+      0100284AH   LINE      ---      ---       #883
+      0100284AH   LINE      ---      ---       #884
+      01002851H   LINE      ---      ---       #885
+      01002853H   LINE      ---      ---       #886
+      01002873H   LINE      ---      ---       #887
+      01002873H   LINE      ---      ---       #888
+      0100287AH   LINE      ---      ---       #889
+      0100287CH   LINE      ---      ---       #890
+      01002880H   LINE      ---      ---       #891
+      01002880H   LINE      ---      ---       #892
+      01002887H   LINE      ---      ---       #893
+      01002889H   LINE      ---      ---       #894
+      010028A9H   LINE      ---      ---       #895
+      010028A9H   LINE      ---      ---       #896
+      010028B0H   LINE      ---      ---       #897
+      010028B2H   LINE      ---      ---       #898
+      010028B6H   LINE      ---      ---       #899
+      010028B6H   LINE      ---      ---       #900
+      010028BDH   LINE      ---      ---       #901
+      010028BFH   LINE      ---      ---       #902
+      010028DFH   LINE      ---      ---       #903
+      010028DFH   LINE      ---      ---       #904
+      010028E4H   LINE      ---      ---       #905
+      010028E6H   LINE      ---      ---       #906
+      010028EAH   LINE      ---      ---       #907
+      010028EAH   LINE      ---      ---       #908
+      010028F1H   LINE      ---      ---       #909
+      010028F3H   LINE      ---      ---       #910
+      01002913H   LINE      ---      ---       #911
+      01002913H   LINE      ---      ---       #912
+      01002918H   LINE      ---      ---       #913
+      0100291AH   LINE      ---      ---       #914
+      0100291EH   LINE      ---      ---       #915
+      0100291EH   LINE      ---      ---       #916
+      01002925H   LINE      ---      ---       #917
+      01002927H   LINE      ---      ---       #918
+      01002947H   LINE      ---      ---       #919
+      01002947H   LINE      ---      ---       #920
+      0100294EH   LINE      ---      ---       #921
+      01002950H   LINE      ---      ---       #922
+      01002954H   LINE      ---      ---       #923
+      01002954H   LINE      ---      ---       #924
+      0100295BH   LINE      ---      ---       #925
+      0100295DH   LINE      ---      ---       #926
+      0100297DH   LINE      ---      ---       #927
+      0100297DH   LINE      ---      ---       #928
+      01002981H   LINE      ---      ---       #929
+      01002983H   LINE      ---      ---       #930
+      01002987H   LINE      ---      ---       #931
+      01002987H   LINE      ---      ---       #932
+      0100298BH   LINE      ---      ---       #933
+      0100298DH   LINE      ---      ---       #934
+      01002993H   LINE      ---      ---       #935
+      01002993H   LINE      ---      ---       #936
+      01002997H   LINE      ---      ---       #937
+      01002997H   LINE      ---      ---       #938
+      0100299EH   LINE      ---      ---       #939
+      0100299EH   LINE      ---      ---       #940
+      010029BEH   LINE      ---      ---       #941
       010029C2H   LINE      ---      ---       #942
-      010029CBH   LINE      ---      ---       #943
+      010029C2H   LINE      ---      ---       #943
+      010029C2H   LINE      ---      ---       #944
+      010029CBH   LINE      ---      ---       #945
       02004EDEH   SYMBOL    XDATA    VOID      i
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
@@ -1790,15 +1792,15 @@
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
-      01003388H   BLOCK     CODE     ---       LVL=0
-      01003388H   LINE      ---      ---       #189
-      01003388H   LINE      ---      ---       #190
-      01003388H   BLOCK     CODE     NEAR LAB  LVL=1
-      01003388H   LINE      ---      ---       #191
-      0100338DH   LINE      ---      ---       #193
-      01003398H   LINE      ---      ---       #194
-      0100339CH   LINE      ---      ---       #195
-      010033A4H   LINE      ---      ---       #196
+      01003394H   BLOCK     CODE     ---       LVL=0
+      01003394H   LINE      ---      ---       #189
+      01003394H   LINE      ---      ---       #190
+      01003394H   BLOCK     CODE     NEAR LAB  LVL=1
+      01003394H   LINE      ---      ---       #191
+      01003399H   LINE      ---      ---       #193
+      010033A4H   LINE      ---      ---       #194
+      010033A8H   LINE      ---      ---       #195
+      010033B0H   LINE      ---      ---       #196
       02004F07H   SYMBOL    XDATA    VOID      i
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
@@ -2030,7 +2032,7 @@
 
       ---         MODULE    ---      ---       LED
       01001914H   PUBLIC    CODE     ---       LED_handle
-      01003490H   PUBLIC    CODE     ---       LED_device_poweroff
+      0100349CH   PUBLIC    CODE     ---       LED_device_poweroff
       01000F86H   PUBLIC    CODE     ---       LED_device_poweron
       01001FD0H   PUBLIC    CODE     ---       LED_all_shutdown
 
@@ -2064,14 +2066,14 @@
       01000FC4H   LINE      ---      ---       #35
       ---         BLOCKEND  ---      ---       LVL=0
 
-      01003490H   BLOCK     CODE     ---       LVL=0
-      01003490H   LINE      ---      ---       #40
-      01003490H   LINE      ---      ---       #41
-      01003490H   LINE      ---      ---       #43
-      01003497H   LINE      ---      ---       #44
-      0100349EH   LINE      ---      ---       #45
-      010034A5H   LINE      ---      ---       #46
-      010034ACH   LINE      ---      ---       #48
+      0100349CH   BLOCK     CODE     ---       LVL=0
+      0100349CH   LINE      ---      ---       #40
+      0100349CH   LINE      ---      ---       #41
+      0100349CH   LINE      ---      ---       #43
+      010034A3H   LINE      ---      ---       #44
+      010034AAH   LINE      ---      ---       #45
+      010034B1H   LINE      ---      ---       #46
+      010034B8H   LINE      ---      ---       #48
       ---         BLOCKEND  ---      ---       LVL=0
 
       01001914H   BLOCK     CODE     ---       LVL=0
@@ -2144,10 +2146,10 @@
       010022E1H   PUBLIC    CODE     ---       YC_wait_disconnect_timer500ms
       0100236FH   PUBLIC    CODE     ---       YC_connect_timeout_500ms
       01001833H   PUBLIC    CODE     ---       LED_timer500ms
-      010036F1H   PUBLIC    CODE     ---       System_Reset_Connect
+      010036FDH   PUBLIC    CODE     ---       System_Reset_Connect
       0100245BH   PUBLIC    CODE     ---       System_G24_long_lpm
       01001757H   PUBLIC    CODE     ---       System_long_sleep
-      010035A1H   PUBLIC    CODE     ---       System_Software_init
+      010035ADH   PUBLIC    CODE     ---       System_Software_init
       01001CBBH   PUBLIC    CODE     ---       System_clear_timer_status
       010022B7H   PUBLIC    CODE     ---       kb_ble_name_roll
 
@@ -2200,16 +2202,16 @@
       01000E2EH   LINE      ---      ---       #63
       ---         BLOCKEND  ---      ---       LVL=0
 
-      0100347DH   BLOCK     CODE     ---       LVL=0
-      0100347DH   LINE      ---      ---       #65
-      0100347DH   LINE      ---      ---       #66
-      0100347DH   LINE      ---      ---       #67
-      01003483H   LINE      ---      ---       #68
-      01003486H   LINE      ---      ---       #69
-      01003488H   LINE      ---      ---       #70
-      0100348AH   LINE      ---      ---       #71
-      0100348CH   LINE      ---      ---       #72
-      0100348FH   LINE      ---      ---       #73
+      01003489H   BLOCK     CODE     ---       LVL=0
+      01003489H   LINE      ---      ---       #65
+      01003489H   LINE      ---      ---       #66
+      01003489H   LINE      ---      ---       #67
+      0100348FH   LINE      ---      ---       #68
+      01003492H   LINE      ---      ---       #69
+      01003494H   LINE      ---      ---       #70
+      01003496H   LINE      ---      ---       #71
+      01003498H   LINE      ---      ---       #72
+      0100349BH   LINE      ---      ---       #73
       ---         BLOCKEND  ---      ---       LVL=0
 
       01001CBBH   BLOCK     CODE     ---       LVL=0
@@ -2223,42 +2225,42 @@
       01001CD3H   LINE      ---      ---       #82
       ---         BLOCKEND  ---      ---       LVL=0
 
-      010033C3H   BLOCK     CODE     ---       LVL=0
-      010033C3H   LINE      ---      ---       #83
-      010033C3H   LINE      ---      ---       #84
-      010033C3H   LINE      ---      ---       #85
-      010033C5H   LINE      ---      ---       #86
-      010033C8H   LINE      ---      ---       #87
-      010033CEH   LINE      ---      ---       #88
-      010033CEH   LINE      ---      ---       #89
-      010033D1H   LINE      ---      ---       #90
-      010033D7H   LINE      ---      ---       #91
-      010033DDH   LINE      ---      ---       #92
-      010033E3H   LINE      ---      ---       #93
-      010033E8H   LINE      ---      ---       #94
-      010033E8H   LINE      ---      ---       #95
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      010035A1H   BLOCK     CODE     ---       LVL=0
-      010035A1H   LINE      ---      ---       #98
-      010035A1H   LINE      ---      ---       #99
-      010035A1H   LINE      ---      ---       #100
-      010035A4H   LINE      ---      ---       #101
-      010035A6H   LINE      ---      ---       #102
-      010035ACH   LINE      ---      ---       #103
-      010035B2H   LINE      ---      ---       #105
-      010035B7H   LINE      ---      ---       #106
-      010035BDH   LINE      ---      ---       #107
-      010035C5H   LINE      ---      ---       #108
-      010035CDH   LINE      ---      ---       #109
-      010035D5H   LINE      ---      ---       #110
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      010036E8H   BLOCK     CODE     ---       LVL=0
-      010036E8H   LINE      ---      ---       #112
-      010036E8H   LINE      ---      ---       #113
-      010036E8H   LINE      ---      ---       #114
-      010036EEH   LINE      ---      ---       #115
+      010033CFH   BLOCK     CODE     ---       LVL=0
+      010033CFH   LINE      ---      ---       #83
+      010033CFH   LINE      ---      ---       #84
+      010033CFH   LINE      ---      ---       #85
+      010033D1H   LINE      ---      ---       #86
+      010033D4H   LINE      ---      ---       #87
+      010033DAH   LINE      ---      ---       #88
+      010033DAH   LINE      ---      ---       #89
+      010033DDH   LINE      ---      ---       #90
+      010033E3H   LINE      ---      ---       #91
+      010033E9H   LINE      ---      ---       #92
+      010033EFH   LINE      ---      ---       #93
+      010033F4H   LINE      ---      ---       #94
+      010033F4H   LINE      ---      ---       #95
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      010035ADH   BLOCK     CODE     ---       LVL=0
+      010035ADH   LINE      ---      ---       #98
+      010035ADH   LINE      ---      ---       #99
+      010035ADH   LINE      ---      ---       #100
+      010035B0H   LINE      ---      ---       #101
+      010035B2H   LINE      ---      ---       #102
+      010035B8H   LINE      ---      ---       #103
+      010035BEH   LINE      ---      ---       #105
+      010035C3H   LINE      ---      ---       #106
+      010035C9H   LINE      ---      ---       #107
+      010035D1H   LINE      ---      ---       #108
+      010035D9H   LINE      ---      ---       #109
+      010035E1H   LINE      ---      ---       #110
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      010036F4H   BLOCK     CODE     ---       LVL=0
+      010036F4H   LINE      ---      ---       #112
+      010036F4H   LINE      ---      ---       #113
+      010036F4H   LINE      ---      ---       #114
+      010036FAH   LINE      ---      ---       #115
       ---         BLOCKEND  ---      ---       LVL=0
 
       01001757H   BLOCK     CODE     ---       LVL=0
@@ -2286,19 +2288,19 @@
       01002489H   LINE      ---      ---       #140
       ---         BLOCKEND  ---      ---       LVL=0
 
-      010036F1H   BLOCK     CODE     ---       LVL=0
-      010036F1H   LINE      ---      ---       #142
-      010036F1H   LINE      ---      ---       #143
-      010036F1H   LINE      ---      ---       #144
+      010036FDH   BLOCK     CODE     ---       LVL=0
+      010036FDH   LINE      ---      ---       #142
+      010036FDH   LINE      ---      ---       #143
+      010036FDH   LINE      ---      ---       #144
       ---         BLOCKEND  ---      ---       LVL=0
 
-      010036F3H   BLOCK     CODE     ---       LVL=0
-      010036F3H   LINE      ---      ---       #152
-      010036F8H   BLOCK     CODE     NEAR LAB  LVL=1
-      010036F8H   LINE      ---      ---       #154
-      01003702H   LINE      ---      ---       #156
-      01003702H   LINE      ---      ---       #158
-      01003702H   LINE      ---      ---       #159
+      010036FFH   BLOCK     CODE     ---       LVL=0
+      010036FFH   LINE      ---      ---       #152
+      01003704H   BLOCK     CODE     NEAR LAB  LVL=1
+      01003704H   LINE      ---      ---       #154
+      0100370EH   LINE      ---      ---       #156
+      0100370EH   LINE      ---      ---       #158
+      0100370EH   LINE      ---      ---       #159
       02004EFFH   SYMBOL    XDATA    VOID      temp
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
@@ -2812,96 +2814,96 @@
       0100233AH   LINE      ---      ---       #746
       ---         BLOCKEND  ---      ---       LVL=0
 
-      010034B3H   BLOCK     CODE     ---       LVL=0
-      010034B3H   LINE      ---      ---       #758
-      010034B3H   LINE      ---      ---       #759
-      010034B3H   LINE      ---      ---       #761
-      010034B9H   LINE      ---      ---       #762
-      010034B9H   LINE      ---      ---       #763
-      010034BBH   LINE      ---      ---       #764
-      010034BBH   LINE      ---      ---       #766
-      010034C1H   LINE      ---      ---       #767
-      010034C3H   LINE      ---      ---       #769
-      010034C9H   LINE      ---      ---       #770
-      010034C9H   LINE      ---      ---       #771
-      010034CBH   LINE      ---      ---       #772
-      010034CEH   LINE      ---      ---       #773
-      010034D4H   LINE      ---      ---       #774
-      010034D4H   LINE      ---      ---       #776
-      010034DAH   LINE      ---      ---       #777
-      010034DAH   LINE      ---      ---       #778
-      010034E0H   LINE      ---      ---       #779
-      010034E0H   LINE      ---      ---       #780
-      010034E6H   LINE      ---      ---       #782
-      010034E6H   LINE      ---      ---       #783
-      010034ECH   LINE      ---      ---       #784
-      010034EFH   LINE      ---      ---       #785
-      010034F5H   LINE      ---      ---       #786
-      010034F5H   LINE      ---      ---       #787
-      010034F7H   LINE      ---      ---       #788
-      010034F7H   LINE      ---      ---       #789
-      010034F9H   LINE      ---      ---       #790
-      01003505H   LINE      ---      ---       #791
-      01003505H   LINE      ---      ---       #792
-      0100350BH   LINE      ---      ---       #793
-      0100350BH   LINE      ---      ---       #794
-      0100350DH   LINE      ---      ---       #795
-      01003514H   LINE      ---      ---       #796
-      01003514H   LINE      ---      ---       #797
-      01003518H   LINE      ---      ---       #798
-      01003518H   LINE      ---      ---       #799
-      0100351BH   LINE      ---      ---       #800
-      0100351DH   LINE      ---      ---       #802
-      0100351DH   LINE      ---      ---       #803
-      0100351FH   LINE      ---      ---       #804
-      0100351FH   LINE      ---      ---       #805
-      01003521H   LINE      ---      ---       #807
-      01003523H   LINE      ---      ---       #808
-      01003529H   LINE      ---      ---       #809
-      0100352CH   LINE      ---      ---       #810
-      0100352CH   LINE      ---      ---       #811
-      0100352CH   LINE      ---      ---       #814
-      01003532H   LINE      ---      ---       #815
-      01003532H   LINE      ---      ---       #816
-      0100353AH   LINE      ---      ---       #817
-      0100353AH   LINE      ---      ---       #818
-      01003540H   LINE      ---      ---       #819
-      01003544H   LINE      ---      ---       #821
-      0100354AH   LINE      ---      ---       #822
-      0100354AH   LINE      ---      ---       #823
-      01003555H   LINE      ---      ---       #824
-      01003557H   LINE      ---      ---       #825
-      0100355DH   LINE      ---      ---       #826
-      0100355DH   LINE      ---      ---       #828
-      01003568H   LINE      ---      ---       #829
-      01003568H   LINE      ---      ---       #830
-      01003568H   LINE      ---      ---       #831
-      01003568H   LINE      ---      ---       #835
-      0100356EH   LINE      ---      ---       #836
-      0100356EH   LINE      ---      ---       #837
-      01003571H   LINE      ---      ---       #838
-      01003574H   LINE      ---      ---       #839
-      01003574H   LINE      ---      ---       #840
-      0100357AH   LINE      ---      ---       #841
-      0100357AH   LINE      ---      ---       #842
-      0100357FH   LINE      ---      ---       #843
-      0100357FH   LINE      ---      ---       #844
-      0100357FH   LINE      ---      ---       #845
-      0100357FH   LINE      ---      ---       #847
-      01003585H   LINE      ---      ---       #848
-      01003588H   LINE      ---      ---       #849
-      0100358BH   LINE      ---      ---       #850
-      0100358BH   LINE      ---      ---       #851
-      01003591H   LINE      ---      ---       #852
-      01003591H   LINE      ---      ---       #853
-      01003593H   LINE      ---      ---       #854
-      01003593H   LINE      ---      ---       #856
-      0100359AH   LINE      ---      ---       #857
-      0100359AH   LINE      ---      ---       #858
-      010035A0H   LINE      ---      ---       #859
-      010035A0H   LINE      ---      ---       #860
-      010035A0H   LINE      ---      ---       #861
-      010035A0H   LINE      ---      ---       #862
+      010034BFH   BLOCK     CODE     ---       LVL=0
+      010034BFH   LINE      ---      ---       #758
+      010034BFH   LINE      ---      ---       #759
+      010034BFH   LINE      ---      ---       #761
+      010034C5H   LINE      ---      ---       #762
+      010034C5H   LINE      ---      ---       #763
+      010034C7H   LINE      ---      ---       #764
+      010034C7H   LINE      ---      ---       #766
+      010034CDH   LINE      ---      ---       #767
+      010034CFH   LINE      ---      ---       #769
+      010034D5H   LINE      ---      ---       #770
+      010034D5H   LINE      ---      ---       #771
+      010034D7H   LINE      ---      ---       #772
+      010034DAH   LINE      ---      ---       #773
+      010034E0H   LINE      ---      ---       #774
+      010034E0H   LINE      ---      ---       #776
+      010034E6H   LINE      ---      ---       #777
+      010034E6H   LINE      ---      ---       #778
+      010034ECH   LINE      ---      ---       #779
+      010034ECH   LINE      ---      ---       #780
+      010034F2H   LINE      ---      ---       #782
+      010034F2H   LINE      ---      ---       #783
+      010034F8H   LINE      ---      ---       #784
+      010034FBH   LINE      ---      ---       #785
+      01003501H   LINE      ---      ---       #786
+      01003501H   LINE      ---      ---       #787
+      01003503H   LINE      ---      ---       #788
+      01003503H   LINE      ---      ---       #789
+      01003505H   LINE      ---      ---       #790
+      01003511H   LINE      ---      ---       #791
+      01003511H   LINE      ---      ---       #792
+      01003517H   LINE      ---      ---       #793
+      01003517H   LINE      ---      ---       #794
+      01003519H   LINE      ---      ---       #795
+      01003520H   LINE      ---      ---       #796
+      01003520H   LINE      ---      ---       #797
+      01003524H   LINE      ---      ---       #798
+      01003524H   LINE      ---      ---       #799
+      01003527H   LINE      ---      ---       #800
+      01003529H   LINE      ---      ---       #802
+      01003529H   LINE      ---      ---       #803
+      0100352BH   LINE      ---      ---       #804
+      0100352BH   LINE      ---      ---       #805
+      0100352DH   LINE      ---      ---       #807
+      0100352FH   LINE      ---      ---       #808
+      01003535H   LINE      ---      ---       #809
+      01003538H   LINE      ---      ---       #810
+      01003538H   LINE      ---      ---       #811
+      01003538H   LINE      ---      ---       #814
+      0100353EH   LINE      ---      ---       #815
+      0100353EH   LINE      ---      ---       #816
+      01003546H   LINE      ---      ---       #817
+      01003546H   LINE      ---      ---       #818
+      0100354CH   LINE      ---      ---       #819
+      01003550H   LINE      ---      ---       #821
+      01003556H   LINE      ---      ---       #822
+      01003556H   LINE      ---      ---       #823
+      01003561H   LINE      ---      ---       #824
+      01003563H   LINE      ---      ---       #825
+      01003569H   LINE      ---      ---       #826
+      01003569H   LINE      ---      ---       #828
+      01003574H   LINE      ---      ---       #829
+      01003574H   LINE      ---      ---       #830
+      01003574H   LINE      ---      ---       #831
+      01003574H   LINE      ---      ---       #835
+      0100357AH   LINE      ---      ---       #836
+      0100357AH   LINE      ---      ---       #837
+      0100357DH   LINE      ---      ---       #838
+      01003580H   LINE      ---      ---       #839
+      01003580H   LINE      ---      ---       #840
+      01003586H   LINE      ---      ---       #841
+      01003586H   LINE      ---      ---       #842
+      0100358BH   LINE      ---      ---       #843
+      0100358BH   LINE      ---      ---       #844
+      0100358BH   LINE      ---      ---       #845
+      0100358BH   LINE      ---      ---       #847
+      01003591H   LINE      ---      ---       #848
+      01003594H   LINE      ---      ---       #849
+      01003597H   LINE      ---      ---       #850
+      01003597H   LINE      ---      ---       #851
+      0100359DH   LINE      ---      ---       #852
+      0100359DH   LINE      ---      ---       #853
+      0100359FH   LINE      ---      ---       #854
+      0100359FH   LINE      ---      ---       #856
+      010035A6H   LINE      ---      ---       #857
+      010035A6H   LINE      ---      ---       #858
+      010035ACH   LINE      ---      ---       #859
+      010035ACH   LINE      ---      ---       #860
+      010035ACH   LINE      ---      ---       #861
+      010035ACH   LINE      ---      ---       #862
       ---         BLOCKEND  ---      ---       LVL=0
 
       01001FB1H   BLOCK     CODE     ---       LVL=0
@@ -2956,23 +2958,23 @@
       0100235EH   PUBLIC    CODE     ---       YC_adc_check_timer500ms
       0100233DH   PUBLIC    CODE     ---       YC_adc_motion_check_timer500ms
       010024CEH   PUBLIC    CODE     ---       YC_adc_check
-      010035D6H   PUBLIC    CODE     ---       YC_adc_init
+      010035E2H   PUBLIC    CODE     ---       YC_adc_init
 
-      010035D6H   BLOCK     CODE     ---       LVL=0
-      010035D6H   LINE      ---      ---       #3
-      010035D6H   LINE      ---      ---       #4
-      010035D6H   BLOCK     CODE     NEAR LAB  LVL=1
-      010035D6H   LINE      ---      ---       #8
-      010035DCH   LINE      ---      ---       #9
-      010035DFH   LINE      ---      ---       #10
-      010035E5H   LINE      ---      ---       #13
-      010035E7H   LINE      ---      ---       #14
-      010035E7H   LINE      ---      ---       #15
-      010035F8H   LINE      ---      ---       #16
-      010035FDH   LINE      ---      ---       #17
-      0100364BH   LINE      ---      ---       #18
-      01003699H   LINE      ---      ---       #19
-      010036E7H   LINE      ---      ---       #41
+      010035E2H   BLOCK     CODE     ---       LVL=0
+      010035E2H   LINE      ---      ---       #3
+      010035E2H   LINE      ---      ---       #4
+      010035E2H   BLOCK     CODE     NEAR LAB  LVL=1
+      010035E2H   LINE      ---      ---       #8
+      010035E8H   LINE      ---      ---       #9
+      010035EBH   LINE      ---      ---       #10
+      010035F1H   LINE      ---      ---       #13
+      010035F3H   LINE      ---      ---       #14
+      010035F3H   LINE      ---      ---       #15
+      01003604H   LINE      ---      ---       #16
+      01003609H   LINE      ---      ---       #17
+      01003657H   LINE      ---      ---       #18
+      010036A5H   LINE      ---      ---       #19
+      010036F3H   LINE      ---      ---       #41
       00000007H   SYMBOL    DATA     VOID      i
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
@@ -3086,34 +3088,34 @@
       01001FC4H   PUBLIC    CODE     ---       IPC_AbandonLpm
       01001CD4H   PUBLIC    CODE     ---       IPC_WaitLpm
       01001FB7H   PUBLIC    CODE     ---       _IPC_Initialize
-      010037CCH   PUBLIC    CODE     ---       IPC_GetBBDIsconnectReason
-      010037C3H   PUBLIC    CODE     ---       _IPC_TxBleData
-      010037BAH   PUBLIC    CODE     ---       _IPC_TxSppData
+      010037D8H   PUBLIC    CODE     ---       IPC_GetBBDIsconnectReason
+      010037CFH   PUBLIC    CODE     ---       _IPC_TxBleData
+      010037C6H   PUBLIC    CODE     ---       _IPC_TxSppData
       01000FE7H   PUBLIC    CODE     ---       _IPC_Tx24GData
-      010037ADH   PUBLIC    CODE     ---       _IPC_TxBREDRHidData
+      010037B9H   PUBLIC    CODE     ---       _IPC_TxBREDRHidData
       01000FEDH   PUBLIC    CODE     ---       _IPC_TxData
       010010A6H   PUBLIC    CODE     ---       _IPC_TxControlCmd
 
-      01003703H   BLOCK     CODE     ---       LVL=0
-      01003703H   LINE      ---      ---       #44
-      01003713H   LINE      ---      ---       #45
-      01003713H   LINE      ---      ---       #46
-      0100375CH   LINE      ---      ---       #47
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      0100375DH   BLOCK     CODE     ---       LVL=0
-      0100375DH   LINE      ---      ---       #49
-      01003767H   LINE      ---      ---       #50
-      01003767H   BLOCK     CODE     NEAR LAB  LVL=1
-      01003767H   LINE      ---      ---       #51
-      0100376FH   LINE      ---      ---       #52
-      01003775H   LINE      ---      ---       #53
-      01003794H   LINE      ---      ---       #54
-      0100379EH   LINE      ---      ---       #55
-      010037A2H   LINE      ---      ---       #56
-      010037A2H   LINE      ---      ---       #57
-      010037A4H   LINE      ---      ---       #58
-      010037ACH   LINE      ---      ---       #59
+      0100370FH   BLOCK     CODE     ---       LVL=0
+      0100370FH   LINE      ---      ---       #44
+      0100371FH   LINE      ---      ---       #45
+      0100371FH   LINE      ---      ---       #46
+      01003768H   LINE      ---      ---       #47
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01003769H   BLOCK     CODE     ---       LVL=0
+      01003769H   LINE      ---      ---       #49
+      01003773H   LINE      ---      ---       #50
+      01003773H   BLOCK     CODE     NEAR LAB  LVL=1
+      01003773H   LINE      ---      ---       #51
+      0100377BH   LINE      ---      ---       #52
+      01003781H   LINE      ---      ---       #53
+      010037A0H   LINE      ---      ---       #54
+      010037AAH   LINE      ---      ---       #55
+      010037AEH   LINE      ---      ---       #56
+      010037AEH   LINE      ---      ---       #57
+      010037B0H   LINE      ---      ---       #58
+      010037B8H   LINE      ---      ---       #59
       00000006H   SYMBOL    DATA     VOID      src
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
@@ -3155,13 +3157,13 @@
       01001004H   LINE      ---      ---       #87
       ---         BLOCKEND  ---      ---       LVL=0
 
-      010037ADH   BLOCK     CODE     ---       LVL=0
-      010037ADH   LINE      ---      ---       #90
-      010037ADH   LINE      ---      ---       #91
-      010037ADH   LINE      ---      ---       #92
-      010037B3H   LINE      ---      ---       #93
-      010037B6H   LINE      ---      ---       #94
-      010037B9H   LINE      ---      ---       #95
+      010037B9H   BLOCK     CODE     ---       LVL=0
+      010037B9H   LINE      ---      ---       #90
+      010037B9H   LINE      ---      ---       #91
+      010037B9H   LINE      ---      ---       #92
+      010037BFH   LINE      ---      ---       #93
+      010037C2H   LINE      ---      ---       #94
+      010037C5H   LINE      ---      ---       #95
       ---         BLOCKEND  ---      ---       LVL=0
 
       01000FE7H   BLOCK     CODE     ---       LVL=0
@@ -3170,25 +3172,25 @@
       01000FE7H   LINE      ---      ---       #99
       ---         BLOCKEND  ---      ---       LVL=0
 
-      010037BAH   BLOCK     CODE     ---       LVL=0
-      010037BAH   LINE      ---      ---       #103
-      010037BAH   LINE      ---      ---       #104
-      010037BAH   LINE      ---      ---       #105
-      010037C0H   LINE      ---      ---       #106
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      010037C3H   BLOCK     CODE     ---       LVL=0
-      010037C3H   LINE      ---      ---       #109
-      010037C3H   LINE      ---      ---       #110
-      010037C3H   LINE      ---      ---       #111
-      010037C9H   LINE      ---      ---       #112
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      010037CCH   BLOCK     CODE     ---       LVL=0
-      010037CCH   LINE      ---      ---       #115
-      010037CCH   LINE      ---      ---       #116
-      010037CCH   LINE      ---      ---       #117
-      010037D1H   LINE      ---      ---       #118
+      010037C6H   BLOCK     CODE     ---       LVL=0
+      010037C6H   LINE      ---      ---       #103
+      010037C6H   LINE      ---      ---       #104
+      010037C6H   LINE      ---      ---       #105
+      010037CCH   LINE      ---      ---       #106
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      010037CFH   BLOCK     CODE     ---       LVL=0
+      010037CFH   LINE      ---      ---       #109
+      010037CFH   LINE      ---      ---       #110
+      010037CFH   LINE      ---      ---       #111
+      010037D5H   LINE      ---      ---       #112
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      010037D8H   BLOCK     CODE     ---       LVL=0
+      010037D8H   LINE      ---      ---       #115
+      010037D8H   LINE      ---      ---       #116
+      010037D8H   LINE      ---      ---       #117
+      010037DDH   LINE      ---      ---       #118
       ---         BLOCKEND  ---      ---       LVL=0
 
       01001FB7H   BLOCK     CODE     ---       LVL=0
@@ -3279,13 +3281,13 @@
       0100248AH   PUBLIC    CODE     ---       _dmemcpy
       02004EC1H   PUBLIC    XDATA    BYTE      ?_xmemcpy?BYTE
       01000854H   PUBLIC    CODE     ---       _xmemcpy
-      010037D2H   PUBLIC    CODE     ---       YC_Ice_break
+      010037DEH   PUBLIC    CODE     ---       YC_Ice_break
 
-      010037D2H   BLOCK     CODE     ---       LVL=0
-      010037D2H   LINE      ---      ---       #3
-      010037D2H   LINE      ---      ---       #4
-      010037D2H   LINE      ---      ---       #5
-      010037D8H   LINE      ---      ---       #7
+      010037DEH   BLOCK     CODE     ---       LVL=0
+      010037DEH   LINE      ---      ---       #3
+      010037DEH   LINE      ---      ---       #4
+      010037DEH   LINE      ---      ---       #5
+      010037E4H   LINE      ---      ---       #7
       ---         BLOCKEND  ---      ---       LVL=0
 
       01000854H   BLOCK     CODE     ---       LVL=0
@@ -3349,39 +3351,39 @@
       ---         MODULE    ---      ---       GPIO
       020000A3H   PUBLIC    XDATA    ---       YC_GPIOWakeupL
       020000A7H   PUBLIC    XDATA    ---       YC_GPIOWakeupH
-      01003818H   PUBLIC    CODE     ---       GPIO_fillpd
+      01003824H   PUBLIC    CODE     ---       GPIO_fillpd
       010018F8H   PUBLIC    CODE     ---       _GPIO_FlipOutBit
       01001B6BH   PUBLIC    CODE     ---       _GPIO_SetWakeupByCurrentState
-      010037D9H   PUBLIC    CODE     ---       _GPIO_ClearWakeup
+      010037E5H   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
-      010033A5H   PUBLIC    CODE     ---       _GPIO_SetInput
+      010033B1H   PUBLIC    CODE     ---       _GPIO_SetInput
       00000020H.4 PUBLIC    BIT      BIT       ?_GPIO_Setoe?BIT
-      0100340BH   PUBLIC    CODE     ---       _GPIO_Setoe
+      01003417H   PUBLIC    CODE     ---       _GPIO_Setoe
       00000020H.3 PUBLIC    BIT      BIT       ?_GPIO_SetPd?BIT
-      010033FAH   PUBLIC    CODE     ---       _GPIO_SetPd
+      01003406H   PUBLIC    CODE     ---       _GPIO_SetPd
       00000020H.2 PUBLIC    BIT      BIT       ?_GPIO_SetPu?BIT
-      010033E9H   PUBLIC    CODE     ---       _GPIO_SetPu
+      010033F5H   PUBLIC    CODE     ---       _GPIO_SetPu
       00000020H.1 PUBLIC    BIT      BIT       ?_GPIO_Setout?BIT
       01000F74H   PUBLIC    CODE     ---       _GPIO_Setout
       01001B80H   PUBLIC    CODE     ---       _GPIO_GetInputStatus
 
-      0100341CH   BLOCK     CODE     ---       LVL=0
-      0100341CH   LINE      ---      ---       #9
-      01003427H   LINE      ---      ---       #10
-      01003427H   BLOCK     CODE     NEAR LAB  LVL=1
-      01003427H   LINE      ---      ---       #11
-      01003429H   LINE      ---      ---       #12
-      0100342AH   LINE      ---      ---       #14
-      0100342EH   LINE      ---      ---       #15
-      01003435H   LINE      ---      ---       #17
-      01003438H   LINE      ---      ---       #18
-      0100345AH   LINE      ---      ---       #19
-      0100345AH   LINE      ---      ---       #21
-      0100345AH   LINE      ---      ---       #22
+      01003428H   BLOCK     CODE     ---       LVL=0
+      01003428H   LINE      ---      ---       #9
+      01003433H   LINE      ---      ---       #10
+      01003433H   BLOCK     CODE     NEAR LAB  LVL=1
+      01003433H   LINE      ---      ---       #11
+      01003435H   LINE      ---      ---       #12
+      01003436H   LINE      ---      ---       #14
+      0100343AH   LINE      ---      ---       #15
+      01003441H   LINE      ---      ---       #17
+      01003444H   LINE      ---      ---       #18
+      01003466H   LINE      ---      ---       #19
+      01003466H   LINE      ---      ---       #21
+      01003466H   LINE      ---      ---       #22
       00000006H   SYMBOL    DATA     VOID      queue
       00000005H   SYMBOL    DATA     VOID      group
       ---         BLOCKEND  CODE     ---       LVL=1
@@ -3416,38 +3418,38 @@
       01000F85H   LINE      ---      ---       #47
       ---         BLOCKEND  ---      ---       LVL=0
 
-      010033E9H   BLOCK     CODE     ---       LVL=0
-      010033E9H   LINE      ---      ---       #49
-      010033E9H   LINE      ---      ---       #50
-      010033E9H   LINE      ---      ---       #51
-      010033EDH   LINE      ---      ---       #53
-      010033F9H   LINE      ---      ---       #54
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      010033FAH   BLOCK     CODE     ---       LVL=0
-      010033FAH   LINE      ---      ---       #56
-      010033FAH   LINE      ---      ---       #57
-      010033FAH   LINE      ---      ---       #58
-      010033FEH   LINE      ---      ---       #60
-      0100340AH   LINE      ---      ---       #61
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      0100340BH   BLOCK     CODE     ---       LVL=0
-      0100340BH   LINE      ---      ---       #63
-      0100340BH   LINE      ---      ---       #64
-      0100340BH   LINE      ---      ---       #65
-      0100340FH   LINE      ---      ---       #67
-      0100341BH   LINE      ---      ---       #68
-      ---         BLOCKEND  ---      ---       LVL=0
-
-      010033A5H   BLOCK     CODE     ---       LVL=0
-      010033A5H   LINE      ---      ---       #70
-      010033A7H   LINE      ---      ---       #71
-      010033A7H   LINE      ---      ---       #72
-      010033ABH   LINE      ---      ---       #74
-      010033B3H   LINE      ---      ---       #75
-      010033BCH   LINE      ---      ---       #76
-      010033C2H   LINE      ---      ---       #77
+      010033F5H   BLOCK     CODE     ---       LVL=0
+      010033F5H   LINE      ---      ---       #49
+      010033F5H   LINE      ---      ---       #50
+      010033F5H   LINE      ---      ---       #51
+      010033F9H   LINE      ---      ---       #53
+      01003405H   LINE      ---      ---       #54
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01003406H   BLOCK     CODE     ---       LVL=0
+      01003406H   LINE      ---      ---       #56
+      01003406H   LINE      ---      ---       #57
+      01003406H   LINE      ---      ---       #58
+      0100340AH   LINE      ---      ---       #60
+      01003416H   LINE      ---      ---       #61
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      01003417H   BLOCK     CODE     ---       LVL=0
+      01003417H   LINE      ---      ---       #63
+      01003417H   LINE      ---      ---       #64
+      01003417H   LINE      ---      ---       #65
+      0100341BH   LINE      ---      ---       #67
+      01003427H   LINE      ---      ---       #68
+      ---         BLOCKEND  ---      ---       LVL=0
+
+      010033B1H   BLOCK     CODE     ---       LVL=0
+      010033B1H   LINE      ---      ---       #70
+      010033B3H   LINE      ---      ---       #71
+      010033B3H   LINE      ---      ---       #72
+      010033B7H   LINE      ---      ---       #74
+      010033BFH   LINE      ---      ---       #75
+      010033C8H   LINE      ---      ---       #76
+      010033CEH   LINE      ---      ---       #77
       ---         BLOCKEND  ---      ---       LVL=0
 
       01000FCAH   BLOCK     CODE     ---       LVL=0
@@ -3481,16 +3483,16 @@
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
-      010037D9H   BLOCK     CODE     ---       LVL=0
-      010037D9H   LINE      ---      ---       #107
-      010037D9H   LINE      ---      ---       #108
-      010037D9H   BLOCK     CODE     NEAR LAB  LVL=1
-      010037D9H   LINE      ---      ---       #111
-      010037DDH   LINE      ---      ---       #113
-      010037E1H   LINE      ---      ---       #114
-      010037E8H   LINE      ---      ---       #115
-      0100380AH   LINE      ---      ---       #116
-      01003817H   LINE      ---      ---       #117
+      010037E5H   BLOCK     CODE     ---       LVL=0
+      010037E5H   LINE      ---      ---       #107
+      010037E5H   LINE      ---      ---       #108
+      010037E5H   BLOCK     CODE     NEAR LAB  LVL=1
+      010037E5H   LINE      ---      ---       #111
+      010037E9H   LINE      ---      ---       #113
+      010037EDH   LINE      ---      ---       #114
+      010037F4H   LINE      ---      ---       #115
+      01003816H   LINE      ---      ---       #116
+      01003823H   LINE      ---      ---       #117
       00000006H   SYMBOL    DATA     VOID      queue
       00000007H   SYMBOL    DATA     VOID      group
       ---         BLOCKEND  CODE     ---       LVL=1
@@ -3516,13 +3518,13 @@
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
 
-      01003818H   BLOCK     CODE     ---       LVL=0
-      01003818H   LINE      ---      ---       #131
-      01003818H   LINE      ---      ---       #132
-      01003818H   BLOCK     CODE     NEAR LAB  LVL=1
-      01003818H   LINE      ---      ---       #134
-      0100381AH   LINE      ---      ---       #135
-      0100384BH   LINE      ---      ---       #136
+      01003824H   BLOCK     CODE     ---       LVL=0
+      01003824H   LINE      ---      ---       #131
+      01003824H   LINE      ---      ---       #132
+      01003824H   BLOCK     CODE     NEAR LAB  LVL=1
+      01003824H   LINE      ---      ---       #134
+      01003826H   LINE      ---      ---       #135
+      01003857H   LINE      ---      ---       #136
       00000007H   SYMBOL    DATA     VOID      i
       ---         BLOCKEND  CODE     ---       LVL=1
       ---         BLOCKEND  CODE     ---       LVL=0
@@ -3668,5 +3670,5 @@
       ---         MODULE    ---      ---       ?C_INIT
       01000626H   PUBLIC    CODE     ---       ?C_START
 
-Program Size: data=10.2 xdata=910 const=182 code=14230
+Program Size: data=10.2 xdata=910 const=182 code=14242
 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_UK_2mode_3ch_LI/c51/output/eeprom.dat	(revision 5395)
+++ /branch/mouse_project/LeXiang/Keyboard/KD8017C_UK_2mode_3ch_LI/c51/output/eeprom.dat	(working copy)
@@ -6600,7 +6600,7 @@
 f8
 aa
 55
-4e
+5a
 38
 02
 05
@@ -8259,13 +8259,13 @@
 20
 ff
 34
-b3
+bf
 00
 00
 00
 ff
 36
-f3
+ff
 00
 ff
 08
@@ -9904,7 +9904,7 @@
 fd
 12
 37
-c3
+cf
 90
 4c
 c5
@@ -10574,7 +10574,7 @@
 00
 12
 34
-1c
+28
 22
 90
 4c
@@ -10656,7 +10656,7 @@
 04
 12
 34
-0b
+17
 af
 04
 a2
@@ -10671,7 +10671,7 @@
 02
 12
 33
-e9
+f5
 22
 90
 0b
@@ -10764,7 +10764,7 @@
 64
 12
 37
-03
+0f
 90
 4e
 be
@@ -11883,10 +11883,10 @@
 56
 12
 33
-c3
+cf
 12
 35
-a1
+ad
 7b
 01
 7a
@@ -12040,7 +12040,7 @@
 6c
 12
 34
-7d
+89
 f1
 b0
 e4
@@ -12401,7 +12401,7 @@
 03
 12
 34
-90
+9c
 e4
 90
 4c
@@ -12677,7 +12677,7 @@
 f0
 12
 33
-88
+94
 e4
 90
 4f
@@ -12699,7 +12699,7 @@
 05
 12
 33
-a5
+b1
 90
 4f
 08
@@ -13102,7 +13102,7 @@
 f0
 12
 34
-90
+9c
 11
 1e
 ef
@@ -13558,7 +13558,7 @@
 b0
 12
 38
-18
+24
 90
 81
 1c
@@ -14236,7 +14236,7 @@
 03
 12
 37
-5d
+69
 90
 4e
 f0
@@ -14346,7 +14346,7 @@
 fd
 12
 37
-5d
+69
 90
 4e
 f0
@@ -14454,7 +14454,7 @@
 fd
 12
 37
-5d
+69
 90
 4e
 f0
@@ -14562,7 +14562,7 @@
 fd
 12
 37
-5d
+69
 90
 4e
 f0
@@ -19045,11 +19045,11 @@
 e0
 ff
 60
-32
+3e
 64
 01
 60
-2e
+3a
 ee
 b4
 e6
@@ -19061,7 +19061,7 @@
 e7
 f0
 80
-22
+2e
 ee
 b4
 e7
@@ -19073,6 +19073,18 @@
 e6
 f0
 80
+22
+ee
+b4
+e4
+08
+90
+4f
+06
+74
+e6
+f0
+80
 16
 ee
 b4
@@ -19157,7 +19169,7 @@
 60
 02
 21
-ec
+f8
 ee
 64
 14
@@ -19245,7 +19257,7 @@
 02
 f0
 21
-ec
+f8
 ef
 d3
 94
@@ -19253,7 +19265,7 @@
 40
 02
 21
-ec
+f8
 ef
 c3
 94
@@ -19389,7 +19401,7 @@
 60
 02
 61
-82
+8e
 90
 4d
 e3
@@ -19411,7 +19423,7 @@
 60
 02
 61
-82
+8e
 90
 4d
 e8
@@ -19421,7 +19433,7 @@
 60
 02
 61
-82
+8e
 ee
 24
 c6
@@ -19431,10 +19443,10 @@
 40
 02
 61
-82
+8e
 90
 32
-2c
+38
 75
 f0
 03
@@ -19448,40 +19460,40 @@
 73
 02
 32
-50
+5c
 02
 32
-58
+64
 02
 32
-60
+6c
 02
 32
-a7
+b3
 02
 32
-cd
+d9
 02
 33
-0e
+1a
 02
 33
-54
+60
 02
 33
-5c
+68
 02
 33
-64
+70
 02
 33
-6c
+78
 02
 33
-74
+80
 02
 33
-7c
+88
 90
 4f
 06
@@ -19489,7 +19501,7 @@
 d7
 f0
 61
-82
+8e
 90
 4f
 06
@@ -19497,7 +19509,7 @@
 d8
 f0
 61
-82
+8e
 90
 4c
 c1
@@ -19530,7 +19542,7 @@
 06
 f0
 61
-82
+8e
 ee
 64
 01
@@ -19543,7 +19555,7 @@
 60
 02
 61
-82
+8e
 af
 04
 7b
@@ -19568,7 +19580,7 @@
 06
 f0
 61
-82
+8e
 90
 4c
 c1
@@ -19606,7 +19618,7 @@
 d5
 f0
 61
-82
+8e
 90
 4c
 c1
@@ -19813,7 +19825,7 @@
 c2
 05
 71
-a5
+b1
 90
 4f
 07
@@ -19835,8 +19847,8 @@
 05
 92
 03
-71
-fa
+91
+06
 af
 04
 a2
@@ -19845,16 +19857,16 @@
 92
 02
 71
-e9
+f5
 af
 04
 c2
 04
 91
-0b
+17
 22
 91
-7d
+89
 12
 17
 b0
@@ -19872,19 +19884,19 @@
 7f
 1a
 71
-a5
+b1
 c2
 05
 7f
 15
 71
-a5
+b1
 c2
 05
 7f
 17
 71
-a5
+b1
 e4
 90
 4d
@@ -19906,7 +19918,7 @@
 92
 00
 91
-1c
+28
 22
 ef
 f4
@@ -19923,7 +19935,7 @@
 92
 00
 91
-1c
+28
 22
 ef
 f4
@@ -19940,7 +19952,7 @@
 92
 00
 91
-1c
+28
 22
 90
 4e
@@ -20160,7 +20172,7 @@
 70
 37
 91
-90
+9c
 80
 33
 90
@@ -20200,11 +20212,11 @@
 80
 06
 91
-90
+9c
 80
 02
 91
-90
+9c
 90
 4c
 e2
@@ -20335,7 +20347,7 @@
 0d
 96
 b1
-d6
+e2
 90
 4c
 eb
@@ -21014,8 +21026,8 @@
 04
 cf
 22
-84
-21
+27
+8a
 aa
 55
 40
@@ -22357,20 +22369,8 @@
 6c
 59
 50
-87
-ba
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
+8a
+9c
 ff
 ff
 ff
@@ -32764,5 +32764,5 @@
 ff
 ff
 ff
-39
-fa
+be
+78
Index: c51/output/fw.hex
===================================================================
--- /branch/mouse_project/LeXiang/Keyboard/KD8017C_UK_2mode_3ch_LI/c51/output/fw.hex	(revision 5395)
+++ /branch/mouse_project/LeXiang/Keyboard/KD8017C_UK_2mode_3ch_LI/c51/output/fw.hex	(working copy)
@@ -101,7 +101,7 @@
 :1006400054C025E060A840B8E493A3FAE493A3F86B
 :10065000E493A3C8C582C8CAC583CAF0A3C8C5822B
 :10066000C8CAC583CADFE9DEE780BE524E58FF1410
-:1006700069000000FF2320FF34B3000000FF36F3C1
+:1006700069000000FF2320FF34BF000000FF36FFA9
 :1006800000FF08090A0B0C0D0E111312FFFFFFFFEC
 :100690000F140000000000000000000000001E35E4
 :1006A0008B1D29042B141F3A8A1B6416391A203B10
@@ -204,7 +204,7 @@
 :100CB0007002A151904CEBE06002A151904CC7E052
 :100CC000FF6404600AEFB4031E904DD3E0601890F7
 :100CD0004E80E0B406037403F07B017A4E79809075
-:100CE0004E7FE0FD1237C3904CC5E0640370629004
+:100CE0004E7FE0FD1237CF904CC5E06403706290F8
 :100CF0004E80E0640170237404F0A3E07014904E01
 :100D000083E0700EA3E0700AA3E07006904DDEF061
 :100D10008032904DDE7401F0802A904E80E0B40263
@@ -246,19 +246,19 @@
 :100F50007F0AB152904E9CE0FEA3E0FF904E9AEEC5
 :100F60008FF012040E904E96E02FF0904E95E03EDA
 :100F7000F0C1DD22EFF4600D7B017A807974A2016B
-:100F8000920012341C22904CC3E0B40112D2017FB3
+:100F8000920012342822904CC3E0B40112D2017FA7
 :100F900019F174C2017F1CF174C2017F1D80D590CC
 :100FA0004CC3E0B40212C2017F19F174D2017F1C5C
 :100FB000F174C2017F1D80BCC2017F19F174C201AE
 :100FC0007F1CF174D2017F1D80AAAC07ECF460167F
-:100FD000AF04D20412340BAF04A2069201F174AF35
-:100FE00004C2021233E922900BE77406F0904F0B13
+:100FD000AF04D204123417AF04A2069201F174AF29
+:100FE00004C2021233F522900BE77406F0904F0B07
 :100FF000EDF0E0FD900BE8F07E0B7FE9904EC6ED42
 :10100000F01208547B017A0B79E7904F0BE0240231
 :10101000FD904EBBEBF0A3EAF0A3E9F0A3EDF09056
 :101020004B9CE0FFA3E0904EBFCFF0A3EFF0904BBE
 :101030009AE0FEA3E0FF904B9CE0FCA3E0FD7B6404
-:10104000123703904EBEE0FEEFC39E40E1904EBECD
+:1010400012370F904EBEE0FEEFC39E40E1904EBEC1
 :10105000E0FF14F0EF603F904EBBE0FBA3E475F0BF
 :1010600001120424A9F0FA1203B6FF904EBFE475F2
 :10107000F00112042485F082F583EFF0904EBFE07A
@@ -328,7 +328,7 @@
 :10147000B316421417121515472716D929149F2F92
 :10148000153C30159A31160632149F3316B43416B3
 :10149000F335159237154739159A3C000017561247
-:1014A00033C31235A17B017A4C79C07D017C007F6A
+:1014A00033CF1235AD7B017A4C79C07D017C007F52
 :1014B000BD7E7F122120904CC0E0D394034002E413
 :1014C000F0904CC0E0904CC3F01222B77F0A120D8E
 :1014D000527B017A4C79F27D027C007FBE7E7F12C6
@@ -337,7 +337,7 @@
 :10150000F3F07B017A4C79C17D017C007FC07E7F46
 :101510001221207F0A120D52904CC1E0D394034057
 :1015200012E4F07B017A4C79C17D01FC7FC07E7FA3
-:10153000120EC6904DEC7402F002206C12347DF154
+:10153000120EC6904DEC7402F002206C123489F148
 :10154000B0E4904CFCF022904CC3E0D394005002E5
 :10155000E156E094044002E156E075F01FA424D166
 :10156000F9744D35F0FA7B017D1F7C00F1F17FC8E5
@@ -360,7 +360,7 @@
 :1016700024EEF582E4344DF583E4F0904DE8E0FF8C
 :10168000904CC3E075F01FA424EFF582E4344DF5CF
 :1016900083EFF0904DE6E07006904DD47414F09016
-:1016A0004CE5E07003123490E4904CE9F0904CE388
+:1016A0004CE5E0700312349CE4904CE9F0904CE37C
 :1016B000F0A3F022904CC77404F0E4A3F0F160E4CE
 :1016C000904CEBF0904DDC740AF0904CC3E0904CE1
 :1016D000C0F0904CBF7403F022904CC3E014FD7F27
@@ -377,9 +377,9 @@
 :10178000904CC4E0904CC3F0904CC0F07F0D11D051
 :10179000F157904CEEE06017E4904CE3F0A3F0902A
 :1017A0004CEEE014F0E070077F0A120D52F1572260
-:1017B000908080E4F0A3F0A3F0123388E4904F0807
+:1017B000908080E4F0A3F0A3F0123394E4904F08FB
 :1017C000F0F0904F08E090068193FF600DC2051283
-:1017D00033A5904F08E004F080E822904CC0E0FF71
+:1017D00033B1904F08E004F080E822904CC0E0FF65
 :1017E00064FE6003EF70077F2211A67F01227F0055
 :1017F00022904EF6EBF0A3EAF0A3E9F0ED1DAE0463
 :1018000070011C4E6017904EF6E0FBA3E475F001EA
@@ -404,7 +404,7 @@
 :10193000D5E0B40205121757802B904CD5E0B401C6
 :1019400014904CF7E0701E904CE2740AF0904CF743
 :101950007401F08010904CF7E0B40109E4F0904C71
-:10196000E2F0123490111EEF604F904CE5E07049A8
+:10196000E2F012349C111EEF604F904CE5E070499C
 :10197000C3904CE4E0940A904CE3E09400502C9027
 :101980004CB7E030E009D2017FFF120F748007C22C
 :10199000017FFF120F74904CB7E030E107D2017F56
@@ -432,7 +432,7 @@
 :101AF000A805088002C333D8FCFDEE2478FBE4344B
 :101B0000808B82F583E0FCEDF4FBEC5BF0EE24705F
 :101B1000F582E43480F583E04DF0EE2474F582E440
-:101B20003480F583E05BF00F80B012381890811C90
+:101B20003480F583E05BF00F80B012382490811C84
 :101B3000E0904F09F0904DDDE06020E4FF716B7F95
 :101B400001716B7F02716B7F03716B7F04716B7F1F
 :101B500005716B7F06716B7F078010904F09E0FF66
@@ -475,27 +475,27 @@
 :101DA0000C6F7A0C794B904EF07401F0A3740CF028
 :101DB000A3744BF0904BA0E0FEA3E0FF904B9EE09D
 :101DC0006E7003A3E06F7002E1557E0C7F4B7D03C4
-:101DD00012375D904EF0E0FBA3E0FAA3E0F91203A6
+:101DD000123769904EF0E0FBA3E0FAA3E0F912039A
 :101DE000B6B4022B904EF1E475F00212040E904E40
 :101DF000F0E0FBA3E0FAA3E0F91203B6FF904E6A0D
 :101E0000E0A3E0FAA3E0F5828A831205DDE15590B4
 :101E10004EF0E0FBA3E0FAA3E0F91203B66404700D
 :101E20005A904EF175F00112040E7E0C7F4E904ECA
 :101E3000F0E0FBA3E0FAA3E0F91203B614FD1237B9
-:101E40005D904EF0E0FBA3E0FAA3E02401F9E43A50
+:101E400069904EF0E0FBA3E0FAA3E02401F9E43A44
 :101E5000FAC002C001904EF0E0A3E0FAA3E0F9124C
 :101E600003B6FD7C00904E6DE0A3E0FAA3E0F5829E
 :101E70008A83D001D0021205DDE155904EF0E0FBDF
 :101E8000A3E0FAA3E0F91203B66405705A904EF18C
 :101E900075F00112040E7E0C7F4E904EF0E0FBA315
-:101EA000E0FAA3E0F91203B614FD12375D904EF08C
+:101EA000E0FAA3E0F91203B614FD123769904EF080
 :101EB000E0FBA3E0FAA3E02401F9E43AFAC002C08F
 :101EC00001904EF0E0A3E0FAA3E0F91203B6FD7C26
 :101ED00000904E76E0A3E0FAA3E0F5828A83D00179
 :101EE000D0021205DD806E904EF0E0FBA3E0FAA375
 :101EF000E0F91203B66403705A904EF175F00112C6
 :101F0000040E7E0C7F4E904EF0E0FBA3E0FAA3E0BF
-:101F1000F91203B614FD12375D904EF0E0FBA3E01A
+:101F1000F91203B614FD123769904EF0E0FBA3E00E
 :101F2000FAA3E02401F9E43AFAC002C001904EF0AD
 :101F3000E0A3E0FAA3E0F91203B6FD7C00904E792D
 :101F4000E0A3E0FAA3E0F5828A83D001D002120573
@@ -775,128 +775,129 @@
 :10306000F0EF30E012904CF4E0B403047402F0226C
 :10307000904CF47401F022904CF47404F022AE05EC
 :10308000AC07E4904F06F0EC30E005E4904CF8F02B
-:10309000904F06EEF0904CC1E0FF60326401602E6C
-:1030A000EEB4E608904F0674E7F08022EEB4E7082D
-:1030B000904F0674E6F08016EEB4E308904F067465
-:1030C000E2F0800AEEB4E206904F0674E3F0904C12
-:1030D000C1E0B40316EEB43508904F067464F08076
-:1030E0000AEEB46406904F067435F0904CC1E0705F
-:1030F00011EEB4DA0DAF047B0F7D081159E4904F47
-:1031000006F0904DE3E06401600221ECEE6414608F
-:103110000FEE641A600AEE64086005EE64157072C2
-:10312000EEB41508904CC17402F08021EEB41A0779
-:10313000E4904CC1F08016EEB40808904CC17401C4
-:10314000F0800AEEB41406904CC17403F0E4904F82
-:1031500006F0904CC3E0FF6003B4FE08904CBF74CF
-:1031600002F021ECEFD39403400221ECEFC3940171
-:10317000407A904CC1E0FF904CC3E075F01FA4244E
-:10318000EEF582E4344DF583EFF0904CBF7403F01C
-:10319000805AEE64297055EC30E04C904DE8E060C8
-:1031A00004E4F08006904DE87401F0904CC3E0FF19
-:1031B0006003B4FE08904CBF7402F0802AEFD394F1
-:1031C000035024EFC39401401E904DE8E0FF904C63
-:1031D000C3E075F01FA424EFF582E4344DF583EFCE
-:1031E000F0904CBF7403F0E4904F06F0904E57E01F
-:1031F00060026182904DE3E07006904DE8E060145B
-:10320000904DE3E0640160026182904DE8E064016A
-:1032100060026182EE24C6B40C00400261829032EA
-:103220002C75F003A4C58325F0C5837302325002C8
-:1032300032580232600232A70232CD02330E02331C
-:103240005402335C02336402336C02337402337C05
-:10325000904F0674D7F06182904F0674D8F0618267
-:10326000904CC1E0FEB40219AF047B2B7D081159CC
-:10327000EC30E006904CF8740AF0E4904F06F061F0
-:1032800082EE64016008904CC1E060026182AF048C
-:103290007B2B7D041159EC30E006904CF8740AF059
-:1032A000E4904F06F06182904CC1E0B40217AF0485
-:1032B0007B2C7D091159EC30E006904CF8740AF033
-:1032C000E4904F06F0904F0674D5F06182904CC1A7
-:1032D000E0FF64036004EFB4020AAF047B2C7D01BD
-:1032E00011598019904CC1E0B4010AAF047B2C7DC8
-:1032F0000211598008AF047B2C7D081159EC30E095
-:1033000006904CF8740AF0E4904F06F08074904CEC
-:10331000C1E0B40317AF047B207D0A1159EC30E003
-:1033200006904CF8740AF0E4904F06F0904CC1E01F
-:10333000B40219AF047B207D0A1159EF30E00690EA
-:103340004CF8740AF0E4904F06F08036904F067403
-:1033500046F0802E904F0674F4F08026904F06744D
-:10336000F2F0801E904F0674F5F08016904F0674B0
-:10337000F8F0800E904F0674F6F08006904F0674B9
-:10338000F7F0904F06E0FF22E4904F07F0F0904FE7
-:1033900007E0FFC39408500CC20571A5904F07E0E9
-:1033A00004F080EA22AC07ECF46017AF04A20592A7
-:1033B0000371FAAF04A205B3920271E9AF04C2042B
-:1033C000910B22917D1217B0904D05E0701A121FDB
-:1033D000D0C2057F1A71A5C2057F1571A5C2057FF0
-:1033E0001771A5E4904D05F022EFF4600C7B017A93
-:1033F000807978A2029200911C22EFF4600C7B018C
-:103400007A80797CA2039200911C22EFF4600C7BFD
-:10341000017A807970A2049200911C22904EF9EBFF
-:10342000F0A3EAF0A3E9F0E4FEFDEF5407FEEF138A
-:1034300013135403FD300022904EF9E0FBA3E0FA91
-:10344000A3E02DF9E43AFA1203B6FF7401A80608C6
-:103450008002C333D8FC4F0203FC904EF9E0FBA37B
-:10346000E0FAA3E02DF9E43AFA1203B6FF7401A8DA
-:1034700006088002C333D8FCF45F0203FC908091FD
-:10348000740DF0A304F0A3F0A3F0A3F0A314F022B2
-:10349000904CC3E0B40107C2017F19020F74904C35
-:1034A000C3E0B40207C2017F1C020F74C2017F1D7A
-:1034B000020F74904CEAE0600214F0904CEFE06070
-:1034C0000214F0904CF8E0600B14F0E07006904CA1
-:1034D000F47406F0904CE5E0601F904CEEE060065E
-:1034E000E4904CE5F022904CE5E014F0120F869049
-:1034F0004CE5E0703791908033904CE9E0702D906E
-:103500004CEEE07027904CE2E0602114F0E0FFC345
-:103510009404500DEF30E105120F868006919080E3
-:10352000029190904CE2E07003740AF0904DDDE05F
-:103530007036904DDEE06401702E904CE3F0A3F005
-:10354000904DDEF0904E4EE0600D7B017A4E794E4C
-:103550007D03120C6F8011904800E0600B7B017AB4
-:103560004879007D09120C6F904DD4E06011E01491
-:10357000F0E0700B904D3DE070057F1B1210A6909F
-:103580004DE7E0601BE014F0E07015904D46E06000
-:1035900002E4F0904CC7E0B40406904213740CF0BF
-:1035A00022120D96B1D6904CEB7401F0904CE5745C
-:1035B0000AF0E4904CF0F0904D0974FFF09044FC58
-:1035C000E0904DD0F09044FDE0904DD1F09044FE5D
-:1035D000E0904DD2F022904CD37405F0E4A3F0902B
-:1035E0004D0A7414F0E4FFEF25E024D6F582E434AC
-:1035F0004CF5837454F0A3F00FEFB404EA904C91AF
-:10360000E0FEA3E0FFC3904C94E09FFD904C93E05C
-:103610009EFCE41202067B857AEB79B1783F1200BA
-:10362000FBC004C005C006C007904C91E0FCA3E0BD
-:10363000FDE4120206D003D002D001D00012000A2D
-:1036400012023F904CFAEEF0A3EFF0904C91E0FEA6
-:10365000A3E0FFC3904C94E09FFD904C93E09EFC50
-:10366000E41202067BC37AF57988783F1200FBC02A
-:1036700004C005C006C007904C91E0FCA3E0FDE447
-:10368000120206D003D002D001D00012000A1202AA
-:103690003F904CDEEEF0A3EFF0904C91E0FEA3E003
-:1036A000FFC3904C94E09FFD904C93E09EFCE4128D
-:1036B00002067BAE7A477981783F1200FBC004C0D6
-:1036C00005C006C007904C91E0FCA3E0FDE41202A7
-:1036D00006D003D002D001D00012000A12023F909F
-:1036E0004CE0EEF0A3EFF0229080107401F080FE29
-:1036F0002280F5904EFEEDF09000011203CF904E27
-:10370000FFF022904EDFEEF0A3EFF0904EE1ECF0F0
-:10371000A3EDF0904EE1E0FEA3E0FFD3904EE0E099
-:103720009F904EDFE09E4016904EE1E0FEA3E0FF4A
-:10373000904EE0E09FFF904EDFE09EFE801E904E98
-:10374000DFE0FEA3E0FFC3904EE2E09FFF904EE17A
-:10375000E09EFEAD03C3EB9FFFE49EFE22904F0070
-:10376000EEF0A3EFF0A905904B9EE0FEA3E0FFADC5
-:103770000119ED602F0FEFAC0670010E14F5828C6D
-:1037800083E0FD904F00E475F00112042485F0827F
-:10379000F583EDF0AD07AC06BC4BD4BD9AD17E4BA2
-:1037A0007F3680CB904B9EEEF0A3EFF022900BE79C
-:1037B0007403F0ED6003120FED22900BE77404F038
-:1037C000020FED900BE77405F0020FED900446E058
-:1037D000FF229082807401F022EFF4603AEF5407E8
-:1037E000FEEF1313135403FF24A3F582E43400F512
-:1037F00083C083C082E0FD7401A806088002C33341
-:10380000D8FCF4FC5DD082D083F074A72FF582E45D
-:103810003400F583E05CF022E4FFEFFD7C002478C7
-:10382000FBEC34808B82F583E0FEED2470FDEC34FC
-:10383000808D82F583E04EF4FEEF247CFDEC348035
-:0C3840008D82F583EEF00FEFB404CF2270
+:10309000904F06EEF0904CC1E0FF603E6401603A54
+:1030A000EEB4E608904F0674E7F0802EEEB4E70821
+:1030B000904F0674E6F08022EEB4E408904F067458
+:1030C000E6F08016EEB4E308904F0674E2F0800A52
+:1030D000EEB4E206904F0674E3F0904CC1E0B40306
+:1030E00016EEB43508904F067464F0800AEEB464AE
+:1030F00006904F067435F0904CC1E07011EEB4DAD2
+:103100000DAF047B0F7D081159E4904F06F0904DF0
+:10311000E3E06401600221F8EE6414600FEE641ACB
+:10312000600AEE64086005EE64157072EEB415086E
+:10313000904CC17402F08021EEB41A07E4904CC1A7
+:10314000F08016EEB40808904CC17401F0800AEECD
+:10315000B41406904CC17403F0E4904F06F0904C08
+:10316000C3E0FF6003B4FE08904CBF7402F021F886
+:10317000EFD39403400221F8EFC39401407A904CBE
+:10318000C1E0FF904CC3E075F01FA424EEF582E48B
+:10319000344DF583EFF0904CBF7403F0805AEE6429
+:1031A000297055EC30E04C904DE8E06004E4F0808C
+:1031B00006904DE87401F0904CC3E0FF6003B4FE4C
+:1031C00008904CBF7402F0802AEFD394035024EF90
+:1031D000C39401401E904DE8E0FF904CC3E075F0B1
+:1031E0001FA424EFF582E4344DF583EFF0904CBF3B
+:1031F0007403F0E4904F06F0904E57E06002618E49
+:10320000904DE3E07006904DE8E06014904DE3E0EF
+:1032100064016002618E904DE8E064016002618E9D
+:10322000EE24C6B40C004002618E90323875F00373
+:10323000A4C58325F0C5837302325C023264023276
+:103240006C0232B30232D902331A0233600233689D
+:10325000023370023378023380023388904F067451
+:10326000D7F0618E904F0674D8F0618E904CC1E01B
+:10327000FEB40219AF047B2B7D081159EC30E00637
+:10328000904CF8740AF0E4904F06F0618EEE640101
+:103290006008904CC1E06002618EAF047B2B7D041E
+:1032A0001159EC30E006904CF8740AF0E4904F06A7
+:1032B000F0618E904CC1E0B40217AF047B2C7D0905
+:1032C0001159EC30E006904CF8740AF0E4904F0687
+:1032D000F0904F0674D5F0618E904CC1E0FF64030E
+:1032E0006004EFB4020AAF047B2C7D0111598019F0
+:1032F000904CC1E0B4010AAF047B2C7D02115980CF
+:1033000008AF047B2C7D081159EC30E006904CF896
+:10331000740AF0E4904F06F08074904CC1E0B4035E
+:1033200017AF047B207D0A1159EC30E006904CF871
+:10333000740AF0E4904F06F0904CC1E0B40219AF6B
+:10334000047B207D0A1159EF30E006904CF8740A96
+:10335000F0E4904F06F08036904F067446F0802ED1
+:10336000904F0674F4F08026904F0674F2F0801EA1
+:10337000904F0674F5F08016904F0674F8F0800EAA
+:10338000904F0674F6F08006904F0674F7F0904F59
+:1033900006E0FF22E4904F07F0F0904F07E0FFC3F4
+:1033A0009408500CC20571B1904F07E004F080EA18
+:1033B00022AC07ECF46017AF04A20592039106AFAC
+:1033C00004A205B3920271F5AF04C20491172291D1
+:1033D000891217B0904D05E0701A121FD0C2057FF8
+:1033E0001A71B1C2057F1571B1C2057F1771B1E4C1
+:1033F000904D05F022EFF4600C7B017A807978A281
+:10340000029200912822EFF4600C7B017A80797C93
+:10341000A2039200912822EFF4600C7B017A80795C
+:1034200070A2049200912822904EF9EBF0A3EAF0EA
+:10343000A3E9F0E4FEFDEF5407FEEF13131354036A
+:10344000FD300022904EF9E0FBA3E0FAA3E02DF955
+:10345000E43AFA1203B6FF7401A806088002C333E7
+:10346000D8FC4F0203FC904EF9E0FBA3E0FAA3E086
+:103470002DF9E43AFA1203B6FF7401A80608800297
+:10348000C333D8FCF45F0203FC908091740DF0A369
+:1034900004F0A3F0A3F0A3F0A314F022904CC3E037
+:1034A000B40107C2017F19020F74904CC3E0B4024B
+:1034B00007C2017F1C020F74C2017F1D020F7490AE
+:1034C0004CEAE0600214F0904CEFE0600214F090DF
+:1034D0004CF8E0600B14F0E07006904CF47406F0C9
+:1034E000904CE5E0601F904CEEE06006E4904CE507
+:1034F000F022904CE5E014F0120F86904CE5E0705D
+:1035000037919C8033904CE9E0702D904CEEE07048
+:1035100027904CE2E0602114F0E0FFC39404500DCA
+:10352000EF30E105120F868006919C8002919C90FD
+:103530004CE2E07003740AF0904DDDE07036904D7F
+:10354000DEE06401702E904CE3F0A3F0904DDEF0CD
+:10355000904E4EE0600D7B017A4E794E7D03120C49
+:103560006F8011904800E0600B7B017A4879007D04
+:1035700009120C6F904DD4E06011E014F0E0700B74
+:10358000904D3DE070057F1B1210A6904DE7E06066
+:103590001BE014F0E07015904D46E06002E4F090FE
+:1035A0004CC7E0B40406904213740CF022120D963E
+:1035B000B1E2904CEB7401F0904CE5740AF0E490A9
+:1035C0004CF0F0904D0974FFF09044FCE0904DD029
+:1035D000F09044FDE0904DD1F09044FEE0904DD24B
+:1035E000F022904CD37405F0E4A3F0904D0A7414CB
+:1035F000F0E4FFEF25E024D6F582E4344CF5837443
+:1036000054F0A3F00FEFB404EA904C91E0FEA3E075
+:10361000FFC3904C94E09FFD904C93E09EFCE4121D
+:1036200002067B857AEB79B1783F1200FBC004C0BB
+:1036300005C006C007904C91E0FCA3E0FDE4120237
+:1036400006D003D002D001D00012000A12023F902F
+:103650004CFAEEF0A3EFF0904C91E0FEA3E0FFC334
+:10366000904C94E09FFD904C93E09EFCE412020687
+:103670007BC37AF57988783F1200FBC004C005C08F
+:1036800006C007904C91E0FCA3E0FDE4120206D0D6
+:1036900003D002D001D00012000A12023F904CDE8B
+:1036A000EEF0A3EFF0904C91E0FEA3E0FFC3904C4E
+:1036B00094E09FFD904C93E09EFCE41202067BAEEA
+:1036C0007A477981783F1200FBC004C005C006C06C
+:1036D00007904C91E0FCA3E0FDE4120206D003D079
+:1036E00002D001D00012000A12023F904CE0EEF02E
+:1036F000A3EFF0229080107401F080FE2280F590FC
+:103700004EFEEDF09000011203CF904EFFF022909C
+:103710004EDFEEF0A3EFF0904EE1ECF0A3EDF09071
+:103720004EE1E0FEA3E0FFD3904EE0E09F904EDF3D
+:10373000E09E4016904EE1E0FEA3E0FF904EE0E0F8
+:103740009FFF904EDFE09EFE801E904EDFE0FEA3C6
+:10375000E0FFC3904EE2E09FFF904EE1E09EFEADA1
+:1037600003C3EB9FFFE49EFE22904F00EEF0A3EF19
+:10377000F0A905904B9EE0FEA3E0FFAD0119ED60BE
+:103780002F0FEFAC0670010E14F5828C83E0FD90D4
+:103790004F00E475F00112042485F082F583EDF00A
+:1037A000AD07AC06BC4BD4BD9AD17E4B7F3680CBE7
+:1037B000904B9EEEF0A3EFF022900BE77403F0ED38
+:1037C0006003120FED22900BE77404F0020FED90EE
+:1037D0000BE77405F0020FED900446E0FF229082A3
+:1037E000807401F022EFF4603AEF5407FEEF1313F8
+:1037F000135403FF24A3F582E43400F583C083C08F
+:1038000082E0FD7401A806088002C333D8FCF4FCF2
+:103810005DD082D083F074A72FF582E43400F58365
+:10382000E05CF022E4FFEFFD7C002478FBEC3480C8
+:103830008B82F583E0FEED2470FDEC34808D82F503
+:1038400083E04EF4FEEF247CFDEC34808D82F58322
+:08385000EEF00FEFB404CF22EB
 :00000001FF
Index: c51/output/fwram.rom
===================================================================
--- /branch/mouse_project/LeXiang/Keyboard/KD8017C_UK_2mode_3ch_LI/c51/output/fwram.rom	(revision 5395)
+++ /branch/mouse_project/LeXiang/Keyboard/KD8017C_UK_2mode_3ch_LI/c51/output/fwram.rom	(working copy)
@@ -1655,13 +1655,13 @@
 20
 ff
 34
-b3
+bf
 00
 00
 00
 ff
 36
-f3
+ff
 00
 ff
 08
@@ -3300,7 +3300,7 @@
 fd
 12
 37
-c3
+cf
 90
 4c
 c5
@@ -3970,7 +3970,7 @@
 00
 12
 34
-1c
+28
 22
 90
 4c
@@ -4052,7 +4052,7 @@
 04
 12
 34
-0b
+17
 af
 04
 a2
@@ -4067,7 +4067,7 @@
 02
 12
 33
-e9
+f5
 22
 90
 0b
@@ -4160,7 +4160,7 @@
 64
 12
 37
-03
+0f
 90
 4e
 be
@@ -5279,10 +5279,10 @@
 56
 12
 33
-c3
+cf
 12
 35
-a1
+ad
 7b
 01
 7a
@@ -5436,7 +5436,7 @@
 6c
 12
 34
-7d
+89
 f1
 b0
 e4
@@ -5797,7 +5797,7 @@
 03
 12
 34
-90
+9c
 e4
 90
 4c
@@ -6073,7 +6073,7 @@
 f0
 12
 33
-88
+94
 e4
 90
 4f
@@ -6095,7 +6095,7 @@
 05
 12
 33
-a5
+b1
 90
 4f
 08
@@ -6498,7 +6498,7 @@
 f0
 12
 34
-90
+9c
 11
 1e
 ef
@@ -6954,7 +6954,7 @@
 b0
 12
 38
-18
+24
 90
 81
 1c
@@ -7632,7 +7632,7 @@
 03
 12
 37
-5d
+69
 90
 4e
 f0
@@ -7742,7 +7742,7 @@
 fd
 12
 37
-5d
+69
 90
 4e
 f0
@@ -7850,7 +7850,7 @@
 fd
 12
 37
-5d
+69
 90
 4e
 f0
@@ -7958,7 +7958,7 @@
 fd
 12
 37
-5d
+69
 90
 4e
 f0
@@ -12441,11 +12441,11 @@
 e0
 ff
 60
-32
+3e
 64
 01
 60
-2e
+3a
 ee
 b4
 e6
@@ -12457,7 +12457,7 @@
 e7
 f0
 80
-22
+2e
 ee
 b4
 e7
@@ -12469,6 +12469,18 @@
 e6
 f0
 80
+22
+ee
+b4
+e4
+08
+90
+4f
+06
+74
+e6
+f0
+80
 16
 ee
 b4
@@ -12553,7 +12565,7 @@
 60
 02
 21
-ec
+f8
 ee
 64
 14
@@ -12641,7 +12653,7 @@
 02
 f0
 21
-ec
+f8
 ef
 d3
 94
@@ -12649,7 +12661,7 @@
 40
 02
 21
-ec
+f8
 ef
 c3
 94
@@ -12785,7 +12797,7 @@
 60
 02
 61
-82
+8e
 90
 4d
 e3
@@ -12807,7 +12819,7 @@
 60
 02
 61
-82
+8e
 90
 4d
 e8
@@ -12817,7 +12829,7 @@
 60
 02
 61
-82
+8e
 ee
 24
 c6
@@ -12827,10 +12839,10 @@
 40
 02
 61
-82
+8e
 90
 32
-2c
+38
 75
 f0
 03
@@ -12844,40 +12856,40 @@
 73
 02
 32
-50
+5c
 02
 32
-58
+64
 02
 32
-60
+6c
 02
 32
-a7
+b3
 02
 32
-cd
+d9
 02
 33
-0e
+1a
 02
 33
-54
+60
 02
 33
-5c
+68
 02
 33
-64
+70
 02
 33
-6c
+78
 02
 33
-74
+80
 02
 33
-7c
+88
 90
 4f
 06
@@ -12885,7 +12897,7 @@
 d7
 f0
 61
-82
+8e
 90
 4f
 06
@@ -12893,7 +12905,7 @@
 d8
 f0
 61
-82
+8e
 90
 4c
 c1
@@ -12926,7 +12938,7 @@
 06
 f0
 61
-82
+8e
 ee
 64
 01
@@ -12939,7 +12951,7 @@
 60
 02
 61
-82
+8e
 af
 04
 7b
@@ -12964,7 +12976,7 @@
 06
 f0
 61
-82
+8e
 90
 4c
 c1
@@ -13002,7 +13014,7 @@
 d5
 f0
 61
-82
+8e
 90
 4c
 c1
@@ -13209,7 +13221,7 @@
 c2
 05
 71
-a5
+b1
 90
 4f
 07
@@ -13231,8 +13243,8 @@
 05
 92
 03
-71
-fa
+91
+06
 af
 04
 a2
@@ -13241,16 +13253,16 @@
 92
 02
 71
-e9
+f5
 af
 04
 c2
 04
 91
-0b
+17
 22
 91
-7d
+89
 12
 17
 b0
@@ -13268,19 +13280,19 @@
 7f
 1a
 71
-a5
+b1
 c2
 05
 7f
 15
 71
-a5
+b1
 c2
 05
 7f
 17
 71
-a5
+b1
 e4
 90
 4d
@@ -13302,7 +13314,7 @@
 92
 00
 91
-1c
+28
 22
 ef
 f4
@@ -13319,7 +13331,7 @@
 92
 00
 91
-1c
+28
 22
 ef
 f4
@@ -13336,7 +13348,7 @@
 92
 00
 91
-1c
+28
 22
 90
 4e
@@ -13556,7 +13568,7 @@
 70
 37
 91
-90
+9c
 80
 33
 90
@@ -13596,11 +13608,11 @@
 80
 06
 91
-90
+9c
 80
 02
 91
-90
+9c
 90
 4c
 e2
@@ -13731,7 +13743,7 @@
 0d
 96
 b1
-d6
+e2
 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
