Index: format/app_mouse.format
===================================================================
--- /YC1308AC/branch/mouse_project/XZR/YD08_Standard_2.4G_First/format/app_mouse.format	(revision 861)
+++ /YC1308AC/branch/mouse_project/XZR/YD08_Standard_2.4G_First/format/app_mouse.format	(working copy)
@@ -327,6 +327,7 @@
 1 mem_mouse_logo_led_gpio
 1 mem_logo_led_check_timer
 1 mem_mouse_logo_led_state
+1 mem_mouse_logo_commbination_key
 )
 
 
@@ -608,3 +609,5 @@
 7 MOUSE_DEVICE_NUMBER_FLAG
 )
 
+
+
Index: output/eeprom.dat
===================================================================
--- /YC1308AC/branch/mouse_project/XZR/YD08_Standard_2.4G_First/output/eeprom.dat	(revision 861)
+++ /YC1308AC/branch/mouse_project/XZR/YD08_Standard_2.4G_First/output/eeprom.dat	(working copy)
@@ -2,7 +2,7 @@
 02
 aa
 55
-ca
+e2
 04
 c2
 84
@@ -47,7 +47,7 @@
 c0
 67
 01
-2c
+32
 c0
 68
 00
@@ -63,19 +63,19 @@
 c0
 74
 00
-e9
+ef
 20
 20
 13
 7c
 c0
 50
-80
-fd
+81
+03
 c0
 60
 01
-07
+0d
 20
 20
 13
@@ -359,7 +359,7 @@
 20
 40
 00
-e6
+ec
 20
 20
 3e
@@ -876,12 +876,32 @@
 20
 44
 d4
-6f
-e0
-c9
-dd
-24
-7a
+20
+40
+41
+15
+1f
+e1
+7e
+07
+68
+48
+cb
+e7
+98
+46
+7c
+00
+20
+22
+80
+e1
+70
+4b
+e5
+1e
+20
+60
 00
 00
 da
@@ -891,11 +911,15 @@
 da
 40
 00
-df
+e4
 20
 20
 31
 8a
+70
+4b
+e5
+1e
 6f
 e0
 cb
@@ -903,7 +927,7 @@
 c0
 00
 80
-e6
+ec
 70
 4b
 e6
@@ -963,7 +987,7 @@
 c0
 04
 80
-f1
+f7
 20
 20
 4d
@@ -1063,7 +1087,7 @@
 c0
 02
 01
-0a
+10
 20
 20
 19
@@ -1079,11 +1103,11 @@
 c0
 05
 01
-0f
+15
 c0
 09
 01
-1c
+22
 20
 20
 1c
@@ -1103,7 +1127,7 @@
 c2
 81
 81
-17
+1d
 6f
 e1
 44
@@ -1131,11 +1155,11 @@
 24
 22
 81
-13
+19
 24
 34
 01
-13
+19
 20
 20
 1e
@@ -1228,8 +1252,8 @@
 20
 3f
 75
-4b
-f0
+3b
+a3
 aa
 55
 40
@@ -1585,6 +1609,13 @@
 55
 01
 00
+e7
+4b
+05
+aa
+55
+01
+00
 66
 48
 00
@@ -2406,41 +2437,10 @@
 aa
 aa
 55
-c0
-5a
-47
-a8
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
+f7
+5c
+3c
+c2
 ff
 ff
 ff
@@ -8188,5 +8188,5 @@
 ff
 ff
 ff
-7b
-be
+4f
+34
Index: output/memmap.format
===================================================================
--- /YC1308AC/branch/mouse_project/XZR/YD08_Standard_2.4G_First/output/memmap.format	(revision 861)
+++ /YC1308AC/branch/mouse_project/XZR/YD08_Standard_2.4G_First/output/memmap.format	(working copy)
@@ -2207,6 +2207,7 @@
 0x4be4 mem_mouse_logo_led_gpio
 0x4be5 mem_logo_led_check_timer
 0x4be6 mem_mouse_logo_led_state
+0x4be7 mem_mouse_logo_commbination_key
 0x48d0 mem_remote_car_hard_soft_switch
 0x48d1 mem_remote_car_queue_each_size
 0x48d2 mem_remote_car_queue_length
Index: output/program.lis
===================================================================
--- /YC1308AC/branch/mouse_project/XZR/YD08_Standard_2.4G_First/output/program.lis	(revision 861)
+++ /YC1308AC/branch/mouse_project/XZR/YD08_Standard_2.4G_First/output/program.lis	(working copy)
@@ -10,16 +10,16 @@
 0007 c0640058 beq patch19_0 ,p_mouse_before_hibernate 
 0008 c0648044 beq patch19_1 ,p_mouse_setgpio_hibernate 
 0009 c065004f beq patch19_2 ,p_mouse_lpm_before_common 
-000a c067012c beq patch19_6 ,p_mouse_motion 
+000a c0670132 beq patch19_6 ,p_mouse_motion 
 000b c0680080 beq patch1a_0 ,p_mouse_seting_dpi 
 000c c06b005a beq patch1a_6 ,p_mouse_priority_bb_event 
 000d c06c8091 beq patch1b_1 ,p_mouse_bb_event_timer 
-000e c07400e9 beq patch1d_0 ,p_hid_rx_process 
+000e c07400ef beq patch1d_0 ,p_hid_rx_process 
 000f 2020137c branch loop 
 
 pf_patch_ext:
-0010 c05080fd beq patch34_1 ,p_le_slave_match 
-0011 c0600107 beq patch38_0 ,p_le_parse_l2cap 
+0010 c0508103 beq patch34_1 ,p_le_slave_match 
+0011 c060010d beq patch38_0 ,p_le_parse_l2cap 
 0012 2020137c branch loop 
 
 p_soft_reset:
@@ -116,7 +116,7 @@
 0057 20203e44 branch mouse_lpm_before_common_next 
 
 p_mouse_before_hibernate:
-0058 204000e6 call p_mouse_logo_led_off 
+0058 204000ec call p_mouse_logo_led_off 
 0059 20203e26 branch mouse_before_hibernate + 1 
 
 p_mouse_priority_bb_event:
@@ -198,7 +198,7 @@
 0095 204047cd call mouse_24g_long_sleep_param_update_timer 
 0096 204048be call mouse_device_poweron_timer 
 0097 2040009d call p_mouse_dpi_led_blink_delay_timer 
-0098 204000da call p_mouse_logo_led_check 
+0098 204000da call p_mouse_logo_key_check 
 0099 204000b5 call p_mouse_dpi_key_check_long_press 
 009a 204044cc call mouse_bt_discovery_check 
 009b 204000c0 call p_mouse_commbination_key_process 
@@ -287,123 +287,131 @@
 00d8 204045ee call mouse_store_device_info_delay 
 00d9 202044d4 branch mouse_long_button_bt_discovery 
 
-p_mouse_logo_led_check:
-00da 6fe0c9dd fetch 1 ,mem_mouse_dpi_button_state 
-00db 247a0000 nrtn blank 
-
-p_mouse_logo_led_check_timer:
-00dc da604be5 arg mem_logo_led_check_timer ,regc 
-00dd da4000df arg p_mouse_logo_led_check_timeout ,regb 
-00de 2020318a branch timer_single_step 
+p_mouse_logo_key_check:
+00da 20404115 call mouse_check_key_gpio 
+00db 1fe17e07 and pdata ,0x07 ,pdata 
+00dc 6848cbe7 fetcht 1 ,mem_mouse_logo_commbination_key 
+00dd 98467c00 isub temp ,null 
+00de 202280e1 branch p_mouse_logo_key_down ,zero 
+
+p_mouse_logo_key_up:
+00df 704be51e jam 0x1e ,mem_logo_led_check_timer 
+00e0 20600000 rtn 
+
+p_mouse_logo_key_down:
+00e1 da604be5 arg mem_logo_led_check_timer ,regc 
+00e2 da4000e4 arg p_mouse_logo_led_check_timeout ,regb 
+00e3 2020318a branch timer_single_step 
 
 p_mouse_logo_led_check_timeout:
-00df 6fe0cbe6 fetch 1 ,mem_mouse_logo_led_state 
-00e0 c00080e6 beq on ,p_mouse_logo_led_off 
+00e4 704be51e jam 0x1e ,mem_logo_led_check_timer 
+00e5 6fe0cbe6 fetch 1 ,mem_mouse_logo_led_state 
+00e6 c00080ec beq on ,p_mouse_logo_led_off 
 
 p_mouse_logo_led_on:
-00e1 704be601 jam on ,mem_mouse_logo_led_state 
-00e2 6848cbe4 fetcht 1 ,mem_mouse_logo_led_gpio 
-00e3 20406069 call gpio_config_output 
-00e4 6848cbe4 fetcht 1 ,mem_mouse_logo_led_gpio 
-00e5 20206065 branch gpio_out_inactive 
+00e7 704be601 jam on ,mem_mouse_logo_led_state 
+00e8 6848cbe4 fetcht 1 ,mem_mouse_logo_led_gpio 
+00e9 20406069 call gpio_config_output 
+00ea 6848cbe4 fetcht 1 ,mem_mouse_logo_led_gpio 
+00eb 20206065 branch gpio_out_inactive 
 
 p_mouse_logo_led_off:
-00e6 704be600 jam off ,mem_mouse_logo_led_state 
-00e7 6848cbe4 fetcht 1 ,mem_mouse_logo_led_gpio 
-00e8 20206069 branch gpio_out_active 
+00ec 704be600 jam off ,mem_mouse_logo_led_state 
+00ed 6848cbe4 fetcht 1 ,mem_mouse_logo_led_gpio 
+00ee 20206069 branch gpio_out_active 
 
 p_hid_rx_process:
-00e9 6fe10315 fetch 2 ,mem_l2cap_payload_ptr 
-00ea 1fe20c00 copy pdata ,contr 
-00eb efe08006 ifetch 1 ,contr 
-00ec 67e0c5f5 store 1 ,mem_l2cap_rcv_hidtype 
-00ed 1fe1040f and pdata ,0x0f ,temp 
-00ee 1ff1fe00 rshift4 pdata ,pdata 
-00ef c00480f1 beq hid_type_set_idle ,p_hid_rx_process_handshake 
-00f0 20204d93 branch hid_rx_process + 7 
+00ef 6fe10315 fetch 2 ,mem_l2cap_payload_ptr 
+00f0 1fe20c00 copy pdata ,contr 
+00f1 efe08006 ifetch 1 ,contr 
+00f2 67e0c5f5 store 1 ,mem_l2cap_rcv_hidtype 
+00f3 1fe1040f and pdata ,0x0f ,temp 
+00f4 1ff1fe00 rshift4 pdata ,pdata 
+00f5 c00480f7 beq hid_type_set_idle ,p_hid_rx_process_handshake 
+00f6 20204d93 branch hid_rx_process + 7 
 
 p_hid_rx_process_handshake:
-00f1 da200001 arg 1 ,rega 
-00f2 20404dc0 call hid_malloc_tx_buff 
-00f3 6fe144dc fetch 2 ,mem_hid_ctrl_remote_cid 
-00f4 e7e10005 istore 2 ,contw 
-00f5 58000000 setarg 0 
-00f6 e7e08005 istore 1 ,contw 
-00f7 70095001 jam 1 ,mem_ui_data_txbuff_length 
-00f8 6fe0c4e2 fetch 1 ,mem_hid_control_state 
-00f9 79207e06 set1 l2cap_channel_hid_handshake_done ,pdata 
-00fa 67e0c4e2 store 1 ,mem_hid_control_state 
-00fb 70095b12 jam bt_evt_hid_handshake ,mem_fifo_temp 
-00fc 20207871 branch ui_ipc_send_event 
+00f7 da200001 arg 1 ,rega 
+00f8 20404dc0 call hid_malloc_tx_buff 
+00f9 6fe144dc fetch 2 ,mem_hid_ctrl_remote_cid 
+00fa e7e10005 istore 2 ,contw 
+00fb 58000000 setarg 0 
+00fc e7e08005 istore 1 ,contw 
+00fd 70095001 jam 1 ,mem_ui_data_txbuff_length 
+00fe 6fe0c4e2 fetch 1 ,mem_hid_control_state 
+00ff 79207e06 set1 l2cap_channel_hid_handshake_done ,pdata 
+0100 67e0c4e2 store 1 ,mem_hid_control_state 
+0101 70095b12 jam bt_evt_hid_handshake ,mem_fifo_temp 
+0102 20207871 branch ui_ipc_send_event 
 
 p_le_slave_match:
-00fd 6fe0c3dd fetch 1 ,mem_le_md_count 
-00fe 1fe0fe01 pincrease 1 
-00ff 67e0c3dd store 1 ,mem_le_md_count 
-0100 c006165a beq le_md_max_count ,le_slave_cont 
-0101 2040191b call le_acknowledge 
-0102 2040196a call le_prepare_tx 
-0103 6fe082bd fetch 1 ,mem_le_tx_phy 
-0104 2040168b call le_enable_phy_by_pdata 
-0105 20401838 call le_transmit 
-0106 20201655 branch le_slave_match + 10 
+0103 6fe0c3dd fetch 1 ,mem_le_md_count 
+0104 1fe0fe01 pincrease 1 
+0105 67e0c3dd store 1 ,mem_le_md_count 
+0106 c006165a beq le_md_max_count ,le_slave_cont 
+0107 2040191b call le_acknowledge 
+0108 2040196a call le_prepare_tx 
+0109 6fe082bd fetch 1 ,mem_le_tx_phy 
+010a 2040168b call le_enable_phy_by_pdata 
+010b 20401838 call le_transmit 
+010c 20201655 branch le_slave_match + 10 
 
 p_le_parse_l2cap:
-0107 efe10006 ifetch 2 ,contr 
-0108 c002010a beq le_l2cap_cid_att ,p_le_parse_att 
-0109 202019e4 branch le_parse_l2cap2 + 3 
+010d efe10006 ifetch 2 ,contr 
+010e c0020110 beq le_l2cap_cid_att ,p_le_parse_att 
+010f 202019e4 branch le_parse_l2cap2 + 3 
 
 p_le_parse_att:
-010a efe18006 ifetch 3 ,contr 
-010b 67e1c436 store 3 ,mem_le_att_opcode 
-010c c005010f beq attop_read_request ,p_le_parse_att_read_request 
-010d c009011c beq attop_write_request ,p_le_parse_att_write_request 
-010e 20201cd3 branch le_parse_att + 2 
+0110 efe18006 ifetch 3 ,contr 
+0111 67e1c436 store 3 ,mem_le_att_opcode 
+0112 c0050115 beq attop_read_request ,p_le_parse_att_read_request 
+0113 c0090122 beq attop_write_request ,p_le_parse_att_write_request 
+0114 20201cd3 branch le_parse_att + 2 
 
 p_le_parse_att_read_request:
-010f 20401e8d call le_check_encrypt_state 
-0110 68494437 fetcht 2 ,mem_le_att_handle 
-0111 6fe0c3c0 fetch 1 ,mem_le_configuration 
-0112 c2818117 bbit1 bit_ble_read_auth ,p_le_send_att_read_response_check_auth 
+0115 20401e8d call le_check_encrypt_state 
+0116 68494437 fetcht 2 ,mem_le_att_handle 
+0117 6fe0c3c0 fetch 1 ,mem_le_configuration 
+0118 c281811d bbit1 bit_ble_read_auth ,p_le_send_att_read_response_check_auth 
 
 p_le_send_att_read_response:
-0113 6fe14437 fetch 2 ,mem_le_att_handle 
-0114 c0181ec8 beq 0x30 ,le_send_att_error_response_notfound 
-0115 68494437 fetcht 2 ,mem_le_att_handle 
-0116 20201deb branch le_send_att_read_response 
+0119 6fe14437 fetch 2 ,mem_le_att_handle 
+011a c0181ec8 beq 0x30 ,le_send_att_error_response_notfound 
+011b 68494437 fetcht 2 ,mem_le_att_handle 
+011c 20201deb branch le_send_att_read_response 
 
 p_le_send_att_read_response_check_auth:
-0117 6fe143d1 fetch 2 ,mem_le_pairing_handle 
-0118 98467c00 isub temp ,null 
-0119 24228113 nbranch p_le_send_att_read_response ,zero 
-011a 24340113 nbranch p_le_send_att_read_response ,user 
-011b 20201e10 branch le_send_att_read_response_error_insufficient_auth 
+011d 6fe143d1 fetch 2 ,mem_le_pairing_handle 
+011e 98467c00 isub temp ,null 
+011f 24228119 nbranch p_le_send_att_read_response ,zero 
+0120 24340119 nbranch p_le_send_att_read_response ,user 
+0121 20201e10 branch le_send_att_read_response_error_insufficient_auth 
 
 p_le_parse_att_write_request:
-011c 18c22200 copy contr ,rega 
-011d 6fe143d4 fetch 2 ,mem_le_l2cap_size 
-011e 1fe0a5fd add pdata ,-3 ,regb 
-011f 20401a25 call le_writeatt_cb 
-0120 6fe0cac1 fetch 1 ,mem_mouse_bluetooth_fast_conn_flag 
-0121 c07f9e73 beq 0xff ,le_send_att_write_response_check_auth 
-0122 6fe0cac7 fetch 1 ,mem_mouse_le_reconnect_flag 
-0123 203a1e73 branch le_send_att_write_response_check_auth ,blank 
-0124 6fe0cb75 fetch 1 ,mem_le_connect_status_flag 
-0125 c2809e73 bbit1 ll_start_enc_flag ,le_send_att_write_response_check_auth 
-0126 5800001a setarg 0x001a 
-0127 68494437 fetcht 2 ,mem_le_att_handle 
-0128 98467c00 isub temp ,null 
-0129 24229e73 nbranch le_send_att_write_response_check_auth ,zero 
-012a 7002d805 jam att_err_insufficient_authentication ,mem_le_err_code 
-012b 20201ec9 branch le_send_att_error_response 
+0122 18c22200 copy contr ,rega 
+0123 6fe143d4 fetch 2 ,mem_le_l2cap_size 
+0124 1fe0a5fd add pdata ,-3 ,regb 
+0125 20401a25 call le_writeatt_cb 
+0126 6fe0cac1 fetch 1 ,mem_mouse_bluetooth_fast_conn_flag 
+0127 c07f9e73 beq 0xff ,le_send_att_write_response_check_auth 
+0128 6fe0cac7 fetch 1 ,mem_mouse_le_reconnect_flag 
+0129 203a1e73 branch le_send_att_write_response_check_auth ,blank 
+012a 6fe0cb75 fetch 1 ,mem_le_connect_status_flag 
+012b c2809e73 bbit1 ll_start_enc_flag ,le_send_att_write_response_check_auth 
+012c 5800001a setarg 0x001a 
+012d 68494437 fetcht 2 ,mem_le_att_handle 
+012e 98467c00 isub temp ,null 
+012f 24229e73 nbranch le_send_att_write_response_check_auth ,zero 
+0130 7002d805 jam att_err_insufficient_authentication ,mem_le_err_code 
+0131 20201ec9 branch le_send_att_error_response 
 
 p_mouse_motion:
-012c 78547c00 disable user 
-012d 58000000 setarg 0 
-012e 67e348d1 store 6 ,mem_mouse_x 
-012f 20404240 call mouse_check_sensor_data 
-0130 2040408e call mouse_dpi_config 
-0131 20203f75 branch mouse_motion + 5 
+0132 78547c00 disable user 
+0133 58000000 setarg 0 
+0134 67e348d1 store 6 ,mem_mouse_x 
+0135 20404240 call mouse_check_sensor_data 
+0136 2040408e call mouse_dpi_config 
+0137 20203f75 branch mouse_motion + 5 
               org 0x800
 
 start:
Index: program/patch.prog
===================================================================
--- /YC1308AC/branch/mouse_project/XZR/YD08_Standard_2.4G_First/program/patch.prog	(revision 861)
+++ /YC1308AC/branch/mouse_project/XZR/YD08_Standard_2.4G_First/program/patch.prog	(working copy)
@@ -211,7 +211,7 @@
 	//led
 	call mouse_device_poweron_timer
 	call p_mouse_dpi_led_blink_delay_timer
-	call p_mouse_logo_led_check
+	call p_mouse_logo_key_check
 
 	call p_mouse_dpi_key_check_long_press
 	call mouse_bt_discovery_check
@@ -300,10 +300,17 @@
 	call mouse_store_device_info_delay
 	branch mouse_long_button_bt_discovery
 
-p_mouse_logo_led_check:
-	fetch 1,mem_mouse_dpi_button_state
-	nrtn blank
-p_mouse_logo_led_check_timer:
+p_mouse_logo_key_check:
+	call mouse_check_key_gpio
+	and pdata,0x07,pdata
+	fetcht 1,mem_mouse_logo_commbination_key
+	isub temp,null
+	branch p_mouse_logo_key_down,zero
+p_mouse_logo_key_up:
+	jam 0x1e,mem_logo_led_check_timer
+	rtn
+	
+p_mouse_logo_key_down:
 	arg mem_logo_led_check_timer,regc
 	arg p_mouse_logo_led_check_timeout,regb
 	branch timer_single_step
Index: sched/mouse.dat
===================================================================
--- /YC1308AC/branch/mouse_project/XZR/YD08_Standard_2.4G_First/sched/mouse.dat	(revision 861)
+++ /YC1308AC/branch/mouse_project/XZR/YD08_Standard_2.4G_First/sched/mouse.dat	(working copy)
@@ -185,6 +185,7 @@
 #bit0:mouse_key_l    bit1:mouse_key_r  bit2:mouse_key_m
 mem_mouse_commbination_key_bt:07
 mem_mouse_commbination_key_24g:06
+mem_mouse_logo_commbination_key:05
 mem_24g_ch_map_update:00
 mem_store_information_delay_timer_init:02
 
