Index: output/eeprom.dat
===================================================================
--- /YC1308AF/branch/mouse/YDN_Project/YDN_mouse_public_pair_version/output/eeprom.dat	(revision 4442)
+++ /YC1308AF/branch/mouse/YDN_Project/YDN_mouse_public_pair_version/output/eeprom.dat	(working copy)
@@ -2,8 +2,8 @@
 02
 aa
 55
-f2
-18
+2a
+19
 c2
 84
 00
@@ -71,7 +71,7 @@
 c0
 68
 06
-06
+07
 c0
 69
 03
@@ -3903,7 +3903,7 @@
 20
 40
 06
-36
+37
 d8
 40
 00
@@ -4123,7 +4123,7 @@
 20
 40
 06
-39
+3a
 68
 48
 c9
@@ -6167,11 +6167,15 @@
 20
 40
 06
+07
+20
+40
 06
+3d
 20
 20
 41
-1d
+1e
 6f
 e0
 cb
@@ -6187,15 +6191,15 @@
 20
 40
 06
-0d
+0e
 20
 40
 06
-1c
+1d
 20
 40
 06
-29
+2a
 20
 20
 41
@@ -6207,7 +6211,7 @@
 20
 40
 06
-36
+37
 20
 40
 41
@@ -6227,7 +6231,7 @@
 20
 40
 06
-36
+37
 20
 40
 41
@@ -6247,7 +6251,7 @@
 20
 40
 06
-36
+37
 20
 40
 41
@@ -6291,7 +6295,7 @@
 c0
 7f
 86
-25
+26
 20
 20
 41
@@ -6303,7 +6307,7 @@
 20
 40
 06
-39
+3a
 68
 48
 c9
@@ -6343,7 +6347,7 @@
 c0
 7f
 86
-32
+33
 20
 20
 41
@@ -6355,7 +6359,7 @@
 20
 40
 06
-39
+3a
 68
 48
 c9
@@ -6388,8 +6392,60 @@
 20
 61
 2c
-fc
-cb
+70
+4b
+a9
+00
+70
+4b
+aa
+00
+70
+4b
+ab
+00
+1f
+e2
+04
+00
+20
+40
+06
+44
+20
+40
+06
+47
+20
+20
+41
+33
+18
+41
+7e
+11
+c0
+08
+c1
+4e
+20
+60
+00
+00
+18
+41
+7e
+0a
+c0
+05
+41
+4e
+20
+60
+00
+00
+ef
+1f
 aa
 55
 40
@@ -6561,8 +6617,8 @@
 00
 11
 49
-0e
 0f
+0e
 0d
 03
 ff
@@ -7719,64 +7775,8 @@
 55
 da
 92
-fb
-77
-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
-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
+b6
+92
 ff
 ff
 ff
@@ -8188,5 +8188,5 @@
 ff
 ff
 ff
-86
-79
+bf
+01
Index: output/program.lis
===================================================================
--- /YC1308AF/branch/mouse/YDN_Project/YDN_mouse_public_pair_version/output/program.lis	(revision 4442)
+++ /YC1308AF/branch/mouse/YDN_Project/YDN_mouse_public_pair_version/output/program.lis	(working copy)
@@ -16,7 +16,7 @@
 000d c06685df beq patch19_5 ,p_mouse_motion 
 000e c0670408 beq patch19_6 ,p_mouse_dpi_process 
 000f c0678419 beq patch19_7 ,p_mouse_seting_dpi 
-0010 c0680606 beq patch1a_0 ,p_mouse_check_key_gpio 
+0010 c0680607 beq patch1a_0 ,p_mouse_check_key_gpio 
 0011 c069038e beq patch1a_2 ,p_mouse_init_sunt 
 0012 c06983aa beq patch1a_3 ,p_mouse_sensor_poweron 
 0013 c06a8464 beq patch1a_5 ,p_mouse_priority_bb_event 
@@ -1306,7 +1306,7 @@
 03cb 6848c914 fetcht 1 ,mem_matrix_public_gpio 
 03cc 204060e6 call gpio_clr_wake 
 03cd 6fe0c924 fetch 1 ,mem_mouse_sensor_sdio_gpio 
-03ce 20400636 call p_mouse_gpio_config_output_high 
+03ce 20400637 call p_mouse_gpio_config_output_high 
 03cf d8400003 arg 3 ,temp 
 03d0 20403f96 call mouse_gpio_config_input_pu 
 03d1 20403e80 call mouse_lpm_before_common 
@@ -1381,7 +1381,7 @@
 
 p_mouse_3io6key_dpi_check:
 0404 6fe0c913 fetch 1 ,mem_dpi_button_gpio 
-0405 20400639 call p_mouse_gpio_config_output_low 
+0405 2040063a call p_mouse_gpio_config_output_low 
 0406 6848c913 fetcht 1 ,mem_dpi_button_gpio 
 0407 202041d5 branch mouse_3io6key_check 
 
@@ -2084,82 +2084,102 @@
 0603 20204758 branch mouse_drawing_optima 
 
 p_mouse_key:
-0604 20400606 call p_mouse_check_key_gpio 
-0605 2020411d branch mouse_key + 1 
+0604 20400607 call p_mouse_check_key_gpio 
+0605 2040063d call p_mouse_ghost_key_check 
+0606 2020411e branch mouse_key + 2 
 
 p_mouse_check_key_gpio:
-0606 6fe0cbf2 fetch 1 ,mem_sensor_shutdown_flag 
-0607 245a4161 ncall mouse_check_key_gpio_once ,blank 
-0608 da200000 arg 0 ,rega 
-0609 2040060d call p_mouse_check_lkey_gpio 
-060a 2040061c call p_mouse_check_bkkey_gpio 
-060b 20400629 call p_mouse_check_fwkey_gpio 
-060c 2020415e branch mouse_check_key_gpio_next 
+0607 6fe0cbf2 fetch 1 ,mem_sensor_shutdown_flag 
+0608 245a4161 ncall mouse_check_key_gpio_once ,blank 
+0609 da200000 arg 0 ,rega 
+060a 2040060e call p_mouse_check_lkey_gpio 
+060b 2040061d call p_mouse_check_bkkey_gpio 
+060c 2040062a call p_mouse_check_fwkey_gpio 
+060d 2020415e branch mouse_check_key_gpio_next 
 
 p_mouse_check_lkey_gpio:
-060d 6fe0c91c fetch 1 ,mem_lbutton_gpio 
-060e 20400636 call p_mouse_gpio_config_output_high 
-060f 20404164 call mouse_check_lkey_gpio 
-0610 6848c91c fetcht 1 ,mem_lbutton_gpio 
-0611 20403f96 call mouse_gpio_config_input_pu 
+060e 6fe0c91c fetch 1 ,mem_lbutton_gpio 
+060f 20400637 call p_mouse_gpio_config_output_high 
+0610 20404164 call mouse_check_lkey_gpio 
+0611 6848c91c fetcht 1 ,mem_lbutton_gpio 
+0612 20403f96 call mouse_gpio_config_input_pu 
 
 p_mouse_check_rkey_gpio:
-0612 6fe0c91d fetch 1 ,mem_rbutton_gpio 
-0613 20400636 call p_mouse_gpio_config_output_high 
-0614 2040416a call mouse_check_rkey_gpio 
-0615 6848c91d fetcht 1 ,mem_rbutton_gpio 
-0616 20403f96 call mouse_gpio_config_input_pu 
+0613 6fe0c91d fetch 1 ,mem_rbutton_gpio 
+0614 20400637 call p_mouse_gpio_config_output_high 
+0615 2040416a call mouse_check_rkey_gpio 
+0616 6848c91d fetcht 1 ,mem_rbutton_gpio 
+0617 20403f96 call mouse_gpio_config_input_pu 
 
 p_mouse_check_mkey_gpio:
-0617 6fe0c91e fetch 1 ,mem_mbutton_gpio 
-0618 20400636 call p_mouse_gpio_config_output_high 
-0619 20404170 call mouse_check_mkey_gpio 
-061a 6848c91e fetcht 1 ,mem_mbutton_gpio 
-061b 20203f96 branch mouse_gpio_config_input_pu 
+0618 6fe0c91e fetch 1 ,mem_mbutton_gpio 
+0619 20400637 call p_mouse_gpio_config_output_high 
+061a 20404170 call mouse_check_mkey_gpio 
+061b 6848c91e fetcht 1 ,mem_mbutton_gpio 
+061c 20203f96 branch mouse_gpio_config_input_pu 
 
 p_mouse_check_bkkey_gpio:
-061c 6fe0c911 fetch 1 ,mem_bk_button_gpio 
-061d c17f8000 rtneq gpio_disable 
-061e 704ba703 jam mouse_bk_key ,mem_mouse_key_temp 
-061f 6fe0cba2 fetch 1 ,mem_mouse_bkkey_press_status 
-0620 1fe22600 copy pdata ,regc 
-0621 6848c911 fetcht 1 ,mem_bk_button_gpio 
-0622 6fe0c914 fetch 1 ,mem_matrix_public_gpio 
-0623 c07f8625 beq gpio_disable ,p_mouse_3io6key_bk_check 
-0624 2020417e branch mouse_check_bkkey_gpio_next 
+061d 6fe0c911 fetch 1 ,mem_bk_button_gpio 
+061e c17f8000 rtneq gpio_disable 
+061f 704ba703 jam mouse_bk_key ,mem_mouse_key_temp 
+0620 6fe0cba2 fetch 1 ,mem_mouse_bkkey_press_status 
+0621 1fe22600 copy pdata ,regc 
+0622 6848c911 fetcht 1 ,mem_bk_button_gpio 
+0623 6fe0c914 fetch 1 ,mem_matrix_public_gpio 
+0624 c07f8626 beq gpio_disable ,p_mouse_3io6key_bk_check 
+0625 2020417e branch mouse_check_bkkey_gpio_next 
 
 p_mouse_3io6key_bk_check:
-0625 6fe0c911 fetch 1 ,mem_bk_button_gpio 
-0626 20400639 call p_mouse_gpio_config_output_low 
-0627 6848c911 fetcht 1 ,mem_bk_button_gpio 
-0628 2020418b branch mouse_3io6key_bk_check 
+0626 6fe0c911 fetch 1 ,mem_bk_button_gpio 
+0627 2040063a call p_mouse_gpio_config_output_low 
+0628 6848c911 fetcht 1 ,mem_bk_button_gpio 
+0629 2020418b branch mouse_3io6key_bk_check 
 
 p_mouse_check_fwkey_gpio:
-0629 6fe0c912 fetch 1 ,mem_fw_button_gpio 
-062a c17f8000 rtneq gpio_disable 
-062b 704ba704 jam mouse_fw_key ,mem_mouse_key_temp 
-062c 6fe0cba3 fetch 1 ,mem_mouse_fwkey_press_status 
-062d 1fe22600 copy pdata ,regc 
-062e 6848c912 fetcht 1 ,mem_fw_button_gpio 
-062f 6fe0c914 fetch 1 ,mem_matrix_public_gpio 
-0630 c07f8632 beq gpio_disable ,p_mouse_3io6key_fw_check 
-0631 20204197 branch mouse_check_fwkey_gpio_next 
+062a 6fe0c912 fetch 1 ,mem_fw_button_gpio 
+062b c17f8000 rtneq gpio_disable 
+062c 704ba704 jam mouse_fw_key ,mem_mouse_key_temp 
+062d 6fe0cba3 fetch 1 ,mem_mouse_fwkey_press_status 
+062e 1fe22600 copy pdata ,regc 
+062f 6848c912 fetcht 1 ,mem_fw_button_gpio 
+0630 6fe0c914 fetch 1 ,mem_matrix_public_gpio 
+0631 c07f8633 beq gpio_disable ,p_mouse_3io6key_fw_check 
+0632 20204197 branch mouse_check_fwkey_gpio_next 
 
 p_mouse_3io6key_fw_check:
-0632 6fe0c912 fetch 1 ,mem_fw_button_gpio 
-0633 20400639 call p_mouse_gpio_config_output_low 
-0634 6848c912 fetcht 1 ,mem_fw_button_gpio 
-0635 202041a4 branch mouse_3io6key_fw_check 
+0633 6fe0c912 fetch 1 ,mem_fw_button_gpio 
+0634 2040063a call p_mouse_gpio_config_output_low 
+0635 6848c912 fetcht 1 ,mem_fw_button_gpio 
+0636 202041a4 branch mouse_3io6key_fw_check 
 
 p_mouse_gpio_config_output_high:
-0636 c17f8000 rtneq gpio_disable 
-0637 d840003f arg gpcfg_output_high ,temp 
-0638 2020612c branch gpio_config_function_int 
+0637 c17f8000 rtneq gpio_disable 
+0638 d840003f arg gpcfg_output_high ,temp 
+0639 2020612c branch gpio_config_function_int 
 
 p_mouse_gpio_config_output_low:
-0639 c17f8000 rtneq gpio_disable 
-063a d840003e arg gpcfg_output_low ,temp 
-063b 2020612c branch gpio_config_function_int 
+063a c17f8000 rtneq gpio_disable 
+063b d840003e arg gpcfg_output_low ,temp 
+063c 2020612c branch gpio_config_function_int 
+
+p_mouse_ghost_key_check:
+063d 704ba900 jam 0 ,mem_mouse_matrix_key_cow_count 
+063e 704baa00 jam 0 ,mem_mouse_matrix_key_row_count 
+063f 704bab00 jam 0 ,mem_mouse_ghost_flag 
+0640 1fe20400 copy pdata ,temp 
+0641 20400644 call p_mouse_ghost_key_check_l_fw 
+0642 20400647 call p_mouse_ghost_key_check_r_bk 
+0643 20204133 branch mouse_ghost_key_check + 6 
+
+p_mouse_ghost_key_check_l_fw:
+0644 18417e11 and temp ,mouse_l_fw_button ,pdata 
+0645 c008c14e beq mouse_l_fw_button ,mouse_matrix_cow_more_than_one_key 
+0646 20600000 rtn 
+
+p_mouse_ghost_key_check_r_bk:
+0647 18417e0a and temp ,mouse_r_bk_button ,pdata 
+0648 c005414e beq mouse_r_bk_button ,mouse_matrix_cow_more_than_one_key 
+0649 20600000 rtn 
               org 0x800
 
 start:
Index: program/patch.prog
===================================================================
--- /YC1308AF/branch/mouse/YDN_Project/YDN_mouse_public_pair_version/program/patch.prog	(revision 4442)
+++ /YC1308AF/branch/mouse/YDN_Project/YDN_mouse_public_pair_version/program/patch.prog	(working copy)
@@ -2372,8 +2372,8 @@
 
 p_mouse_key:
 	call p_mouse_check_key_gpio
-//	call p_mouse_ghost_key_check
-	branch mouse_key+1
+	call p_mouse_ghost_key_check
+	branch mouse_key+2
 
 p_mouse_check_key_gpio:
 	fetch 1,mem_sensor_shutdown_flag
@@ -2448,7 +2448,7 @@
 	rtneq GPIO_DISABLE
 	arg gpcfg_output_low,temp
 	branch gpio_config_function_int
-/*
+
 p_mouse_ghost_key_check:
 	jam 0,mem_mouse_matrix_key_cow_count
 	jam 0,mem_mouse_matrix_key_row_count
@@ -2467,7 +2467,6 @@
 	and temp,MOUSE_R_BK_BUTTON,pdata
 	beq MOUSE_R_BK_BUTTON,mouse_matrix_cow_more_than_one_key
 	rtn
-*/
 
 
 ifdef UART_LOG
Index: sched/mouse.dat
===================================================================
--- /YC1308AF/branch/mouse/YDN_Project/YDN_mouse_public_pair_version/sched/mouse.dat	(revision 4442)
+++ /YC1308AF/branch/mouse/YDN_Project/YDN_mouse_public_pair_version/sched/mouse.dat	(working copy)
@@ -108,8 +108,8 @@
 mem_rssi_dis_min_ble_init:75
 mem_rssi_dis_max_ble_init:80
 
-mem_bk_button_gpio:0e
-mem_fw_button_gpio:0f
+mem_bk_button_gpio:0f
+mem_fw_button_gpio:0e
 mem_dpi_button_gpio:0d
 mem_matrix_public_gpio:03
 mem_sensor_motion_gpio:ff
