Index: format/app_mouse.format
===================================================================
--- /YC1308AC/branch/mouse_project/YJX_Project/1011-T_Project/Multimode/PB_3mode_3ch_1IO2LED_FY158/format/app_mouse.format	(revision 4924)
+++ /YC1308AC/branch/mouse_project/YJX_Project/1011-T_Project/Multimode/PB_3mode_3ch_1IO2LED_FY158/format/app_mouse.format	(working copy)
@@ -392,6 +392,8 @@
 1 mem_sensor_s201_dpi_3
 1 mem_sensor_s201_dpi_4
 
+1 mem_mouse_customerkey_finish
+2 mem_mouse_temp_data
 )
 
 
Index: output/eeprom.dat
===================================================================
--- /YC1308AC/branch/mouse_project/YJX_Project/1011-T_Project/Multimode/PB_3mode_3ch_1IO2LED_FY158/output/eeprom.dat	(revision 4924)
+++ /YC1308AC/branch/mouse_project/YJX_Project/1011-T_Project/Multimode/PB_3mode_3ch_1IO2LED_FY158/output/eeprom.dat	(working copy)
@@ -2,7 +2,7 @@
 02
 aa
 55
-06
+c6
 15
 c2
 84
@@ -63,11 +63,11 @@
 c0
 67
 04
-26
+31
 c0
 67
 85
-0c
+3c
 c0
 68
 02
@@ -75,15 +75,15 @@
 c0
 68
 84
-67
+76
 c0
 69
 84
-17
+22
 c0
 6a
 04
-37
+46
 c0
 6b
 01
@@ -95,11 +95,11 @@
 c0
 6d
 03
-95
+a0
 c0
 6d
 83
-c2
+cd
 c0
 6e
 00
@@ -107,7 +107,7 @@
 c0
 6f
 04
-9d
+b6
 c0
 6f
 80
@@ -115,7 +115,7 @@
 c0
 74
 03
-c9
+d4
 20
 20
 13
@@ -131,15 +131,15 @@
 c0
 43
 83
-c5
+d0
 c0
 50
 83
-dd
+e8
 c0
 60
 03
-e7
+f2
 c0
 6e
 82
@@ -159,7 +159,7 @@
 c0
 76
 04
-0e
+19
 20
 20
 13
@@ -775,7 +775,7 @@
 24
 55
 83
-14
+1f
 24
 55
 80
@@ -807,7 +807,7 @@
 20
 40
 04
-49
+58
 20
 20
 3b
@@ -815,7 +815,7 @@
 20
 40
 03
-0f
+1a
 20
 20
 00
@@ -959,15 +959,15 @@
 20
 40
 03
-47
+52
 20
 40
 03
-47
+52
 20
 20
 03
-49
+54
 58
 00
 00
@@ -1243,7 +1243,7 @@
 20
 20
 04
-49
+58
 20
 40
 26
@@ -1559,11 +1559,11 @@
 20
 40
 04
-42
+51
 20
 40
 04
-49
+58
 20
 20
 3e
@@ -1579,7 +1579,7 @@
 20
 40
 03
-55
+60
 20
 40
 00
@@ -1855,7 +1855,7 @@
 20
 40
 04
-49
+58
 20
 20
 01
@@ -2023,7 +2023,7 @@
 24
 5a
 03
-1a
+25
 20
 20
 32
@@ -2039,7 +2039,7 @@
 24
 5a
 03
-1a
+25
 20
 20
 43
@@ -2199,7 +2199,7 @@
 20
 40
 03
-1a
+25
 20
 20
 48
@@ -2235,7 +2235,7 @@
 20
 40
 03
-1a
+25
 20
 20
 02
@@ -2327,7 +2327,7 @@
 20
 40
 03
-14
+1f
 20
 20
 48
@@ -2371,7 +2371,7 @@
 20
 40
 03
-14
+1f
 20
 20
 48
@@ -2807,7 +2807,7 @@
 24
 5a
 03
-14
+1f
 20
 20
 48
@@ -2819,7 +2819,7 @@
 24
 5a
 03
-14
+1f
 20
 20
 48
@@ -2975,7 +2975,7 @@
 20
 3a
 03
-5e
+69
 67
 e0
 cb
@@ -3011,15 +3011,15 @@
 20
 40
 03
-5b
+66
 20
 40
 03
-1e
+29
 20
 40
-40
-7c
+03
+02
 20
 40
 44
@@ -3027,7 +3027,7 @@
 20
 40
 03
-73
+7e
 20
 40
 44
@@ -3035,7 +3035,7 @@
 20
 40
 03
-08
+13
 20
 40
 45
@@ -3043,7 +3043,7 @@
 20
 40
 03
-8a
+95
 20
 40
 45
@@ -3059,7 +3059,7 @@
 20
 40
 03
-02
+0d
 20
 40
 45
@@ -3075,15 +3075,59 @@
 20
 40
 03
-4b
+56
 20
 40
 03
-8d
+98
 20
 20
 03
-0c
+17
+6f
+e4
+4b
+ab
+c2
+94
+40
+80
+c2
+9b
+03
+06
+20
+60
+00
+00
+6f
+e0
+c9
+dd
+c1
+80
+80
+00
+da
+60
+4b
+9b
+da
+40
+03
+0b
+20
+20
+31
+8a
+70
+49
+de
+01
+20
+60
+00
+00
 da
 60
 4a
@@ -3091,7 +3135,7 @@
 da
 40
 03
-05
+10
 20
 20
 31
@@ -3103,7 +3147,7 @@
 c2
 99
 83
-95
+a0
 20
 20
 3e
@@ -3167,7 +3211,7 @@
 20
 40
 03
-35
+40
 6f
 e0
 cc
@@ -3211,7 +3255,7 @@
 c0
 00
 83
-2e
+39
 6f
 e0
 cc
@@ -3219,7 +3263,7 @@
 24
 3a
 03
-26
+31
 70
 4c
 41
@@ -3235,7 +3279,7 @@
 20
 3a
 03
-2b
+36
 1f
 e0
 ff
@@ -3247,7 +3291,7 @@
 20
 20
 03
-35
+40
 70
 4c
 45
@@ -3259,7 +3303,7 @@
 20
 20
 03
-41
+4c
 da
 60
 4c
@@ -3267,7 +3311,7 @@
 da
 40
 03
-31
+3c
 20
 20
 31
@@ -3287,7 +3331,7 @@
 c0
 00
 83
-41
+4c
 70
 4c
 4d
@@ -3299,15 +3343,15 @@
 c0
 00
 03
-3b
+46
 c0
 00
 83
-3d
+48
 c0
 01
 03
-3f
+4a
 20
 60
 00
@@ -3319,7 +3363,7 @@
 20
 20
 03
-40
+4b
 68
 48
 cc
@@ -3327,7 +3371,7 @@
 20
 20
 03
-40
+4b
 68
 48
 cc
@@ -3347,15 +3391,15 @@
 c0
 00
 03
-47
+52
 c0
 00
 83
-47
+52
 c0
 01
 03
-49
+54
 20
 60
 00
@@ -3415,7 +3459,7 @@
 20
 21
 03
-59
+64
 68
 48
 cb
@@ -3447,7 +3491,7 @@
 da
 40
 03
-5e
+69
 20
 20
 31
@@ -3503,11 +3547,11 @@
 20
 41
 03
-6d
+78
 24
 41
 03
-71
+7c
 20
 20
 48
@@ -3543,7 +3587,7 @@
 c0
 00
 03
-79
+84
 6f
 e4
 4b
@@ -3559,7 +3603,7 @@
 20
 20
 03
-7c
+87
 6f
 e4
 4b
@@ -3595,7 +3639,7 @@
 20
 22
 83
-83
+8e
 20
 20
 44
@@ -3603,7 +3647,7 @@
 20
 40
 03
-88
+93
 6f
 e0
 cb
@@ -3655,7 +3699,7 @@
 da
 40
 03
-92
+9d
 20
 20
 31
@@ -3719,7 +3763,7 @@
 c2
 85
 83
-a9
+b4
 6f
 e4
 4b
@@ -3727,7 +3771,7 @@
 c3
 04
 03
-a9
+b4
 68
 49
 49
@@ -3847,7 +3891,7 @@
 24
 3a
 03
-14
+1f
 20
 20
 48
@@ -3907,7 +3951,7 @@
 c0
 04
 83
-d1
+dc
 20
 20
 4d
@@ -4007,7 +4051,7 @@
 c0
 02
 03
-ea
+f5
 20
 20
 19
@@ -4023,11 +4067,11 @@
 c0
 05
 03
-ef
+fa
 c0
 09
-03
-fe
+04
+09
 20
 20
 1c
@@ -4054,8 +4098,8 @@
 c0
 c2
 81
-83
-f9
+84
+04
 6f
 e1
 44
@@ -4082,12 +4126,12 @@
 00
 24
 22
-83
-f5
+84
+00
 24
 34
-03
-f5
+04
+00
 20
 20
 1e
@@ -4211,7 +4255,7 @@
 c0
 18
 04
-1d
+28
 20
 20
 41
@@ -4223,7 +4267,7 @@
 c0
 68
 84
-20
+2b
 20
 20
 41
@@ -4239,7 +4283,7 @@
 c0
 50
 84
-24
+2f
 20
 20
 41
@@ -4280,10 +4324,18 @@
 40
 3f
 83
+6f
+e0
+cb
+8b
+24
+5a
+7e
+54
 20
 40
 04
-51
+60
 6f
 e0
 c8
@@ -4296,6 +4348,14 @@
 e0
 c8
 d0
+6f
+e0
+cb
+8b
+24
+5a
+7e
+54
 24
 34
 47
@@ -4303,7 +4363,7 @@
 20
 40
 04
-34
+43
 20
 20
 45
@@ -4331,7 +4391,7 @@
 c0
 05
 84
-3e
+4d
 20
 40
 42
@@ -4351,7 +4411,7 @@
 20
 40
 04
-45
+54
 da
 60
 4b
@@ -4371,7 +4431,7 @@
 c0
 05
 84
-45
+54
 20
 20
 42
@@ -4407,7 +4467,7 @@
 c0
 05
 84
-4f
+5e
 58
 00
 08
@@ -4427,11 +4487,11 @@
 20
 40
 04
-67
+76
 20
 40
 04
-54
+63
 20
 20
 40
@@ -4459,7 +4519,7 @@
 20
 40
 04
-64
+73
 20
 40
 41
@@ -4527,27 +4587,67 @@
 20
 40
 04
-70
+89
 20
 40
 04
-75
+8e
 20
 40
 04
-7a
+93
 20
 40
 04
-7f
+98
 20
 40
 04
-8c
+a5
+70
+4b
+8b
+00
+6f
+e0
+c9
+de
+24
+5a
+04
+84
+6f
+e0
+cc
+6d
+24
+5a
+04
+87
 20
 20
 41
-1e
+1f
+20
+40
+41
+7a
+70
+49
+de
+00
+20
+60
+00
+00
+70
+4c
+6d
+00
+20
+20
+41
+7d
 6f
 e0
 c9
@@ -4555,7 +4655,7 @@
 20
 40
 04
-99
+b2
 20
 40
 41
@@ -4575,7 +4675,7 @@
 20
 40
 04
-99
+b2
 20
 40
 41
@@ -4595,7 +4695,7 @@
 20
 40
 04
-99
+b2
 20
 40
 41
@@ -4639,7 +4739,7 @@
 c0
 7f
 84
-88
+a1
 20
 20
 41
@@ -4651,7 +4751,7 @@
 20
 40
 04
-9b
+b4
 68
 48
 c9
@@ -4691,7 +4791,7 @@
 c0
 7f
 84
-95
+ae
 20
 20
 41
@@ -4703,7 +4803,7 @@
 20
 40
 04
-9b
+b4
 68
 48
 c9
@@ -4739,11 +4839,11 @@
 20
 40
 04
-a2
+bb
 20
 40
 04
-a9
+c2
 20
 20
 46
@@ -4763,7 +4863,7 @@
 20
 40
 04
-b6
+cf
 d8
 e0
 00
@@ -4783,11 +4883,11 @@
 c2
 94
 84
-ad
+c6
 c2
 9b
 84
-ad
+c6
 20
 60
 00
@@ -4799,7 +4899,7 @@
 c2
 83
 04
-b4
+cd
 6f
 e0
 c9
@@ -4839,7 +4939,7 @@
 20
 40
 05
-1f
+4f
 20
 74
 00
@@ -4859,11 +4959,103 @@
 20
 40
 04
-bf
+ef
+67
+e0
+cb
+93
+6f
+e0
+c9
+10
+c0
+7f
+c0
+42
 20
+40
+41
+68
+1a
+22
+7e
+00
+c2
+82
+c0
+52
+20
+20
+04
+de
+6f
+e0
+c9
+dd
+c1
+00
+00
+00
+70
+49
+dd
+00
+6f
+e4
+4b
+ab
+c2
+94
+40
+60
+c2
+9b
+04
+e5
 20
+60
+00
+00
+6f
+e0
+c9
+de
+24
+3a
 40
-2f
+64
+6f
+e0
+cb
+9b
+24
+5a
+40
+69
+70
+49
+de
+00
+70
+4c
+6d
+01
+6f
+e0
+c7
+8f
+67
+e0
+cb
+9c
+67
+e0
+cb
+9b
+20
+20
+41
+7d
 6f
 e4
 4b
@@ -4887,7 +5079,7 @@
 c0
 7f
 84
-c6
+f6
 20
 20
 40
@@ -4899,7 +5091,7 @@
 20
 40
 04
-9b
+b4
 68
 48
 c9
@@ -4922,8 +5114,8 @@
 3a
 24
 3a
-04
-d3
+05
+03
 6f
 e0
 cc
@@ -4931,11 +5123,11 @@
 20
 40
 04
-99
+b2
 20
 40
-04
-e4
+05
+14
 68
 48
 cc
@@ -4963,7 +5155,7 @@
 20
 40
 04
-9b
+b4
 70
 4c
 3f
@@ -4978,12 +5170,12 @@
 3c
 20
 40
-04
-fd
+05
+2d
 20
 40
-04
-e8
+05
+18
 68
 48
 cc
@@ -5026,8 +5218,8 @@
 3c
 20
 40
-04
-f3
+05
+23
 67
 e0
 cc
@@ -5038,8 +5230,8 @@
 3e
 20
 3a
-04
-ef
+05
+1f
 6f
 e0
 cc
@@ -5103,11 +5295,11 @@
 c0
 03
 85
-08
+38
 c0
 00
 05
-0a
+3a
 20
 60
 00
@@ -5147,11 +5339,11 @@
 c0
 03
 85
-08
+38
 c0
 00
 05
-0a
+3a
 20
 60
 00
@@ -5187,7 +5379,7 @@
 c2
 9e
 85
-16
+46
 18
 42
 7e
@@ -5219,7 +5411,7 @@
 24
 3a
 05
-3a
+6a
 6f
 e4
 4b
@@ -5227,7 +5419,7 @@
 c2
 8e
 05
-2e
+5e
 18
 42
 7e
@@ -5239,11 +5431,11 @@
 c0
 00
 05
-2a
+5a
 c0
 01
 05
-28
+58
 20
 60
 00
@@ -5283,7 +5475,7 @@
 20
 20
 05
-13
+43
 58
 00
 00
@@ -5291,7 +5483,7 @@
 20
 20
 05
-13
+43
 58
 00
 00
@@ -5299,7 +5491,7 @@
 20
 20
 05
-13
+43
 58
 00
 00
@@ -5307,7 +5499,7 @@
 20
 20
 05
-13
+43
 18
 42
 7e
@@ -5319,15 +5511,15 @@
 c0
 00
 05
-2a
+5a
 c0
 01
 05
-2c
+5c
 c0
 01
 85
-28
+58
 20
 60
 00
@@ -5343,15 +5535,15 @@
 c0
 00
 05
-2c
+5c
 c0
 00
 85
-28
+58
 c0
 01
 85
-26
+56
 20
 60
 00
@@ -5363,7 +5555,7 @@
 c2
 8e
 05
-34
+64
 18
 42
 7e
@@ -5375,17 +5567,17 @@
 c0
 00
 05
-26
+56
 c0
 00
 85
-28
+58
 20
 60
 00
 00
-41
-76
+57
+cd
 aa
 55
 40
@@ -5530,11 +5722,11 @@
 4b
 04
 09
-4a
+6a
 10
 00
 22
-81
+c1
 1b
 aa
 55
@@ -5679,9 +5871,9 @@
 cc
 4b
 00
-05
+08
 00
-04
+07
 00
 00
 00
@@ -6723,208 +6915,16 @@
 02
 40
 00
-50
-1a
+10
+1b
 55
 aa
 aa
 55
-91
+b8
 92
-bd
-df
-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
-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
-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
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
+51
+1e
 ff
 ff
 ff
@@ -8188,5 +8188,5 @@
 ff
 ff
 ff
-2f
-37
+05
+3c
Index: output/memmap.format
===================================================================
--- /YC1308AC/branch/mouse_project/YJX_Project/1011-T_Project/Multimode/PB_3mode_3ch_1IO2LED_FY158/output/memmap.format	(revision 4924)
+++ /YC1308AC/branch/mouse_project/YJX_Project/1011-T_Project/Multimode/PB_3mode_3ch_1IO2LED_FY158/output/memmap.format	(working copy)
@@ -2256,6 +2256,8 @@
 0x4c6a mem_sensor_s201_dpi_2
 0x4c6b mem_sensor_s201_dpi_3
 0x4c6c mem_sensor_s201_dpi_4
+0x4c6d mem_mouse_customerkey_finish
+0x4c6e mem_mouse_temp_data
 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/YJX_Project/1011-T_Project/Multimode/PB_3mode_3ch_1IO2LED_FY158/output/program.lis	(revision 4924)
+++ /YC1308AC/branch/mouse_project/YJX_Project/1011-T_Project/Multimode/PB_3mode_3ch_1IO2LED_FY158/output/program.lis	(working copy)
@@ -14,33 +14,33 @@
 000b c0648187 beq patch19_1 ,p_mouse_setgpio_hibernate 
 000c c06501be beq patch19_2 ,p_mouse_lpm_before_common 
 000d c066009e beq patch19_4 ,p_mouse_adc_read_start 
-000e c0670426 beq patch19_6 ,p_mouse_motion 
-000f c067850c beq patch19_7 ,p_mouse_dpi_process 
+000e c0670431 beq patch19_6 ,p_mouse_motion 
+000f c067853c beq patch19_7 ,p_mouse_dpi_process 
 0010 c06802c1 beq patch1a_0 ,p_mouse_seting_dpi 
-0011 c0688467 beq patch1a_1 ,p_mouse_check_key_gpio 
-0012 c0698417 beq patch1a_3 ,p_mouse_init_sunt 
-0013 c06a0437 beq patch1a_4 ,p_mouse_sensor_poweron 
+0011 c0688476 beq patch1a_1 ,p_mouse_check_key_gpio 
+0012 c0698422 beq patch1a_3 ,p_mouse_init_sunt 
+0013 c06a0446 beq patch1a_4 ,p_mouse_sensor_poweron 
 0014 c06b01e9 beq patch1a_6 ,p_mouse_priority_bb_event 
 0015 c06c82e9 beq patch1b_1 ,p_mouse_bb_event_timer 
-0016 c06d0395 beq patch1b_2 ,p_mouse_start_discovery 
-0017 c06d83c2 beq patch1b_3 ,p_mouse_stop_discovery 
+0016 c06d03a0 beq patch1b_2 ,p_mouse_start_discovery 
+0017 c06d83cd beq patch1b_3 ,p_mouse_stop_discovery 
 0018 c06e0028 beq patch1b_4 ,p_mouse_store_remote_bdaddr 
-0019 c06f049d beq patch1b_6 ,p_mouse_idle 
+0019 c06f04b6 beq patch1b_6 ,p_mouse_idle 
 001a c06f802e beq patch1b_7 ,p_mouse_ready_reconnection_by_button 
-001b c07403c9 beq patch1d_0 ,p_hid_rx_process 
+001b c07403d4 beq patch1d_0 ,p_hid_rx_process 
 001c 2020137c branch loop 
 
 pf_patch_ext:
 001d c019807e beq patch26_3 ,p_adc_init_data 
 001e c01a0083 beq patch26_4 ,p_enable_adc 
-001f c04383c5 beq patch30_7 ,p_ui_timer_check 
-0020 c05083dd beq patch34_1 ,p_le_slave_match 
-0021 c06003e7 beq patch38_0 ,p_le_parse_l2cap 
+001f c04383d0 beq patch30_7 ,p_ui_timer_check 
+0020 c05083e8 beq patch34_1 ,p_le_slave_match 
+0021 c06003f2 beq patch38_0 ,p_le_parse_l2cap 
 0022 c06e8298 beq patch3b_5 ,p_g24_dispatch 
 0023 c071025e beq patch3c_2 ,p_g24_pair_dispatch 
 0024 c0748266 beq patch3d_1 ,p_g24_reconn_dispatch 
 0025 c0750136 beq patch3d_2 ,p_g24_transmit_no_interrupt 
-0026 c076040e beq patch3d_4 ,p_g24_lpm_wait 
+0026 c0760419 beq patch3d_4 ,p_g24_lpm_wait 
 0027 2020137c branch loop 
 
 p_mouse_store_remote_bdaddr:
@@ -242,7 +242,7 @@
 00bd 20406df3 call enable_authrom 
 00be 204000da call p_mouse_setting_config 
 00bf 245580d4 ncall p_mouse_le_name_load ,wake 
-00c0 24558314 ncall p_mouse_multi_led_blink_enable ,wake 
+00c0 2455831f ncall p_mouse_multi_led_blink_enable ,wake 
 00c1 24558050 ncall p_mouse_reconn_led_init ,wake 
 00c2 204041a7 call mouse_init_sunt 
 00c3 20758000 rtn wake 
@@ -250,11 +250,11 @@
 00c5 20403d8a call mouse_usb_check_enable 
 00c6 20404728 call mouse_drawing_optima_init 
 00c7 204000f1 call p_mouse_cb_fuction 
-00c8 20400449 call p_mouse_sensor_powerdown 
+00c8 20400458 call p_mouse_sensor_powerdown 
 00c9 20203bc9 branch mouse_init + 8 
 
 p_mouse_load_default_param:
-00ca 2040030f call p_mouse_device_multi_led_poweron2s_init 
+00ca 2040031a call p_mouse_device_multi_led_poweron2s_init 
 00cb 202000cc branch p_mouse_double_dpi_judge 
 
 p_mouse_double_dpi_judge:
@@ -308,9 +308,9 @@
 00ed 20203f1e branch mouse_gpio_init 
 
 p_mouse_1io2led_all_off:
-00ee 20400347 call p_mouse_device_24g_led_off 
-00ef 20400347 call p_mouse_device_bt1_led_off 
-00f0 20200349 branch p_mouse_device_bt2_led_off 
+00ee 20400352 call p_mouse_device_24g_led_off 
+00ef 20400352 call p_mouse_device_bt1_led_off 
+00f0 20200354 branch p_mouse_device_bt2_led_off 
 
 p_mouse_cb_fuction:
 00f1 580000f6 setarg p_mouse_24g_package_data 
@@ -397,7 +397,7 @@
 0132 67e0cba4 store 1 ,mem_mouse_search_dongle_action 
 0133 6fe14bbc fetch 2 ,mem_mouse_24g_search_dongle_time_init 
 0134 67e14ab2 store 2 ,mem_mouse_no_data_timer 
-0135 20200449 branch p_mouse_sensor_powerdown 
+0135 20200458 branch p_mouse_sensor_powerdown 
 
 p_g24_transmit_no_interrupt:
 0136 20402631 call g24_txdata_prep 
@@ -504,14 +504,14 @@
 0181 58000006 setarg pan_reg_config 
 0182 20405b0d call twspi_read 
 0183 c281be23 bbit1 3 ,mouse_app_enter_hibernate + 3 
-0184 20400442 call p_mouse_sensor_reset 
-0185 20400449 call p_mouse_sensor_powerdown 
+0184 20400451 call p_mouse_sensor_reset 
+0185 20400458 call p_mouse_sensor_powerdown 
 0186 20203e23 branch mouse_app_enter_hibernate + 3 
 
 p_mouse_setgpio_hibernate:
 0187 204042e9 call mouse_set_sdio_high 
 0188 20407fdc call clear_wake 
-0189 20400355 call p_mouse_logo_led_off 
+0189 20400360 call p_mouse_logo_led_off 
 018a 204000ee call p_mouse_1io2led_all_off 
 018b 20404015 call mouse_before_hibernate_wheel_gpio_set 
 018c 6848c910 fetcht 1 ,mem_matrix_public_gpio 
@@ -594,7 +594,7 @@
 01cb 58000000 setarg 0 
 01cc 67e3c8d0 store 7 ,mem_mouse_key 
 01cd 704be101 jam 1 ,mem_sensor_shutdown_flag 
-01ce 20400449 call p_mouse_sensor_powerdown 
+01ce 20400458 call p_mouse_sensor_powerdown 
 01cf 202001d5 branch p_g24_long_sleep 
 
 p_g24_nodata_transmit:
@@ -646,13 +646,13 @@
 01f5 204042ca call mouse_init_sensor_reset 
 01f6 204000ee call p_mouse_1io2led_all_off 
 01f7 6fe0cc40 fetch 1 ,mem_mouse_1io2led_led_enable 
-01f8 245a031a ncall p_mouse_multi_led_on_enable ,blank 
+01f8 245a0325 ncall p_mouse_multi_led_on_enable ,blank 
 01f9 20203244 branch app_hid_connected 
 
 p_mouse_le_bb_event_connected:
 01fa 204000ee call p_mouse_1io2led_all_off 
 01fb 6fe0cc40 fetch 1 ,mem_mouse_1io2led_led_enable 
-01fc 245a031a ncall p_mouse_multi_led_on_enable ,blank 
+01fc 245a0325 ncall p_mouse_multi_led_on_enable ,blank 
 01fd 20204350 branch mouse_le_bb_event_connected 
 
 p_mouse_bb_event_connected:
@@ -704,7 +704,7 @@
 0221 6fe0cc40 fetch 1 ,mem_mouse_1io2led_led_enable 
 0222 c0004859 beq 0 ,mouse_24g_pairing_complete_enable_poweron_timer 
 0223 204000ee call p_mouse_1io2led_all_off 
-0224 2040031a call p_mouse_multi_led_on_enable 
+0224 20400325 call p_mouse_multi_led_on_enable 
 0225 2020485a branch mouse_24g_pairing_complete_skip_poweron_timer 
 
 p_mouse_24g_attempt_success:
@@ -715,7 +715,7 @@
 022a 6fe0cc40 fetch 1 ,mem_mouse_1io2led_led_enable 
 022b c000022f beq 0 ,p_mouse_24g_attempt_success_next 
 022c 204000ee call p_mouse_1io2led_all_off 
-022d 2040031a call p_mouse_multi_led_on_enable 
+022d 20400325 call p_mouse_multi_led_on_enable 
 022e 20200230 branch p_mouse_24g_attempt_success_next + 1 
 
 p_mouse_24g_attempt_success_next:
@@ -746,7 +746,7 @@
 p_mouse_24g_start_auto_pair:
 0242 6fe0cc40 fetch 1 ,mem_mouse_1io2led_led_enable 
 0243 c0004811 beq 0 ,mouse_24g_start_auto_pair 
-0244 20400314 call p_mouse_multi_led_blink_enable 
+0244 2040031f call p_mouse_multi_led_blink_enable 
 0245 20204812 branch mouse_24g_start_auto_pair + 1 
 
 p_mouse_24g_start_pair_mode:
@@ -759,7 +759,7 @@
 024c 2040498e call mouse_low_voltage_led_blink_disable 
 024d 6fe0cc40 fetch 1 ,mem_mouse_1io2led_led_enable 
 024e c000482d beq 0 ,mouse_24g_start_pair_mode_enable_blink_timer 
-024f 20400314 call p_mouse_multi_led_blink_enable 
+024f 2040031f call p_mouse_multi_led_blink_enable 
 0250 2020482e branch mouse_24g_start_pair_mode_skip_blink_timer 
 
 p_mouse_24g_auto_pair_attempt_fail:
@@ -900,12 +900,12 @@
 
 p_mouse_24g_reconn_dongle_start:
 02bb 6fe0cc40 fetch 1 ,mem_mouse_1io2led_led_enable 
-02bc 245a0314 ncall p_mouse_multi_led_blink_enable ,blank 
+02bc 245a031f ncall p_mouse_multi_led_blink_enable ,blank 
 02bd 20204806 branch mouse_24g_reconn_dongle_start 
 
 p_mouse_24g_reconn_general_dongle:
 02be 6fe0cc40 fetch 1 ,mem_mouse_1io2led_led_enable 
-02bf 245a0314 ncall p_mouse_multi_led_blink_enable ,blank 
+02bf 245a031f ncall p_mouse_multi_led_blink_enable ,blank 
 02c0 2020480c branch mouse_24g_reconn_general_dongle 
 
 p_mouse_seting_dpi:
@@ -962,7 +962,7 @@
 02e3 6fe0cba7 fetch 1 ,mem_mouse_device_poweron_timer_count 
 02e4 247a0000 nrtn blank 
 02e5 6fe0cbc1 fetch 1 ,mem_mouse_dpi_led_delay_count_init 
-02e6 203a035e branch p_mouse_dpi_led_blink_init ,blank 
+02e6 203a0369 branch p_mouse_dpi_led_blink_init ,blank 
 02e7 67e0cba8 store 1 ,mem_mouse_dpi_led_delay_count 
 02e8 20600000 rtn 
 
@@ -973,830 +973,896 @@
 02ec 20402556 call g24_reconn_timeout_timer 
 02ed 204047cd call mouse_24g_long_sleep_param_update_timer 
 02ee 204048be call mouse_device_poweron_timer 
-02ef 2040035b call p_mouse_dpi_led_blink_delay_timer 
-02f0 2040031e call p_mouse_led_multi_timer 
-02f1 2040407c call mouse_dpi_key_check_long_press 
+02ef 20400366 call p_mouse_dpi_led_blink_delay_timer 
+02f0 20400329 call p_mouse_led_multi_timer 
+02f1 20400302 call p_mouse_dpi_key_check_long_press 
 02f2 204044cc call mouse_bt_discovery_check 
-02f3 20400373 call p_mouse_commbination_key_process 
+02f3 2040037e call p_mouse_commbination_key_process 
 02f4 204044ff call mouse_check_discovery_timeout_timer 
-02f5 20400308 call p_mouse_check_direct_timeout_timer 
+02f5 20400313 call p_mouse_check_direct_timeout_timer 
 02f6 20404512 call mouse_le_enable_att_list_timer 
-02f7 2040038a call p_mouse_le_battery_updata_timer 
+02f7 20400395 call p_mouse_le_battery_updata_timer 
 02f8 20404515 call mouse_le_send_smp_security_request_timer 
 02f9 2040452a call mouse_check_hid_handshake_timer 
 02fa 2040452d call mouse_bt_check_sniff_req_timeout_timer 
-02fb 20400302 call p_mouse_check_reconnect_delay_long_sleep 
+02fb 2040030d call p_mouse_check_reconnect_delay_long_sleep 
 02fc 20404535 call mouse_current_mult_update_timer 
 02fd 20404022 call mouse_wheel_trigger_timer 
 02fe 20404547 call mouse_store_information_delay_timer 
-02ff 2040034b call p_mouse_logo_led_on_timer 
-0300 2040038d call p_mouse_check_no_data_timeout_timer 
-0301 2020030c branch p_mouse_g24_ota_reset_timer 
+02ff 20400356 call p_mouse_logo_led_on_timer 
+0300 20400398 call p_mouse_check_no_data_timeout_timer 
+0301 20200317 branch p_mouse_g24_ota_reset_timer 
+
+p_mouse_dpi_key_check_long_press:
+0302 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
+0303 c2944080 bbit1 mouse_enable_select_device_by_dpi_button ,mouse_select_device_by_dpi_button 
+0304 c29b0306 bbit1 mouse_enable_dpi_key_long_press_disconvery ,p_send_customer_by_dpi_button 
+0305 20600000 rtn 
+
+p_send_customer_by_dpi_button:
+0306 6fe0c9dd fetch 1 ,mem_mouse_dpi_button_state 
+0307 c1808000 rtnne dpi_button_state_down 
+0308 da604b9b arg mem_bt_discovery_count ,regc 
+0309 da40030b arg p_mouse_customerkey_press ,regb 
+030a 2020318a branch timer_single_step 
+
+p_mouse_customerkey_press:
+030b 7049de01 jam 1 ,mem_mouse_dpi_long_press_flag 
+030c 20600000 rtn 
 
 p_mouse_check_reconnect_delay_long_sleep:
-0302 da604ac4 arg mem_mouse_bluetooth_reconnect_timeout ,regc 
-0303 da400305 arg p_mouse_app_enter_hibernate_check ,regb 
-0304 2020318a branch timer_single_step 
+030d da604ac4 arg mem_mouse_bluetooth_reconnect_timeout ,regc 
+030e da400310 arg p_mouse_app_enter_hibernate_check ,regb 
+030f 2020318a branch timer_single_step 
 
 p_mouse_app_enter_hibernate_check:
-0305 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
-0306 c2998395 bbit1 mouse_enable_bt_reconnect_timeout_enter_discovery ,p_mouse_start_discovery 
-0307 20203e20 branch mouse_app_enter_hibernate 
+0310 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
+0311 c29983a0 bbit1 mouse_enable_bt_reconnect_timeout_enter_discovery ,p_mouse_start_discovery 
+0312 20203e20 branch mouse_app_enter_hibernate 
 
 p_mouse_check_direct_timeout_timer:
-0308 da604b77 arg mem_mouse_direct_timer ,regc 
-0309 da40450a arg mouse_check_direct_timeout ,regb 
-030a 2040318a call timer_single_step 
-030b 20204507 branch mouse_check_direct_timeout_timer + 3 
+0313 da604b77 arg mem_mouse_direct_timer ,regc 
+0314 da40450a arg mouse_check_direct_timeout ,regb 
+0315 2040318a call timer_single_step 
+0316 20204507 branch mouse_check_direct_timeout_timer + 3 
 
 p_mouse_g24_ota_reset_timer:
-030c da604c1d arg mem_g24_ota_reset_timer ,regc 
-030d da405d8c arg soft_reset_chip ,regb 
-030e 2020318a branch timer_single_step 
+0317 da604c1d arg mem_g24_ota_reset_timer ,regc 
+0318 da405d8c arg soft_reset_chip ,regb 
+0319 2020318a branch timer_single_step 
 
 p_mouse_device_multi_led_poweron2s_init:
-030f 6fe0cc46 fetch 1 ,mem_mouse_multi_led_powon2s_timer_init 
-0310 67e0cc47 store 1 ,mem_mouse_multi_led_powon2s_timer 
-0311 6fe0cc44 fetch 1 ,mem_mouse_multi_led_poweron2s_flag_init 
-0312 67e0cc45 store 1 ,mem_mouse_multi_led_poweron2s_flag 
-0313 20600000 rtn 
+031a 6fe0cc46 fetch 1 ,mem_mouse_multi_led_powon2s_timer_init 
+031b 67e0cc47 store 1 ,mem_mouse_multi_led_powon2s_timer 
+031c 6fe0cc44 fetch 1 ,mem_mouse_multi_led_poweron2s_flag_init 
+031d 67e0cc45 store 1 ,mem_mouse_multi_led_poweron2s_flag 
+031e 20600000 rtn 
 
 p_mouse_multi_led_blink_enable:
-0314 704c4101 jam 1 ,mem_mouse_multi_led_blink_enable 
-0315 704c4301 jam multi_led_blink ,mem_mouse_multi_led_type 
-0316 20400335 call p_mouse_device_multi_led_on 
-0317 6fe0cc4b fetch 1 ,mem_mouse_multi_led_blink_timer_init 
-0318 67e0cc4c store 1 ,mem_mouse_multi_led_blink_timer 
-0319 20600000 rtn 
+031f 704c4101 jam 1 ,mem_mouse_multi_led_blink_enable 
+0320 704c4301 jam multi_led_blink ,mem_mouse_multi_led_type 
+0321 20400340 call p_mouse_device_multi_led_on 
+0322 6fe0cc4b fetch 1 ,mem_mouse_multi_led_blink_timer_init 
+0323 67e0cc4c store 1 ,mem_mouse_multi_led_blink_timer 
+0324 20600000 rtn 
 
 p_mouse_multi_led_on_enable:
-031a 704c4101 jam 1 ,mem_mouse_multi_led_blink_enable 
-031b 704c4c00 jam 0 ,mem_mouse_multi_led_blink_timer 
-031c 704c4300 jam multi_led_on ,mem_mouse_multi_led_type 
-031d 20600000 rtn 
+0325 704c4101 jam 1 ,mem_mouse_multi_led_blink_enable 
+0326 704c4c00 jam 0 ,mem_mouse_multi_led_blink_timer 
+0327 704c4300 jam multi_led_on ,mem_mouse_multi_led_type 
+0328 20600000 rtn 
 
 p_mouse_led_multi_timer:
-031e 6fe0cc41 fetch 1 ,mem_mouse_multi_led_blink_enable 
-031f 207a0000 rtn blank 
-0320 6fe0cc43 fetch 1 ,mem_mouse_multi_led_type 
-0321 c000832e beq multi_led_blink ,p_mouse_multi_led_type_blink 
+0329 6fe0cc41 fetch 1 ,mem_mouse_multi_led_blink_enable 
+032a 207a0000 rtn blank 
+032b 6fe0cc43 fetch 1 ,mem_mouse_multi_led_type 
+032c c0008339 beq multi_led_blink ,p_mouse_multi_led_type_blink 
 
 p_mouse_multi_led_type_on:
-0322 6fe0cc45 fetch 1 ,mem_mouse_multi_led_poweron2s_flag 
-0323 243a0326 nbranch p_mouse_device_multi_led_poweron2s ,blank 
-0324 704c4100 jam 0 ,mem_mouse_multi_led_blink_enable 
-0325 20600000 rtn 
+032d 6fe0cc45 fetch 1 ,mem_mouse_multi_led_poweron2s_flag 
+032e 243a0331 nbranch p_mouse_device_multi_led_poweron2s ,blank 
+032f 704c4100 jam 0 ,mem_mouse_multi_led_blink_enable 
+0330 20600000 rtn 
 
 p_mouse_device_multi_led_poweron2s:
-0326 6fe0cc47 fetch 1 ,mem_mouse_multi_led_powon2s_timer 
-0327 203a032b branch p_mouse_multi_led_poweron2s_and_flag_off ,blank 
-0328 1fe0ffff increase -1 
-0329 67e0cc47 store 1 ,mem_mouse_multi_led_powon2s_timer 
-032a 20200335 branch p_mouse_device_multi_led_on 
+0331 6fe0cc47 fetch 1 ,mem_mouse_multi_led_powon2s_timer 
+0332 203a0336 branch p_mouse_multi_led_poweron2s_and_flag_off ,blank 
+0333 1fe0ffff increase -1 
+0334 67e0cc47 store 1 ,mem_mouse_multi_led_powon2s_timer 
+0335 20200340 branch p_mouse_device_multi_led_on 
 
 p_mouse_multi_led_poweron2s_and_flag_off:
-032b 704c4500 jam 0 ,mem_mouse_multi_led_poweron2s_flag 
-032c 704c4100 jam 0 ,mem_mouse_multi_led_blink_enable 
-032d 20200341 branch p_mouse_device_multi_led_off 
+0336 704c4500 jam 0 ,mem_mouse_multi_led_poweron2s_flag 
+0337 704c4100 jam 0 ,mem_mouse_multi_led_blink_enable 
+0338 2020034c branch p_mouse_device_multi_led_off 
 
 p_mouse_multi_led_type_blink:
-032e da604c4c arg mem_mouse_multi_led_blink_timer ,regc 
-032f da400331 arg p_mouse_multi_led_type_blink_timeout ,regb 
-0330 2020318a branch timer_single_step 
+0339 da604c4c arg mem_mouse_multi_led_blink_timer ,regc 
+033a da40033c arg p_mouse_multi_led_type_blink_timeout ,regb 
+033b 2020318a branch timer_single_step 
 
 p_mouse_multi_led_type_blink_timeout:
-0331 6fe0cc4b fetch 1 ,mem_mouse_multi_led_blink_timer_init 
-0332 67e0cc4c store 1 ,mem_mouse_multi_led_blink_timer 
-0333 6fe0cc4d fetch 1 ,mem_mouse_multi_led_state 
-0334 c0008341 beq on ,p_mouse_device_multi_led_off 
+033c 6fe0cc4b fetch 1 ,mem_mouse_multi_led_blink_timer_init 
+033d 67e0cc4c store 1 ,mem_mouse_multi_led_blink_timer 
+033e 6fe0cc4d fetch 1 ,mem_mouse_multi_led_state 
+033f c000834c beq on ,p_mouse_device_multi_led_off 
 
 p_mouse_device_multi_led_on:
-0335 704c4d01 jam on ,mem_mouse_multi_led_state 
-0336 6fe0c938 fetch 1 ,mem_device_flag 
-0337 c000033b beq mode_24g_device ,p_mouse_device_24g_led_on 
-0338 c000833d beq mode_bt_device1 ,p_mouse_device_bt1_led_on 
-0339 c001033f beq mode_bt_device2 ,p_mouse_device_bt2_led_on 
-033a 20600000 rtn 
+0340 704c4d01 jam on ,mem_mouse_multi_led_state 
+0341 6fe0c938 fetch 1 ,mem_device_flag 
+0342 c0000346 beq mode_24g_device ,p_mouse_device_24g_led_on 
+0343 c0008348 beq mode_bt_device1 ,p_mouse_device_bt1_led_on 
+0344 c001034a beq mode_bt_device2 ,p_mouse_device_bt2_led_on 
+0345 20600000 rtn 
 
 p_mouse_device_24g_led_on:
-033b 6848cc48 fetcht 1 ,mem_mouse_1io2led_multi_24gled 
-033c 20200340 branch p_mouse_device_led_on 
+0346 6848cc48 fetcht 1 ,mem_mouse_1io2led_multi_24gled 
+0347 2020034b branch p_mouse_device_led_on 
 
 p_mouse_device_bt1_led_on:
-033d 6848cc49 fetcht 1 ,mem_mouse_1io2led_multi_bt1led 
-033e 20200340 branch p_mouse_device_led_on 
+0348 6848cc49 fetcht 1 ,mem_mouse_1io2led_multi_bt1led 
+0349 2020034b branch p_mouse_device_led_on 
 
 p_mouse_device_bt2_led_on:
-033f 6848cc4a fetcht 1 ,mem_mouse_1io2led_multi_bt2led 
+034a 6848cc4a fetcht 1 ,mem_mouse_1io2led_multi_bt2led 
 
 p_mouse_device_led_on:
-0340 20206069 branch gpio_out_active 
+034b 20206069 branch gpio_out_active 
 
 p_mouse_device_multi_led_off:
-0341 704c4d00 jam off ,mem_mouse_multi_led_state 
-0342 6fe0c938 fetch 1 ,mem_device_flag 
-0343 c0000347 beq mode_24g_device ,p_mouse_device_24g_led_off 
-0344 c0008347 beq mode_bt_device1 ,p_mouse_device_bt1_led_off 
-0345 c0010349 beq mode_bt_device2 ,p_mouse_device_bt2_led_off 
-0346 20600000 rtn 
+034c 704c4d00 jam off ,mem_mouse_multi_led_state 
+034d 6fe0c938 fetch 1 ,mem_device_flag 
+034e c0000352 beq mode_24g_device ,p_mouse_device_24g_led_off 
+034f c0008352 beq mode_bt_device1 ,p_mouse_device_bt1_led_off 
+0350 c0010354 beq mode_bt_device2 ,p_mouse_device_bt2_led_off 
+0351 20600000 rtn 
 
 p_mouse_device_24g_led_off:
 
 p_mouse_device_bt1_led_off:
-0347 70807ac0 jam 0xc0 ,0x807a 
-0348 20600000 rtn 
+0352 70807ac0 jam 0xc0 ,0x807a 
+0353 20600000 rtn 
 
 p_mouse_device_bt2_led_off:
-0349 6848cc4a fetcht 1 ,mem_mouse_1io2led_multi_bt2led 
-034a 2020607f branch gpio_set_high_impedance 
+0354 6848cc4a fetcht 1 ,mem_mouse_1io2led_multi_bt2led 
+0355 2020607f branch gpio_set_high_impedance 
 
 p_mouse_logo_led_on_timer:
-034b 6fe0cbed fetch 1 ,mem_mouse_logo_led_gpio 
-034c c17f8000 rtneq gpio_disable 
-034d 6fe14ab2 fetch 2 ,mem_mouse_no_data_timer 
-034e 207a0000 rtn blank 
-034f 6fe14bbe fetch 2 ,mem_mouse_no_data_timeout 
-0350 68494ab2 fetcht 2 ,mem_mouse_no_data_timer 
-0351 98460400 isub temp ,temp 
-0352 6fe14bee fetch 2 ,mem_mouse_logo_led_on_time_init 
-0353 98467e00 isub temp ,pdata 
-0354 20210359 branch p_mouse_logo_led_on ,positive 
+0356 6fe0cbed fetch 1 ,mem_mouse_logo_led_gpio 
+0357 c17f8000 rtneq gpio_disable 
+0358 6fe14ab2 fetch 2 ,mem_mouse_no_data_timer 
+0359 207a0000 rtn blank 
+035a 6fe14bbe fetch 2 ,mem_mouse_no_data_timeout 
+035b 68494ab2 fetcht 2 ,mem_mouse_no_data_timer 
+035c 98460400 isub temp ,temp 
+035d 6fe14bee fetch 2 ,mem_mouse_logo_led_on_time_init 
+035e 98467e00 isub temp ,pdata 
+035f 20210364 branch p_mouse_logo_led_on ,positive 
 
 p_mouse_logo_led_off:
-0355 6848cbed fetcht 1 ,mem_mouse_logo_led_gpio 
-0356 6fe0cc40 fetch 1 ,mem_mouse_1io2led_led_enable 
-0357 c000e07f beq 1 ,gpio_set_high_impedance 
-0358 20206065 branch gpio_out_inactive 
+0360 6848cbed fetcht 1 ,mem_mouse_logo_led_gpio 
+0361 6fe0cc40 fetch 1 ,mem_mouse_1io2led_led_enable 
+0362 c000e07f beq 1 ,gpio_set_high_impedance 
+0363 20206065 branch gpio_out_inactive 
 
 p_mouse_logo_led_on:
-0359 6848cbed fetcht 1 ,mem_mouse_logo_led_gpio 
-035a 20406069 call gpio_out_active 
+0364 6848cbed fetcht 1 ,mem_mouse_logo_led_gpio 
+0365 20406069 call gpio_out_active 
 
 p_mouse_dpi_led_blink_delay_timer:
-035b da604ba8 arg mem_mouse_dpi_led_delay_count ,regc 
-035c da40035e arg p_mouse_dpi_led_blink_init ,regb 
-035d 2020318a branch timer_single_step 
+0366 da604ba8 arg mem_mouse_dpi_led_delay_count ,regc 
+0367 da400369 arg p_mouse_dpi_led_blink_init ,regb 
+0368 2020318a branch timer_single_step 
 
 p_mouse_dpi_led_blink_init:
-035e 6fe0c927 fetch 1 ,mem_config_sensor_type 
-035f c001c8f2 beq p3212 ,mouse_dpi_led_blink_init 
-0360 c005c8f2 beq ka8g2 ,mouse_dpi_led_blink_init 
-0361 6fe0c923 fetch 1 ,mem_dpi_led_gpio 
-0362 67e0c92f store 1 ,mem_mouse_struct_led_gpio 
-0363 6fe14bc2 fetch 2 ,mem_mouse_dpi_led_blink_time 
-0364 67e14930 store 2 ,mem_mouse_on_time 
-0365 67e14932 store 2 ,mem_mouse_off_time 
-0366 da200000 arg 0 ,rega 
-0367 6848c992 fetcht 1 ,mem_mouse_dpi 
-0368 18408402 increase 2 ,temp 
-0369 18467c03 sub temp ,3 ,null 
-036a 2041036d call p_mouse_dpi_led_blink_init_level_4 ,positive 
-036b 24410371 ncall p_mouse_dpi_led_blink_count_clean ,positive 
-036c 202048ff branch mouse_dpi_led_blink_init_end 
+0369 6fe0c927 fetch 1 ,mem_config_sensor_type 
+036a c001c8f2 beq p3212 ,mouse_dpi_led_blink_init 
+036b c005c8f2 beq ka8g2 ,mouse_dpi_led_blink_init 
+036c 6fe0c923 fetch 1 ,mem_dpi_led_gpio 
+036d 67e0c92f store 1 ,mem_mouse_struct_led_gpio 
+036e 6fe14bc2 fetch 2 ,mem_mouse_dpi_led_blink_time 
+036f 67e14930 store 2 ,mem_mouse_on_time 
+0370 67e14932 store 2 ,mem_mouse_off_time 
+0371 da200000 arg 0 ,rega 
+0372 6848c992 fetcht 1 ,mem_mouse_dpi 
+0373 18408402 increase 2 ,temp 
+0374 18467c03 sub temp ,3 ,null 
+0375 20410378 call p_mouse_dpi_led_blink_init_level_4 ,positive 
+0376 2441037c ncall p_mouse_dpi_led_blink_count_clean ,positive 
+0377 202048ff branch mouse_dpi_led_blink_init_end 
 
 p_mouse_dpi_led_blink_init_level_4:
-036d 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
-036e c40e0000 rtnbit0 mouse_enable_dpi_level_4 
-036f 18408401 increase 1 ,temp 
-0370 20600000 rtn 
+0378 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
+0379 c40e0000 rtnbit0 mouse_enable_dpi_level_4 
+037a 18408401 increase 1 ,temp 
+037b 20600000 rtn 
 
 p_mouse_dpi_led_blink_count_clean:
-0371 184085fd increase -3 ,temp 
-0372 20600000 rtn 
+037c 184085fd increase -3 ,temp 
+037d 20600000 rtn 
 
 p_mouse_commbination_key_process:
-0373 6fe0c938 fetch 1 ,mem_device_flag 
-0374 c0000379 beq mode_24g_device ,p_mouse_24g_commbination_key_process 
-0375 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
-0376 c41a8000 rtnbit0 mouse_enable_commbination_key_by_bt_discovery 
-0377 6848cbca fetcht 1 ,mem_mouse_commbination_key_bt 
-0378 2020037c branch p_mouse_commbination_key_start 
+037e 6fe0c938 fetch 1 ,mem_device_flag 
+037f c0000384 beq mode_24g_device ,p_mouse_24g_commbination_key_process 
+0380 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
+0381 c41a8000 rtnbit0 mouse_enable_commbination_key_by_bt_discovery 
+0382 6848cbca fetcht 1 ,mem_mouse_commbination_key_bt 
+0383 20200387 branch p_mouse_commbination_key_start 
 
 p_mouse_24g_commbination_key_process:
-0379 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
-037a c4190000 rtnbit0 mouse_enable_commbination_key_by_24g_pairing 
-037b 6848cbcb fetcht 1 ,mem_mouse_commbination_key_24g 
+0384 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
+0385 c4190000 rtnbit0 mouse_enable_commbination_key_by_24g_pairing 
+0386 6848cbcb fetcht 1 ,mem_mouse_commbination_key_24g 
 
 p_mouse_commbination_key_start:
-037c 6048cb9d storet 1 ,mem_mouse_commbination_key 
-037d 20404115 call mouse_check_key_gpio 
-037e 1fe17e07 and pdata ,0x07 ,pdata 
-037f 6848cb9d fetcht 1 ,mem_mouse_commbination_key 
-0380 98467c00 isub temp ,null 
-0381 20228383 branch p_mouse_commbination_key_down ,zero 
-0382 202044eb branch mouse_commbination_key_up 
+0387 6048cb9d storet 1 ,mem_mouse_commbination_key 
+0388 20404115 call mouse_check_key_gpio 
+0389 1fe17e07 and pdata ,0x07 ,pdata 
+038a 6848cb9d fetcht 1 ,mem_mouse_commbination_key 
+038b 98467c00 isub temp ,null 
+038c 2022838e branch p_mouse_commbination_key_down ,zero 
+038d 202044eb branch mouse_commbination_key_up 
 
 p_mouse_commbination_key_down:
-0383 20400388 call p_mouse_combination_ui_timer 
-0384 6fe0cb9f fetch 1 ,mem_commbination_key_statue 
-0385 c1008000 rtneq commbination_key_state_down 
-0386 704b9f01 jam commbination_key_state_down ,mem_commbination_key_statue 
-0387 20600000 rtn 
+038e 20400393 call p_mouse_combination_ui_timer 
+038f 6fe0cb9f fetch 1 ,mem_commbination_key_statue 
+0390 c1008000 rtneq commbination_key_state_down 
+0391 704b9f01 jam commbination_key_state_down ,mem_commbination_key_statue 
+0392 20600000 rtn 
 
 p_mouse_combination_ui_timer:
-0388 da400246 arg p_mouse_24g_start_pair_mode ,regb 
-0389 202044f7 branch mouse_combination_ui_timer + 1 
+0393 da400246 arg p_mouse_24g_start_pair_mode ,regb 
+0394 202044f7 branch mouse_combination_ui_timer + 1 
 
 p_mouse_le_battery_updata_timer:
-038a 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
-038b c39d8000 rtnbit1 mouse_enable_le_battery_service_cancel 
-038c 2020451f branch mouse_le_battery_updata_timer 
+0395 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
+0396 c39d8000 rtnbit1 mouse_enable_le_battery_service_cancel 
+0397 2020451f branch mouse_le_battery_updata_timer 
 
 p_mouse_check_no_data_timeout_timer:
-038d 6fe0c92a fetch 1 ,mem_usb_addr 
-038e c3838000 rtnbit1 7 
-038f da604ab2 arg mem_mouse_no_data_timer ,regc 
-0390 da400392 arg p_mouse_check_no_data_timeout ,regb 
-0391 20203191 branch timer_single_step_2b 
+0398 6fe0c92a fetch 1 ,mem_usb_addr 
+0399 c3838000 rtnbit1 7 
+039a da604ab2 arg mem_mouse_no_data_timer ,regc 
+039b da40039d arg p_mouse_check_no_data_timeout ,regb 
+039c 20203191 branch timer_single_step_2b 
 
 p_mouse_check_no_data_timeout:
-0392 6fe0c938 fetch 1 ,mem_device_flag 
-0393 c00001c7 beq mode_24g_device ,p_mouse_24g_hibernate_set 
-0394 2020431b branch mouse_disconnect 
+039d 6fe0c938 fetch 1 ,mem_device_flag 
+039e c00001c7 beq mode_24g_device ,p_mouse_24g_hibernate_set 
+039f 2020431b branch mouse_disconnect 
 
 p_mouse_start_discovery:
-0395 704c4b02 jam 0x02 ,mem_mouse_multi_led_blink_timer_init 
-0396 6fe1478c fetch 2 ,mem_ui_state_map 
-0397 2feffe0b isolate1 ui_state_ble_adv ,pdata 
-0398 2040c581 call mouse_stop_le_adv ,true 
-0399 6fe1478c fetch 2 ,mem_ui_state_map 
-039a 2feffe07 isolate1 ui_state_bt_reconnect ,pdata 
-039b 2040c322 call mouse_cancel_reconnect ,true 
-039c 58000000 setarg 0 
-039d 67e14af2 store 2 ,mem_le_battery_level_updata_timer 
-039e 20404314 call mouse_bluetooth_fast_conn_disable 
-039f 6fe1478c fetch 2 ,mem_ui_state_map 
-03a0 c28583a9 bbit1 ui_state_ble_adv ,p_mouse_start_discovery_norandom 
-03a1 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
-03a2 c30403a9 bbit0 mouse_enable_ble_random_addre ,p_mouse_start_discovery_norandom 
-03a3 68494997 fetcht 2 ,mem_random_addr_increase_count 
-03a4 18408401 increase 1 ,temp 
-03a5 60494997 storet 2 ,mem_random_addr_increase_count 
-03a6 6049437b storet 2 ,mem_le_lap + 1 
-03a7 180a7e00 random pdata 
-03a8 67e0c37a store 1 ,mem_le_lap 
+03a0 704c4b02 jam 0x02 ,mem_mouse_multi_led_blink_timer_init 
+03a1 6fe1478c fetch 2 ,mem_ui_state_map 
+03a2 2feffe0b isolate1 ui_state_ble_adv ,pdata 
+03a3 2040c581 call mouse_stop_le_adv ,true 
+03a4 6fe1478c fetch 2 ,mem_ui_state_map 
+03a5 2feffe07 isolate1 ui_state_bt_reconnect ,pdata 
+03a6 2040c322 call mouse_cancel_reconnect ,true 
+03a7 58000000 setarg 0 
+03a8 67e14af2 store 2 ,mem_le_battery_level_updata_timer 
+03a9 20404314 call mouse_bluetooth_fast_conn_disable 
+03aa 6fe1478c fetch 2 ,mem_ui_state_map 
+03ab c28583b4 bbit1 ui_state_ble_adv ,p_mouse_start_discovery_norandom 
+03ac 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
+03ad c30403b4 bbit0 mouse_enable_ble_random_addre ,p_mouse_start_discovery_norandom 
+03ae 68494997 fetcht 2 ,mem_random_addr_increase_count 
+03af 18408401 increase 1 ,temp 
+03b0 60494997 storet 2 ,mem_random_addr_increase_count 
+03b1 6049437b storet 2 ,mem_le_lap + 1 
+03b2 180a7e00 random pdata 
+03b3 67e0c37a store 1 ,mem_le_lap 
 
 p_mouse_start_discovery_norandom:
-03a9 6fe1cac9 fetch 3 ,mem_mouse_le_lap_temp 
-03aa 67e1c37d store 3 ,mem_le_lap + 3 
-03ab 20403225 call app_lpm_mult_disable 
-03ac 6fe14791 fetch 2 ,mem_discovery_timeout 
-03ad 67e14ac2 store 2 ,mem_mouse_discovery_timer 
-03ae 7000bd06 jam 6 ,mem_connection_options 
-03af 58000000 setarg 0 
-03b0 67e14ab2 store 2 ,mem_mouse_no_data_timer 
-03b1 67e0cb77 store 1 ,mem_mouse_direct_timer 
-03b2 67e0cac4 store 1 ,mem_mouse_bluetooth_reconnect_timeout 
-03b3 67e0cba7 store 1 ,mem_mouse_device_poweron_timer_count 
-03b4 67e0caac store 1 ,mem_mouse_clear_sensor_data_flag 
-03b5 d8e00002 arg mouse_store_eeprom_flag ,queue 
-03b6 204046f0 call mouse_enable_function_flag 
-03b7 204046e4 call mouse_bt_discovery_button_down_disable 
-03b8 6fe0cbb3 fetch 1 ,mem_mouse_bluetooth_type 
-03b9 2feffe01 isolate1 mode_4_mouse ,pdata 
-03ba 2040c3df call mouse_check_51cmd_adv ,true 
-03bb 6fe0cbb3 fetch 1 ,mem_mouse_bluetooth_type 
-03bc 2feffe00 isolate1 mode_3_mouse ,pdata 
-03bd 2040f8c4 call check_51cmd_start_discovery ,true 
-03be 2040498e call mouse_low_voltage_led_blink_disable 
-03bf 6fe0cc40 fetch 1 ,mem_mouse_1io2led_led_enable 
-03c0 243a0314 nbranch p_mouse_multi_led_blink_enable ,blank 
-03c1 202048cc branch mouse_discover_setting_led_gpio 
+03b4 6fe1cac9 fetch 3 ,mem_mouse_le_lap_temp 
+03b5 67e1c37d store 3 ,mem_le_lap + 3 
+03b6 20403225 call app_lpm_mult_disable 
+03b7 6fe14791 fetch 2 ,mem_discovery_timeout 
+03b8 67e14ac2 store 2 ,mem_mouse_discovery_timer 
+03b9 7000bd06 jam 6 ,mem_connection_options 
+03ba 58000000 setarg 0 
+03bb 67e14ab2 store 2 ,mem_mouse_no_data_timer 
+03bc 67e0cb77 store 1 ,mem_mouse_direct_timer 
+03bd 67e0cac4 store 1 ,mem_mouse_bluetooth_reconnect_timeout 
+03be 67e0cba7 store 1 ,mem_mouse_device_poweron_timer_count 
+03bf 67e0caac store 1 ,mem_mouse_clear_sensor_data_flag 
+03c0 d8e00002 arg mouse_store_eeprom_flag ,queue 
+03c1 204046f0 call mouse_enable_function_flag 
+03c2 204046e4 call mouse_bt_discovery_button_down_disable 
+03c3 6fe0cbb3 fetch 1 ,mem_mouse_bluetooth_type 
+03c4 2feffe01 isolate1 mode_4_mouse ,pdata 
+03c5 2040c3df call mouse_check_51cmd_adv ,true 
+03c6 6fe0cbb3 fetch 1 ,mem_mouse_bluetooth_type 
+03c7 2feffe00 isolate1 mode_3_mouse ,pdata 
+03c8 2040f8c4 call check_51cmd_start_discovery ,true 
+03c9 2040498e call mouse_low_voltage_led_blink_disable 
+03ca 6fe0cc40 fetch 1 ,mem_mouse_1io2led_led_enable 
+03cb 243a031f nbranch p_mouse_multi_led_blink_enable ,blank 
+03cc 202048cc branch mouse_discover_setting_led_gpio 
 
 p_mouse_stop_discovery:
-03c2 58000000 setarg 0 
-03c3 67e14ac2 store 2 ,mem_mouse_discovery_timer 
-03c4 20204577 branch mouse_stop_discovery + 1 
+03cd 58000000 setarg 0 
+03ce 67e14ac2 store 2 ,mem_mouse_discovery_timer 
+03cf 20204577 branch mouse_stop_discovery + 1 
 
 p_ui_timer_check:
-03c5 6fe0cbe2 fetch 1 ,mem_power_on_flag 
-03c6 245a7861 ncall ui_timer_init ,blank 
-03c7 704be200 jam 0 ,mem_power_on_flag 
-03c8 20207851 branch ui_timer_check + 1 
+03d0 6fe0cbe2 fetch 1 ,mem_power_on_flag 
+03d1 245a7861 ncall ui_timer_init ,blank 
+03d2 704be200 jam 0 ,mem_power_on_flag 
+03d3 20207851 branch ui_timer_check + 1 
 
 p_hid_rx_process:
-03c9 6fe10315 fetch 2 ,mem_l2cap_payload_ptr 
-03ca 1fe20c00 copy pdata ,contr 
-03cb efe08006 ifetch 1 ,contr 
-03cc 67e0c5f5 store 1 ,mem_l2cap_rcv_hidtype 
-03cd 1fe1040f and pdata ,0x0f ,temp 
-03ce 1ff1fe00 rshift4 pdata ,pdata 
-03cf c00483d1 beq hid_type_set_idle ,p_hid_rx_process_handshake 
-03d0 20204d93 branch hid_rx_process + 7 
+03d4 6fe10315 fetch 2 ,mem_l2cap_payload_ptr 
+03d5 1fe20c00 copy pdata ,contr 
+03d6 efe08006 ifetch 1 ,contr 
+03d7 67e0c5f5 store 1 ,mem_l2cap_rcv_hidtype 
+03d8 1fe1040f and pdata ,0x0f ,temp 
+03d9 1ff1fe00 rshift4 pdata ,pdata 
+03da c00483dc beq hid_type_set_idle ,p_hid_rx_process_handshake 
+03db 20204d93 branch hid_rx_process + 7 
 
 p_hid_rx_process_handshake:
-03d1 da200001 arg 1 ,rega 
-03d2 20404dc0 call hid_malloc_tx_buff 
-03d3 6fe144dc fetch 2 ,mem_hid_ctrl_remote_cid 
-03d4 e7e10005 istore 2 ,contw 
-03d5 58000000 setarg 0 
-03d6 e7e08005 istore 1 ,contw 
-03d7 70095001 jam 1 ,mem_ui_data_txbuff_length 
-03d8 6fe0c4e2 fetch 1 ,mem_hid_control_state 
-03d9 79207e06 set1 l2cap_channel_hid_handshake_done ,pdata 
-03da 67e0c4e2 store 1 ,mem_hid_control_state 
-03db 70095b12 jam bt_evt_hid_handshake ,mem_fifo_temp 
-03dc 20207871 branch ui_ipc_send_event 
+03dc da200001 arg 1 ,rega 
+03dd 20404dc0 call hid_malloc_tx_buff 
+03de 6fe144dc fetch 2 ,mem_hid_ctrl_remote_cid 
+03df e7e10005 istore 2 ,contw 
+03e0 58000000 setarg 0 
+03e1 e7e08005 istore 1 ,contw 
+03e2 70095001 jam 1 ,mem_ui_data_txbuff_length 
+03e3 6fe0c4e2 fetch 1 ,mem_hid_control_state 
+03e4 79207e06 set1 l2cap_channel_hid_handshake_done ,pdata 
+03e5 67e0c4e2 store 1 ,mem_hid_control_state 
+03e6 70095b12 jam bt_evt_hid_handshake ,mem_fifo_temp 
+03e7 20207871 branch ui_ipc_send_event 
 
 p_le_slave_match:
-03dd 6fe0c3dd fetch 1 ,mem_le_md_count 
-03de 1fe0fe01 pincrease 1 
-03df 67e0c3dd store 1 ,mem_le_md_count 
-03e0 c006165a beq le_md_max_count ,le_slave_cont 
-03e1 2040191b call le_acknowledge 
-03e2 2040196a call le_prepare_tx 
-03e3 6fe082bd fetch 1 ,mem_le_tx_phy 
-03e4 2040168b call le_enable_phy_by_pdata 
-03e5 20401838 call le_transmit 
-03e6 20201655 branch le_slave_match + 10 
+03e8 6fe0c3dd fetch 1 ,mem_le_md_count 
+03e9 1fe0fe01 pincrease 1 
+03ea 67e0c3dd store 1 ,mem_le_md_count 
+03eb c006165a beq le_md_max_count ,le_slave_cont 
+03ec 2040191b call le_acknowledge 
+03ed 2040196a call le_prepare_tx 
+03ee 6fe082bd fetch 1 ,mem_le_tx_phy 
+03ef 2040168b call le_enable_phy_by_pdata 
+03f0 20401838 call le_transmit 
+03f1 20201655 branch le_slave_match + 10 
 
 p_le_parse_l2cap:
-03e7 efe10006 ifetch 2 ,contr 
-03e8 c00203ea beq le_l2cap_cid_att ,p_le_parse_att 
-03e9 202019e4 branch le_parse_l2cap + 10 
+03f2 efe10006 ifetch 2 ,contr 
+03f3 c00203f5 beq le_l2cap_cid_att ,p_le_parse_att 
+03f4 202019e4 branch le_parse_l2cap + 10 
 
 p_le_parse_att:
-03ea efe18006 ifetch 3 ,contr 
-03eb 67e1c436 store 3 ,mem_le_att_opcode 
-03ec c00503ef beq attop_read_request ,p_le_parse_att_read_request 
-03ed c00903fe beq attop_write_request ,p_le_parse_att_write_request 
-03ee 20201cd3 branch le_parse_att + 2 
+03f5 efe18006 ifetch 3 ,contr 
+03f6 67e1c436 store 3 ,mem_le_att_opcode 
+03f7 c00503fa beq attop_read_request ,p_le_parse_att_read_request 
+03f8 c0090409 beq attop_write_request ,p_le_parse_att_write_request 
+03f9 20201cd3 branch le_parse_att + 2 
 
 p_le_parse_att_read_request:
-03ef 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
-03f0 c31d9de7 bbit0 mouse_enable_le_battery_service_cancel ,le_parse_att_read_request 
-03f1 20401e8d call le_check_encrypt_state 
-03f2 68494437 fetcht 2 ,mem_le_att_handle 
-03f3 6fe0c3c0 fetch 1 ,mem_le_configuration 
-03f4 c28183f9 bbit1 bit_ble_read_auth ,p_le_send_att_read_response_check_auth 
+03fa 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
+03fb c31d9de7 bbit0 mouse_enable_le_battery_service_cancel ,le_parse_att_read_request 
+03fc 20401e8d call le_check_encrypt_state 
+03fd 68494437 fetcht 2 ,mem_le_att_handle 
+03fe 6fe0c3c0 fetch 1 ,mem_le_configuration 
+03ff c2818404 bbit1 bit_ble_read_auth ,p_le_send_att_read_response_check_auth 
 
 p_le_send_att_read_response:
-03f5 6fe14437 fetch 2 ,mem_le_att_handle 
-03f6 c0181ec8 beq 0x30 ,le_send_att_error_response_notfound 
-03f7 68494437 fetcht 2 ,mem_le_att_handle 
-03f8 20201deb branch le_send_att_read_response 
+0400 6fe14437 fetch 2 ,mem_le_att_handle 
+0401 c0181ec8 beq 0x30 ,le_send_att_error_response_notfound 
+0402 68494437 fetcht 2 ,mem_le_att_handle 
+0403 20201deb branch le_send_att_read_response 
 
 p_le_send_att_read_response_check_auth:
-03f9 6fe143d1 fetch 2 ,mem_le_pairing_handle 
-03fa 98467c00 isub temp ,null 
-03fb 242283f5 nbranch p_le_send_att_read_response ,zero 
-03fc 243403f5 nbranch p_le_send_att_read_response ,user 
-03fd 20201e10 branch le_send_att_read_response_error_insufficient_auth 
+0404 6fe143d1 fetch 2 ,mem_le_pairing_handle 
+0405 98467c00 isub temp ,null 
+0406 24228400 nbranch p_le_send_att_read_response ,zero 
+0407 24340400 nbranch p_le_send_att_read_response ,user 
+0408 20201e10 branch le_send_att_read_response_error_insufficient_auth 
 
 p_le_parse_att_write_request:
-03fe 18c22200 copy contr ,rega 
-03ff 6fe143d4 fetch 2 ,mem_le_l2cap_size 
-0400 1fe0a5fd add pdata ,-3 ,regb 
-0401 20401a25 call le_writeatt_cb 
-0402 6fe0cac1 fetch 1 ,mem_mouse_bluetooth_fast_conn_flag 
-0403 c07f9e73 beq 0xff ,le_send_att_write_response_check_auth 
-0404 6fe0cac7 fetch 1 ,mem_mouse_le_reconnect_flag 
-0405 203a1e73 branch le_send_att_write_response_check_auth ,blank 
-0406 6fe0cb75 fetch 1 ,mem_le_connect_status_flag 
-0407 c2809e73 bbit1 ll_start_enc_flag ,le_send_att_write_response_check_auth 
-0408 5800001a setarg 0x001a 
-0409 68494437 fetcht 2 ,mem_le_att_handle 
-040a 98467c00 isub temp ,null 
-040b 24229e73 nbranch le_send_att_write_response_check_auth ,zero 
-040c 7002d805 jam att_err_insufficient_authentication ,mem_le_err_code 
-040d 20201ec9 branch le_send_att_error_response 
+0409 18c22200 copy contr ,rega 
+040a 6fe143d4 fetch 2 ,mem_le_l2cap_size 
+040b 1fe0a5fd add pdata ,-3 ,regb 
+040c 20401a25 call le_writeatt_cb 
+040d 6fe0cac1 fetch 1 ,mem_mouse_bluetooth_fast_conn_flag 
+040e c07f9e73 beq 0xff ,le_send_att_write_response_check_auth 
+040f 6fe0cac7 fetch 1 ,mem_mouse_le_reconnect_flag 
+0410 203a1e73 branch le_send_att_write_response_check_auth ,blank 
+0411 6fe0cb75 fetch 1 ,mem_le_connect_status_flag 
+0412 c2809e73 bbit1 ll_start_enc_flag ,le_send_att_write_response_check_auth 
+0413 5800001a setarg 0x001a 
+0414 68494437 fetcht 2 ,mem_le_att_handle 
+0415 98467c00 isub temp ,null 
+0416 24229e73 nbranch le_send_att_write_response_check_auth ,zero 
+0417 7002d805 jam att_err_insufficient_authentication ,mem_le_err_code 
+0418 20201ec9 branch le_send_att_error_response 
 
 p_g24_lpm_wait:
-040e 6fe0cbaa fetch 1 ,mem_24g_device_led_status 
-040f 245a26e1 ncall g24_transmit_by_interrupt_enable ,blank 
-0410 78347c00 enable user 
-0411 20401465 call lpo_calibration 
-0412 6fe1c174 fetch 3 ,mem_clks_per_lpo 
-0413 203a7e56 branch disable_user ,blank 
-0414 6fe0c099 fetch 1 ,mem_lpm_mode 
-0415 203a7e56 branch disable_user ,blank 
-0416 202026c4 branch g24_setgpio_lpm_before 
+0419 6fe0cbaa fetch 1 ,mem_24g_device_led_status 
+041a 245a26e1 ncall g24_transmit_by_interrupt_enable ,blank 
+041b 78347c00 enable user 
+041c 20401465 call lpo_calibration 
+041d 6fe1c174 fetch 3 ,mem_clks_per_lpo 
+041e 203a7e56 branch disable_user ,blank 
+041f 6fe0c099 fetch 1 ,mem_lpm_mode 
+0420 203a7e56 branch disable_user ,blank 
+0421 202026c4 branch g24_setgpio_lpm_before 
 
 p_mouse_init_sunt:
-0417 20403f65 call mouse_sensor_spi_init 
-0418 20758000 rtn wake 
+0422 20403f65 call mouse_sensor_spi_init 
+0423 20758000 rtn wake 
 
 p_mouse_init_sensor_wakeup:
-0419 20404236 call mouse_sensor_poweron 
+0424 20404236 call mouse_sensor_poweron 
 
 p_mouse_init_sensor:
-041a 204041b5 call mouse_read_sensor_id 
-041b c018041d beq p32xx_id1 ,p_mouse_init_p32xx_id2_judge 
-041c 202041ad branch mouse_init_sensor + 2 
+0425 204041b5 call mouse_read_sensor_id 
+0426 c0180428 beq p32xx_id1 ,p_mouse_init_p32xx_id2_judge 
+0427 202041ad branch mouse_init_sensor + 2 
 
 p_mouse_init_p32xx_id2_judge:
-041d 6fe0c9c2 fetch 1 ,mem_sensor_id2 
-041e c0688420 beq p3205_tj3t_id2 ,p_mouse_3205_3t_init_param 
-041f 202041bd branch mouse_init_p32xx_id2_judge + 1 
+0428 6fe0c9c2 fetch 1 ,mem_sensor_id2 
+0429 c068842b beq p3205_tj3t_id2 ,p_mouse_3205_3t_init_param 
+042a 202041bd branch mouse_init_p32xx_id2_judge + 1 
 
 p_mouse_3205_3t_init_param:
-0420 58000049 setarg 0x49 
-0421 20405b0d call twspi_read 
-0422 c0508424 beq 0xa1 ,p_mouse_s201x_init_param 
-0423 202041da branch mouse_3205_3t_init_param 
+042b 58000049 setarg 0x49 
+042c 20405b0d call twspi_read 
+042d c050842f beq 0xa1 ,p_mouse_s201x_init_param 
+042e 202041da branch mouse_3205_3t_init_param 
 
 p_mouse_s201x_init_param:
-0424 7049270c jam s201x ,mem_config_sensor_type 
-0425 20600000 rtn 
+042f 7049270c jam s201x ,mem_config_sensor_type 
+0430 20600000 rtn 
 
 p_mouse_motion:
-0426 78547c00 disable user 
-0427 58000000 setarg 0 
-0428 67e348d1 store 6 ,mem_mouse_x 
-0429 20404240 call mouse_check_sensor_data 
-042a 204002c3 call p_mouse_seting_sensor_type 
-042b 20403f7e call mouse_zwheel 
-042c 20403f83 call mouse_t_zwheel 
-042d 20400451 call p_mouse_key 
-042e 6fe0c8d0 fetch 1 ,mem_mouse_key 
-042f 1fe17e1f and_into 0x1f ,pdata 
-0430 67e0c8d0 store 1 ,mem_mouse_key 
-0431 24344728 nbranch mouse_drawing_optima_init ,user 
-0432 20400434 call p_mouse_drawing_optima 
-0433 20204544 branch mouse_no_data_timer_init 
+0431 78547c00 disable user 
+0432 58000000 setarg 0 
+0433 67e348d1 store 6 ,mem_mouse_x 
+0434 20404240 call mouse_check_sensor_data 
+0435 204002c3 call p_mouse_seting_sensor_type 
+0436 20403f7e call mouse_zwheel 
+0437 20403f83 call mouse_t_zwheel 
+0438 6fe0cb8b fetch 1 ,mem_customer_key 
+0439 245a7e54 ncall enable_user ,blank 
+043a 20400460 call p_mouse_key 
+043b 6fe0c8d0 fetch 1 ,mem_mouse_key 
+043c 1fe17e1f and_into 0x1f ,pdata 
+043d 67e0c8d0 store 1 ,mem_mouse_key 
+043e 6fe0cb8b fetch 1 ,mem_customer_key 
+043f 245a7e54 ncall enable_user ,blank 
+0440 24344728 nbranch mouse_drawing_optima_init ,user 
+0441 20400443 call p_mouse_drawing_optima 
+0442 20204544 branch mouse_no_data_timer_init 
 
 p_mouse_drawing_optima:
-0434 6fe0c927 fetch 1 ,mem_config_sensor_type 
-0435 c1018000 rtneq p3212 
-0436 2020471a branch mouse_drawing_optima 
+0443 6fe0c927 fetch 1 ,mem_config_sensor_type 
+0444 c1018000 rtneq p3212 
+0445 2020471a branch mouse_drawing_optima 
 
 p_mouse_sensor_poweron:
-0437 20403f65 call mouse_sensor_spi_init 
-0438 6fe0c927 fetch 1 ,mem_config_sensor_type 
-0439 c005843e beq ka8g2 ,p_mouse_ka8g2_sensor_init 
-043a 20404232 call mouse_sensor_reset 
-043b da604aa3 arg mem_sensor_poweron_init ,regc 
-043c 2040422b call mouse_sensor_wr_seq 
-043d 202002c3 branch p_mouse_seting_sensor_type 
+0446 20403f65 call mouse_sensor_spi_init 
+0447 6fe0c927 fetch 1 ,mem_config_sensor_type 
+0448 c005844d beq ka8g2 ,p_mouse_ka8g2_sensor_init 
+0449 20404232 call mouse_sensor_reset 
+044a da604aa3 arg mem_sensor_poweron_init ,regc 
+044b 2040422b call mouse_sensor_wr_seq 
+044c 202002c3 branch p_mouse_seting_sensor_type 
 
 p_mouse_ka8g2_sensor_init:
-043e 20400445 call p_mouse_ka8g2_sensor_reset 
-043f da604be3 arg mem_ka8g2_sensor_poweron_init ,regc 
-0440 2040422b call mouse_sensor_wr_seq 
-0441 202002c3 branch p_mouse_seting_sensor_type 
+044d 20400454 call p_mouse_ka8g2_sensor_reset 
+044e da604be3 arg mem_ka8g2_sensor_poweron_init ,regc 
+044f 2040422b call mouse_sensor_wr_seq 
+0450 202002c3 branch p_mouse_seting_sensor_type 
 
 p_mouse_sensor_reset:
-0442 6fe0c927 fetch 1 ,mem_config_sensor_type 
-0443 c0058445 beq ka8g2 ,p_mouse_ka8g2_sensor_reset 
-0444 20204232 branch mouse_sensor_reset 
+0451 6fe0c927 fetch 1 ,mem_config_sensor_type 
+0452 c0058454 beq ka8g2 ,p_mouse_ka8g2_sensor_reset 
+0453 20204232 branch mouse_sensor_reset 
 
 p_mouse_ka8g2_sensor_reset:
-0445 58009706 setarg 0x9706 
-0446 20405b0c call twspi_write 
-0447 20002ee0 nop 12000 
-0448 20600000 rtn 
+0454 58009706 setarg 0x9706 
+0455 20405b0c call twspi_write 
+0456 20002ee0 nop 12000 
+0457 20600000 rtn 
 
 p_mouse_sensor_powerdown:
-0449 204041a7 call mouse_init_sunt 
-044a 20403f65 call mouse_sensor_spi_init 
-044b 6fe0c927 fetch 1 ,mem_config_sensor_type 
-044c c005844f beq ka8g2 ,p_mouse_ka8g2_sensor_powerdown 
-044d 58000806 setarg 0x0806 
-044e 20205b0c branch twspi_write 
+0458 204041a7 call mouse_init_sunt 
+0459 20403f65 call mouse_sensor_spi_init 
+045a 6fe0c927 fetch 1 ,mem_config_sensor_type 
+045b c005845e beq ka8g2 ,p_mouse_ka8g2_sensor_powerdown 
+045c 58000806 setarg 0x0806 
+045d 20205b0c branch twspi_write 
 
 p_mouse_ka8g2_sensor_powerdown:
-044f 58001f06 setarg 0x1f06 
-0450 20205b0c branch twspi_write 
+045e 58001f06 setarg 0x1f06 
+045f 20205b0c branch twspi_write 
 
 p_mouse_key:
-0451 20400467 call p_mouse_check_key_gpio 
-0452 20400454 call p_mouse_ghost_key_check 
-0453 202040de branch mouse_key + 2 
+0460 20400476 call p_mouse_check_key_gpio 
+0461 20400463 call p_mouse_ghost_key_check 
+0462 202040de branch mouse_key + 2 
 
 p_mouse_ghost_key_check:
-0454 704b9800 jam 0 ,mem_mouse_matrix_key_cow_count 
-0455 704b9900 jam 0 ,mem_mouse_matrix_key_row_count 
-0456 704b9a00 jam 0 ,mem_mouse_ghost_flag 
-0457 1fe20400 copy pdata ,temp 
-0458 20404100 call mouse_ghost_key_check_m_fw 
-0459 20400464 call p_mouse_ghost_key_check_r_bk 
-045a 20404103 call mouse_ghost_key_check_bk_fw 
-045b 20404106 call mouse_ghost_key_check_lmr 
-045c 6fe0cb99 fetch 1 ,mem_mouse_matrix_key_row_count 
-045d 207a0000 rtn blank 
-045e 6fe0cb98 fetch 1 ,mem_mouse_matrix_key_cow_count 
-045f 207a0000 rtn blank 
-0460 704b9a01 jam 1 ,mem_mouse_ghost_flag 
-0461 6fe0c8d8 fetch 1 ,mem_mouse_key_last 
-0462 1fe22200 copy pdata ,rega 
-0463 20600000 rtn 
+0463 704b9800 jam 0 ,mem_mouse_matrix_key_cow_count 
+0464 704b9900 jam 0 ,mem_mouse_matrix_key_row_count 
+0465 704b9a00 jam 0 ,mem_mouse_ghost_flag 
+0466 1fe20400 copy pdata ,temp 
+0467 20404100 call mouse_ghost_key_check_m_fw 
+0468 20400473 call p_mouse_ghost_key_check_r_bk 
+0469 20404103 call mouse_ghost_key_check_bk_fw 
+046a 20404106 call mouse_ghost_key_check_lmr 
+046b 6fe0cb99 fetch 1 ,mem_mouse_matrix_key_row_count 
+046c 207a0000 rtn blank 
+046d 6fe0cb98 fetch 1 ,mem_mouse_matrix_key_cow_count 
+046e 207a0000 rtn blank 
+046f 704b9a01 jam 1 ,mem_mouse_ghost_flag 
+0470 6fe0c8d8 fetch 1 ,mem_mouse_key_last 
+0471 1fe22200 copy pdata ,rega 
+0472 20600000 rtn 
 
 p_mouse_ghost_key_check_r_bk:
-0464 18417e0a and temp ,mouse_r_bk_button ,pdata 
-0465 c005410e beq mouse_r_bk_button ,mouse_matrix_cow_more_than_one_key 
-0466 20600000 rtn 
+0473 18417e0a and temp ,mouse_r_bk_button ,pdata 
+0474 c005410e beq mouse_r_bk_button ,mouse_matrix_cow_more_than_one_key 
+0475 20600000 rtn 
 
 p_mouse_check_key_gpio:
-0467 6fe0cbe1 fetch 1 ,mem_sensor_shutdown_flag 
-0468 245a4121 ncall mouse_check_key_gpio_once ,blank 
-0469 da200000 arg 0 ,rega 
-046a 20400470 call p_mouse_check_lkey_gpio 
-046b 20400475 call p_mouse_check_rkey_gpio 
-046c 2040047a call p_mouse_check_mkey_gpio 
-046d 2040047f call p_mouse_check_bkkey_gpio 
-046e 2040048c call p_mouse_check_fwkey_gpio 
-046f 2020411e branch mouse_check_key_gpio_next 
+0476 6fe0cbe1 fetch 1 ,mem_sensor_shutdown_flag 
+0477 245a4121 ncall mouse_check_key_gpio_once ,blank 
+0478 da200000 arg 0 ,rega 
+0479 20400489 call p_mouse_check_lkey_gpio 
+047a 2040048e call p_mouse_check_rkey_gpio 
+047b 20400493 call p_mouse_check_mkey_gpio 
+047c 20400498 call p_mouse_check_bkkey_gpio 
+047d 204004a5 call p_mouse_check_fwkey_gpio 
+047e 704b8b00 jam 0 ,mem_customer_key 
+047f 6fe0c9de fetch 1 ,mem_mouse_dpi_long_press_flag 
+0480 245a0484 ncall p_mouse_customerkey_press_next ,blank 
+0481 6fe0cc6d fetch 1 ,mem_mouse_customerkey_finish 
+0482 245a0487 ncall p_mouse_customerkey_release ,blank 
+0483 2020411f branch mouse_check_key_gpio_next + 1 
+
+p_mouse_customerkey_press_next:
+0484 2040417a call mouse_customerkey_press 
+0485 7049de00 jam 0 ,mem_mouse_dpi_long_press_flag 
+0486 20600000 rtn 
+
+p_mouse_customerkey_release:
+0487 704c6d00 jam 0 ,mem_mouse_customerkey_finish 
+0488 2020417d branch mouse_customerkey_release 
 
 p_mouse_check_lkey_gpio:
-0470 6fe0c918 fetch 1 ,mem_lbutton_gpio 
-0471 20400499 call p_mouse_gpio_config_output_high 
-0472 20404124 call mouse_check_lkey_gpio 
-0473 6848c918 fetcht 1 ,mem_lbutton_gpio 
-0474 20203f56 branch mouse_gpio_config_input_pu 
+0489 6fe0c918 fetch 1 ,mem_lbutton_gpio 
+048a 204004b2 call p_mouse_gpio_config_output_high 
+048b 20404124 call mouse_check_lkey_gpio 
+048c 6848c918 fetcht 1 ,mem_lbutton_gpio 
+048d 20203f56 branch mouse_gpio_config_input_pu 
 
 p_mouse_check_rkey_gpio:
-0475 6fe0c919 fetch 1 ,mem_rbutton_gpio 
-0476 20400499 call p_mouse_gpio_config_output_high 
-0477 2040412a call mouse_check_rkey_gpio 
-0478 6848c919 fetcht 1 ,mem_rbutton_gpio 
-0479 20203f56 branch mouse_gpio_config_input_pu 
+048e 6fe0c919 fetch 1 ,mem_rbutton_gpio 
+048f 204004b2 call p_mouse_gpio_config_output_high 
+0490 2040412a call mouse_check_rkey_gpio 
+0491 6848c919 fetcht 1 ,mem_rbutton_gpio 
+0492 20203f56 branch mouse_gpio_config_input_pu 
 
 p_mouse_check_mkey_gpio:
-047a 6fe0c91a fetch 1 ,mem_mbutton_gpio 
-047b 20400499 call p_mouse_gpio_config_output_high 
-047c 20404130 call mouse_check_mkey_gpio 
-047d 6848c91a fetcht 1 ,mem_mbutton_gpio 
-047e 20203f56 branch mouse_gpio_config_input_pu 
+0493 6fe0c91a fetch 1 ,mem_mbutton_gpio 
+0494 204004b2 call p_mouse_gpio_config_output_high 
+0495 20404130 call mouse_check_mkey_gpio 
+0496 6848c91a fetcht 1 ,mem_mbutton_gpio 
+0497 20203f56 branch mouse_gpio_config_input_pu 
 
 p_mouse_check_bkkey_gpio:
-047f 6fe0c90d fetch 1 ,mem_bk_button_gpio 
-0480 c17f8000 rtneq gpio_disable 
-0481 704b9603 jam mouse_bk_key ,mem_mouse_key_temp 
-0482 6fe0cb91 fetch 1 ,mem_mouse_bkkey_press_status 
-0483 1fe22600 copy pdata ,regc 
-0484 6848c90d fetcht 1 ,mem_bk_button_gpio 
-0485 6fe0c910 fetch 1 ,mem_matrix_public_gpio 
-0486 c07f8488 beq gpio_disable ,p_mouse_3io6key_bk_check 
-0487 2020413e branch mouse_check_bkkey_gpio_next 
+0498 6fe0c90d fetch 1 ,mem_bk_button_gpio 
+0499 c17f8000 rtneq gpio_disable 
+049a 704b9603 jam mouse_bk_key ,mem_mouse_key_temp 
+049b 6fe0cb91 fetch 1 ,mem_mouse_bkkey_press_status 
+049c 1fe22600 copy pdata ,regc 
+049d 6848c90d fetcht 1 ,mem_bk_button_gpio 
+049e 6fe0c910 fetch 1 ,mem_matrix_public_gpio 
+049f c07f84a1 beq gpio_disable ,p_mouse_3io6key_bk_check 
+04a0 2020413e branch mouse_check_bkkey_gpio_next 
 
 p_mouse_3io6key_bk_check:
-0488 6fe0c90d fetch 1 ,mem_bk_button_gpio 
-0489 2040049b call p_mouse_gpio_config_output_low 
-048a 6848c90d fetcht 1 ,mem_bk_button_gpio 
-048b 2020414b branch mouse_3io6key_bk_check 
+04a1 6fe0c90d fetch 1 ,mem_bk_button_gpio 
+04a2 204004b4 call p_mouse_gpio_config_output_low 
+04a3 6848c90d fetcht 1 ,mem_bk_button_gpio 
+04a4 2020414b branch mouse_3io6key_bk_check 
 
 p_mouse_check_fwkey_gpio:
-048c 6fe0c90e fetch 1 ,mem_fw_button_gpio 
-048d c17f8000 rtneq gpio_disable 
-048e 704b9604 jam mouse_fw_key ,mem_mouse_key_temp 
-048f 6fe0cb92 fetch 1 ,mem_mouse_fwkey_press_status 
-0490 1fe22600 copy pdata ,regc 
-0491 6848c90e fetcht 1 ,mem_fw_button_gpio 
-0492 6fe0c910 fetch 1 ,mem_matrix_public_gpio 
-0493 c07f8495 beq gpio_disable ,p_mouse_3io6key_fw_check 
-0494 20204157 branch mouse_check_fwkey_gpio_next 
+04a5 6fe0c90e fetch 1 ,mem_fw_button_gpio 
+04a6 c17f8000 rtneq gpio_disable 
+04a7 704b9604 jam mouse_fw_key ,mem_mouse_key_temp 
+04a8 6fe0cb92 fetch 1 ,mem_mouse_fwkey_press_status 
+04a9 1fe22600 copy pdata ,regc 
+04aa 6848c90e fetcht 1 ,mem_fw_button_gpio 
+04ab 6fe0c910 fetch 1 ,mem_matrix_public_gpio 
+04ac c07f84ae beq gpio_disable ,p_mouse_3io6key_fw_check 
+04ad 20204157 branch mouse_check_fwkey_gpio_next 
 
 p_mouse_3io6key_fw_check:
-0495 6fe0c90e fetch 1 ,mem_fw_button_gpio 
-0496 2040049b call p_mouse_gpio_config_output_low 
-0497 6848c90e fetcht 1 ,mem_fw_button_gpio 
-0498 20204164 branch mouse_3io6key_fw_check 
+04ae 6fe0c90e fetch 1 ,mem_fw_button_gpio 
+04af 204004b4 call p_mouse_gpio_config_output_low 
+04b0 6848c90e fetcht 1 ,mem_fw_button_gpio 
+04b1 20204164 branch mouse_3io6key_fw_check 
 
 p_mouse_gpio_config_output_high:
-0499 d840003f arg gpcfg_output_high ,temp 
-049a 20206093 branch gpio_config_function_int 
+04b2 d840003f arg gpcfg_output_high ,temp 
+04b3 20206093 branch gpio_config_function_int 
 
 p_mouse_gpio_config_output_low:
-049b d840003e arg gpcfg_output_low ,temp 
-049c 20206093 branch gpio_config_function_int 
+04b4 d840003e arg gpcfg_output_low ,temp 
+04b5 20206093 branch gpio_config_function_int 
 
 p_mouse_idle:
-049d 20404990 call mouse_low_voltage_led_no_enter_lpm 
-049e 20407936 call ui_check_paring_button 
-049f 204004a2 call p_mouse_20ms_event_timer 
-04a0 204004a9 call p_mouse_select_device_check 
-04a1 20204650 branch mouse_idle + 5 
+04b6 20404990 call mouse_low_voltage_led_no_enter_lpm 
+04b7 20407936 call ui_check_paring_button 
+04b8 204004bb call p_mouse_20ms_event_timer 
+04b9 204004c2 call p_mouse_select_device_check 
+04ba 20204650 branch mouse_idle + 5 
 
 p_mouse_20ms_event_timer:
-04a2 d8e0000c arg 12 ,queue 
-04a3 20407d74 call timer_check 
-04a4 247a0000 nrtn blank 
-04a5 204004b6 call p_mouse_dpi_check 
+04bb d8e0000c arg 12 ,queue 
+04bc 20407d74 call timer_check 
+04bd 247a0000 nrtn blank 
+04be 204004cf call p_mouse_dpi_check 
 
 p_mouse_g24_retransmit_100ms_timer_init:
-04a6 d8e0000c arg 12 ,queue 
-04a7 58000020 setarg 32 
-04a8 20207d66 branch timer_init 
+04bf d8e0000c arg 12 ,queue 
+04c0 58000020 setarg 32 
+04c1 20207d66 branch timer_init 
 
 p_mouse_select_device_check:
-04a9 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
-04aa c29484ad bbit1 mouse_enable_select_device_by_pb_button ,p_mouse_select_device_by_pb_button_check_judge 
-04ab c29b84ad bbit1 mouse_enable_pb_button_long_press_disconvery ,p_mouse_select_device_by_pb_button_check_judge 
-04ac 20600000 rtn 
+04c2 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
+04c3 c29484c6 bbit1 mouse_enable_select_device_by_pb_button ,p_mouse_select_device_by_pb_button_check_judge 
+04c4 c29b84c6 bbit1 mouse_enable_pb_button_long_press_disconvery ,p_mouse_select_device_by_pb_button_check_judge 
+04c5 20600000 rtn 
 
 p_mouse_select_device_by_pb_button_check_judge:
-04ad 6fe1478c fetch 2 ,mem_ui_state_map 
-04ae c28304b4 bbit1 ui_state_bt_discovery ,p_mouse_select_device_by_pb_button_check_once 
+04c6 6fe1478c fetch 2 ,mem_ui_state_map 
+04c7 c28304cd bbit1 ui_state_bt_discovery ,p_mouse_select_device_by_pb_button_check_once 
 
 p_mouse_idle_select_device_by_pb_button:
-04af 6fe0c91b fetch 1 ,mem_config_select_device_button_gpio 
-04b0 c17f8000 rtneq gpio_disable 
-04b1 6fe0c9bf fetch 1 ,mem_store_information_delay_timer 
-04b2 247a0000 nrtn blank 
-04b3 2020465c branch mouse_select_device_by_pb_button + 2 
+04c8 6fe0c91b fetch 1 ,mem_config_select_device_button_gpio 
+04c9 c17f8000 rtneq gpio_disable 
+04ca 6fe0c9bf fetch 1 ,mem_store_information_delay_timer 
+04cb 247a0000 nrtn blank 
+04cc 2020465c branch mouse_select_device_by_pb_button + 2 
 
 p_mouse_select_device_by_pb_button_check_once:
-04b4 704b9403 jam 0x03 ,mem_mouse_pbkey_press_status 
-04b5 2020016f branch p_mouse_select_device_by_pb_button 
+04cd 704b9403 jam 0x03 ,mem_mouse_pbkey_press_status 
+04ce 2020016f branch p_mouse_select_device_by_pb_button 
 
 p_mouse_dpi_check:
-04b6 6fe0c90f fetch 1 ,mem_dpi_button_gpio 
-04b7 c17f8000 rtneq gpio_disable 
-04b8 2040051f call p_mouse_dpi_ghost_check 
-04b9 20740000 rtn user 
-04ba da200000 arg 0 ,rega 
-04bb 704b9605 jam mouse_dpi_key ,mem_mouse_key_temp 
-04bc 6848c90f fetcht 1 ,mem_dpi_button_gpio 
-04bd 204004bf call p_mouse_dpi_key_check 
-04be 2020402f branch mouse_dpi_check_next 
+04cf 6fe0c90f fetch 1 ,mem_dpi_button_gpio 
+04d0 c17f8000 rtneq gpio_disable 
+04d1 2040054f call p_mouse_dpi_ghost_check 
+04d2 20740000 rtn user 
+04d3 da200000 arg 0 ,rega 
+04d4 704b9605 jam mouse_dpi_key ,mem_mouse_key_temp 
+04d5 6848c90f fetcht 1 ,mem_dpi_button_gpio 
+04d6 204004ef call p_mouse_dpi_key_check 
+04d7 67e0cb93 store 1 ,mem_mouse_dpikey_press_status 
+04d8 6fe0c910 fetch 1 ,mem_matrix_public_gpio 
+04d9 c07fc042 beq gpio_disable ,mouse_3io6key_dpi_check_end 
+04da 20404168 call mouse_matrix_public_gpio_reset 
+
+p_mouse_dpi_check_exit:
+04db 1a227e00 copy rega ,pdata 
+04dc c282c052 bbit1 mouse_dpi_key ,mouse_dpi_down 
+04dd 202004de branch p_mouse_dpi_up 
+
+p_mouse_dpi_up:
+04de 6fe0c9dd fetch 1 ,mem_mouse_dpi_button_state 
+04df c1000000 rtneq dpi_button_state_up 
+04e0 7049dd00 jam dpi_button_state_up ,mem_mouse_dpi_button_state 
+04e1 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
+04e2 c2944060 bbit1 mouse_enable_select_device_by_dpi_button ,mouse_dpi_up_next 
+04e3 c29b04e5 bbit1 mouse_enable_dpi_key_long_press_disconvery ,p_mouse_dpi_up_next 
+04e4 20600000 rtn 
+
+p_mouse_dpi_up_next:
+04e5 6fe0c9de fetch 1 ,mem_mouse_dpi_long_press_flag 
+04e6 243a4064 nbranch mouse_dpi_up_after_long_press ,blank 
+04e7 6fe0cb9b fetch 1 ,mem_bt_discovery_count 
+04e8 245a4069 ncall mouse_dpi_process ,blank 
+
+p_mouse_dpi_up_after_long_press:
+04e9 7049de00 jam 0 ,mem_mouse_dpi_long_press_flag 
+04ea 704c6d01 jam 1 ,mem_mouse_customerkey_finish 
+04eb 6fe0c78f fetch 1 ,mem_ui_button_timeout 
+04ec 67e0cb9c store 1 ,mem_select_device_count 
+04ed 67e0cb9b store 1 ,mem_bt_discovery_count 
+04ee 2020417d branch mouse_customerkey_release 
 
 p_mouse_dpi_key_check:
-04bf 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
-04c0 c2964048 bbit1 mouse_enable_dpi_key_connect_gnd ,mouse_dpi_key_connect_gnd 
-04c1 6fe0cb93 fetch 1 ,mem_mouse_dpikey_press_status 
-04c2 1fe22600 copy pdata ,regc 
-04c3 6fe0c910 fetch 1 ,mem_matrix_public_gpio 
-04c4 c07f84c6 beq gpio_disable ,p_mouse_3io6key_dpi_check 
-04c5 2020403f branch mouse_dpi_key_check_next 
+04ef 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
+04f0 c2964048 bbit1 mouse_enable_dpi_key_connect_gnd ,mouse_dpi_key_connect_gnd 
+04f1 6fe0cb93 fetch 1 ,mem_mouse_dpikey_press_status 
+04f2 1fe22600 copy pdata ,regc 
+04f3 6fe0c910 fetch 1 ,mem_matrix_public_gpio 
+04f4 c07f84f6 beq gpio_disable ,p_mouse_3io6key_dpi_check 
+04f5 2020403f branch mouse_dpi_key_check_next 
 
 p_mouse_3io6key_dpi_check:
-04c6 6fe0c90f fetch 1 ,mem_dpi_button_gpio 
-04c7 2040049b call p_mouse_gpio_config_output_low 
-04c8 6848c90f fetcht 1 ,mem_dpi_button_gpio 
-04c9 20204195 branch mouse_3io6key_check 
+04f6 6fe0c90f fetch 1 ,mem_dpi_button_gpio 
+04f7 204004b4 call p_mouse_gpio_config_output_low 
+04f8 6848c90f fetcht 1 ,mem_dpi_button_gpio 
+04f9 20204195 branch mouse_3io6key_check 
 
 p_mouse_dpi_another_gpio_check:
-04ca 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
-04cb c41e8000 rtnbit0 mouse_enable_double_dpi_key 
-04cc 6fe0cc3a fetch 1 ,mem_mouse_another_dpi_connect_vin_flag 
-04cd 243a04d3 nbranch p_mouse_dpi_another_gpio_connect_vin_check ,blank 
+04fa 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
+04fb c41e8000 rtnbit0 mouse_enable_double_dpi_key 
+04fc 6fe0cc3a fetch 1 ,mem_mouse_another_dpi_connect_vin_flag 
+04fd 243a0503 nbranch p_mouse_dpi_another_gpio_connect_vin_check ,blank 
 
 p_mouse_dpi_another_gpio_connect_gnd_check:
-04ce 6fe0cc3b fetch 1 ,mem_dpi_another_button_gpio 
-04cf 20400499 call p_mouse_gpio_config_output_high 
-04d0 204004e4 call p_mouse_dpi_another_check 
-04d1 6848cc3b fetcht 1 ,mem_dpi_another_button_gpio 
-04d2 20203f56 branch mouse_gpio_config_input_pu 
+04fe 6fe0cc3b fetch 1 ,mem_dpi_another_button_gpio 
+04ff 204004b2 call p_mouse_gpio_config_output_high 
+0500 20400514 call p_mouse_dpi_another_check 
+0501 6848cc3b fetcht 1 ,mem_dpi_another_button_gpio 
+0502 20203f56 branch mouse_gpio_config_input_pu 
 
 p_mouse_dpi_another_gpio_connect_vin_check:
-04d3 6fe0cc3b fetch 1 ,mem_dpi_another_button_gpio 
-04d4 793ffe07 set0 gpio_active_bit ,pdata 
-04d5 67e0cc3b store 1 ,mem_dpi_another_button_gpio 
-04d6 6fe0cc3b fetch 1 ,mem_dpi_another_button_gpio 
-04d7 2040049b call p_mouse_gpio_config_output_low 
-04d8 704c3f00 jam mouse_dpi_another_key ,mem_mouse_key_temp_patch 
-04d9 6848cc3b fetcht 1 ,mem_dpi_another_button_gpio 
-04da 6fe0cc3c fetch 1 ,mem_dpi_another_press_status 
-04db 204004fd call p_mouse_check_key_connect_vin_new 
-04dc 204004e8 call p_mouse_dpi_another_state_check 
-04dd 6848cc3b fetcht 1 ,mem_dpi_another_button_gpio 
-04de 20203f56 branch mouse_gpio_config_input_pu 
+0503 6fe0cc3b fetch 1 ,mem_dpi_another_button_gpio 
+0504 793ffe07 set0 gpio_active_bit ,pdata 
+0505 67e0cc3b store 1 ,mem_dpi_another_button_gpio 
+0506 6fe0cc3b fetch 1 ,mem_dpi_another_button_gpio 
+0507 204004b4 call p_mouse_gpio_config_output_low 
+0508 704c3f00 jam mouse_dpi_another_key ,mem_mouse_key_temp_patch 
+0509 6848cc3b fetcht 1 ,mem_dpi_another_button_gpio 
+050a 6fe0cc3c fetch 1 ,mem_dpi_another_press_status 
+050b 2040052d call p_mouse_check_key_connect_vin_new 
+050c 20400518 call p_mouse_dpi_another_state_check 
+050d 6848cc3b fetcht 1 ,mem_dpi_another_button_gpio 
+050e 20203f56 branch mouse_gpio_config_input_pu 
 
 p_mouse_dpi_another_down_new:
-04df 20403f56 call mouse_gpio_config_input_pu 
-04e0 6fe0cc3d fetch 1 ,mem_dpi_another_button_state 
-04e1 c1008000 rtneq dpi_button_state_down 
-04e2 704c3d01 jam dpi_button_state_down ,mem_dpi_another_button_state 
-04e3 20204069 branch mouse_dpi_process 
+050f 20403f56 call mouse_gpio_config_input_pu 
+0510 6fe0cc3d fetch 1 ,mem_dpi_another_button_state 
+0511 c1008000 rtneq dpi_button_state_down 
+0512 704c3d01 jam dpi_button_state_down ,mem_dpi_another_button_state 
+0513 20204069 branch mouse_dpi_process 
 
 p_mouse_dpi_another_check:
-04e4 704c3f00 jam mouse_dpi_another_key ,mem_mouse_key_temp_patch 
-04e5 6848cc3b fetcht 1 ,mem_dpi_another_button_gpio 
-04e6 6fe0cc3c fetch 1 ,mem_dpi_another_press_status 
-04e7 204004f3 call p_mouse_check_key_connect_gnd_new 
+0514 704c3f00 jam mouse_dpi_another_key ,mem_mouse_key_temp_patch 
+0515 6848cc3b fetcht 1 ,mem_dpi_another_button_gpio 
+0516 6fe0cc3c fetch 1 ,mem_dpi_another_press_status 
+0517 20400523 call p_mouse_check_key_connect_gnd_new 
 
 p_mouse_dpi_another_state_check:
-04e8 67e0cc3c store 1 ,mem_dpi_another_press_status 
-04e9 6fe0cc3e fetch 1 ,mem_dpi_another_button_down_enable 
-04ea 203a04ef branch p_mouse_dpi_another_up ,blank 
+0518 67e0cc3c store 1 ,mem_dpi_another_press_status 
+0519 6fe0cc3e fetch 1 ,mem_dpi_another_button_down_enable 
+051a 203a051f branch p_mouse_dpi_another_up ,blank 
 
 p_mouse_dpi_another_down:
-04eb 6fe0cc3d fetch 1 ,mem_dpi_another_button_state 
-04ec c1008000 rtneq dpi_button_state_down 
-04ed 704c3d01 jam dpi_button_state_down ,mem_dpi_another_button_state 
-04ee 20204069 branch mouse_dpi_process 
+051b 6fe0cc3d fetch 1 ,mem_dpi_another_button_state 
+051c c1008000 rtneq dpi_button_state_down 
+051d 704c3d01 jam dpi_button_state_down ,mem_dpi_another_button_state 
+051e 20204069 branch mouse_dpi_process 
 
 p_mouse_dpi_another_up:
-04ef 6fe0cc3d fetch 1 ,mem_dpi_another_button_state 
-04f0 c1000000 rtneq dpi_button_state_up 
-04f1 704c3d00 jam dpi_button_state_up ,mem_dpi_another_button_state 
-04f2 20600000 rtn 
+051f 6fe0cc3d fetch 1 ,mem_dpi_another_button_state 
+0520 c1000000 rtneq dpi_button_state_up 
+0521 704c3d00 jam dpi_button_state_up ,mem_dpi_another_button_state 
+0522 20600000 rtn 
 
 p_mouse_check_key_connect_gnd_new:
-04f3 1fe3fe00 lshift pdata ,pdata 
-04f4 1fe22400 copy pdata ,regb 
-04f5 20406059 call gpio_get_bit 
-04f6 7920a400 setflag true ,0 ,regb 
-04f7 1a417e07 and regb ,0x07 ,pdata 
-04f8 6848cc3f fetcht 1 ,mem_mouse_key_temp_patch 
-04f9 18420e00 copy temp ,queue 
-04fa c0038508 beq 0x07 ,p_mouse_key_press 
-04fb c000050a beq 0x00 ,p_mouse_key_release 
-04fc 20600000 rtn 
+0523 1fe3fe00 lshift pdata ,pdata 
+0524 1fe22400 copy pdata ,regb 
+0525 20406059 call gpio_get_bit 
+0526 7920a400 setflag true ,0 ,regb 
+0527 1a417e07 and regb ,0x07 ,pdata 
+0528 6848cc3f fetcht 1 ,mem_mouse_key_temp_patch 
+0529 18420e00 copy temp ,queue 
+052a c0038538 beq 0x07 ,p_mouse_key_press 
+052b c000053a beq 0x00 ,p_mouse_key_release 
+052c 20600000 rtn 
 
 p_mouse_check_key_connect_vin_new:
-04fd 1fe3fe00 lshift pdata ,pdata 
-04fe 1fe22400 copy pdata ,regb 
-04ff 20403f54 call mouse_gpio_config_input_pd 
-0500 20406059 call gpio_get_bit 
-0501 7920a400 setflag true ,0 ,regb 
-0502 1a417e07 and regb ,0x07 ,pdata 
-0503 6848cc3f fetcht 1 ,mem_mouse_key_temp_patch 
-0504 18420e00 copy temp ,queue 
-0505 c0038508 beq 0x07 ,p_mouse_key_press 
-0506 c000050a beq 0x00 ,p_mouse_key_release 
-0507 20600000 rtn 
+052d 1fe3fe00 lshift pdata ,pdata 
+052e 1fe22400 copy pdata ,regb 
+052f 20403f54 call mouse_gpio_config_input_pd 
+0530 20406059 call gpio_get_bit 
+0531 7920a400 setflag true ,0 ,regb 
+0532 1a417e07 and regb ,0x07 ,pdata 
+0533 6848cc3f fetcht 1 ,mem_mouse_key_temp_patch 
+0534 18420e00 copy temp ,queue 
+0535 c0038538 beq 0x07 ,p_mouse_key_press 
+0536 c000053a beq 0x00 ,p_mouse_key_release 
+0537 20600000 rtn 
 
 p_mouse_key_press:
-0508 704c3e01 jam 1 ,mem_dpi_another_button_down_enable 
-0509 20600000 rtn 
+0538 704c3e01 jam 1 ,mem_dpi_another_button_down_enable 
+0539 20600000 rtn 
 
 p_mouse_key_release:
-050a 704c3e00 jam 0 ,mem_dpi_another_button_down_enable 
-050b 20600000 rtn 
+053a 704c3e00 jam 0 ,mem_dpi_another_button_down_enable 
+053b 20600000 rtn 
 
 p_mouse_dpi_process:
-050c 6fe0c992 fetch 1 ,mem_mouse_dpi 
-050d 1fe20400 copy pdata ,temp 
-050e 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
-050f c29e8516 bbit1 mouse_enable_double_dpi_key ,p_mouse_double_dpi_check 
-0510 18427e00 copy temp ,pdata 
-0511 1fe0fe01 increase 1 ,pdata 
-0512 1fe17e03 and pdata ,0x03 ,pdata 
+053c 6fe0c992 fetch 1 ,mem_mouse_dpi 
+053d 1fe20400 copy pdata ,temp 
+053e 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
+053f c29e8546 bbit1 mouse_enable_double_dpi_key ,p_mouse_double_dpi_check 
+0540 18427e00 copy temp ,pdata 
+0541 1fe0fe01 increase 1 ,pdata 
+0542 1fe17e03 and pdata ,0x03 ,pdata 
 
 p_mouse_dpi_store:
-0513 67e0c992 store 1 ,mem_mouse_dpi 
-0514 20404095 call mouse_seting_dpi 
-0515 20204643 branch mouse_store_eerpom_dpi 
+0543 67e0c992 store 1 ,mem_mouse_dpi 
+0544 20404095 call mouse_seting_dpi 
+0545 20204643 branch mouse_store_eerpom_dpi 
 
 p_mouse_double_dpi_check:
-0516 6fe0cc3e fetch 1 ,mem_dpi_another_button_down_enable 
-0517 243a053a nbranch p_mouse_another_dpi_button_down ,blank 
+0546 6fe0cc3e fetch 1 ,mem_dpi_another_button_down_enable 
+0547 243a056a nbranch p_mouse_another_dpi_button_down ,blank 
 
 p_mouse_dpi_increase:
-0518 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
-0519 c28e052e bbit1 mouse_enable_dpi_level_4 ,p_mouse_dpi_increase_level_4 
-051a 18427e00 copy temp ,pdata 
-051b c1008000 rtneq mouse_dpi_level2 
+0548 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
+0549 c28e055e bbit1 mouse_enable_dpi_level_4 ,p_mouse_dpi_increase_level_4 
+054a 18427e00 copy temp ,pdata 
+054b c1008000 rtneq mouse_dpi_level2 
 
 p_mouse_dpi_increase_level:
-051c c000052a beq mouse_dpi_level1 ,p_mouse_dpi_level_3 
-051d c0010528 beq mouse_dpi_level3 ,p_mouse_dpi_level_2 
-051e 20600000 rtn 
+054c c000055a beq mouse_dpi_level1 ,p_mouse_dpi_level_3 
+054d c0010558 beq mouse_dpi_level3 ,p_mouse_dpi_level_2 
+054e 20600000 rtn 
 
 p_mouse_dpi_ghost_check:
-051f 78547c00 disable user 
-0520 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
-0521 c3960000 rtnbit1 mouse_enable_dpi_key_connect_gnd 
-0522 6fe1cb8e fetch 3 ,mem_mouse_lkey_press_status 
-0523 207a0000 rtn blank 
-0524 704b9300 jam 0 ,mem_mouse_dpikey_press_status 
-0525 20207e54 branch enable_user 
+054f 78547c00 disable user 
+0550 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
+0551 c3960000 rtnbit1 mouse_enable_dpi_key_connect_gnd 
+0552 6fe1cb8e fetch 3 ,mem_mouse_lkey_press_status 
+0553 207a0000 rtn blank 
+0554 704b9300 jam 0 ,mem_mouse_dpikey_press_status 
+0555 20207e54 branch enable_user 
 
 p_mouse_dpi_level_1:
-0526 58000002 setarg 2 
-0527 20200513 branch p_mouse_dpi_store 
+0556 58000002 setarg 2 
+0557 20200543 branch p_mouse_dpi_store 
 
 p_mouse_dpi_level_2:
-0528 58000000 setarg 0 
-0529 20200513 branch p_mouse_dpi_store 
+0558 58000000 setarg 0 
+0559 20200543 branch p_mouse_dpi_store 
 
 p_mouse_dpi_level_3:
-052a 58000001 setarg 1 
-052b 20200513 branch p_mouse_dpi_store 
+055a 58000001 setarg 1 
+055b 20200543 branch p_mouse_dpi_store 
 
 p_mouse_dpi_level_4:
-052c 58000003 setarg 3 
-052d 20200513 branch p_mouse_dpi_store 
+055c 58000003 setarg 3 
+055d 20200543 branch p_mouse_dpi_store 
 
 p_mouse_dpi_increase_level_4:
-052e 18427e00 copy temp ,pdata 
-052f c1008000 rtneq mouse_dpi_level2 
-0530 c000052a beq mouse_dpi_level1 ,p_mouse_dpi_level_3 
-0531 c001052c beq mouse_dpi_level3 ,p_mouse_dpi_level_4 
-0532 c0018528 beq mouse_dpi_level4 ,p_mouse_dpi_level_2 
-0533 20600000 rtn 
+055e 18427e00 copy temp ,pdata 
+055f c1008000 rtneq mouse_dpi_level2 
+0560 c000055a beq mouse_dpi_level1 ,p_mouse_dpi_level_3 
+0561 c001055c beq mouse_dpi_level3 ,p_mouse_dpi_level_4 
+0562 c0018558 beq mouse_dpi_level4 ,p_mouse_dpi_level_2 
+0563 20600000 rtn 
 
 p_mouse_dpi_decrease_level_4:
-0534 18427e00 copy temp ,pdata 
-0535 c1010000 rtneq mouse_dpi_level3 
-0536 c000052c beq mouse_dpi_level1 ,p_mouse_dpi_level_4 
-0537 c0008528 beq mouse_dpi_level2 ,p_mouse_dpi_level_2 
-0538 c0018526 beq mouse_dpi_level4 ,p_mouse_dpi_level_1 
-0539 20600000 rtn 
+0564 18427e00 copy temp ,pdata 
+0565 c1010000 rtneq mouse_dpi_level3 
+0566 c000055c beq mouse_dpi_level1 ,p_mouse_dpi_level_4 
+0567 c0008558 beq mouse_dpi_level2 ,p_mouse_dpi_level_2 
+0568 c0018556 beq mouse_dpi_level4 ,p_mouse_dpi_level_1 
+0569 20600000 rtn 
 
 p_mouse_another_dpi_button_down:
 
 p_mouse_dpi_decrease:
-053a 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
-053b c28e0534 bbit1 mouse_enable_dpi_level_4 ,p_mouse_dpi_decrease_level_4 
-053c 18427e00 copy temp ,pdata 
-053d c1010000 rtneq mouse_dpi_level3 
+056a 6fe44bab fetch mouse_flag_len ,mem_mouse_flag 
+056b c28e0564 bbit1 mouse_enable_dpi_level_4 ,p_mouse_dpi_decrease_level_4 
+056c 18427e00 copy temp ,pdata 
+056d c1010000 rtneq mouse_dpi_level3 
 
 p_mouse_dpi_decrease_level:
-053e c0000526 beq mouse_dpi_level1 ,p_mouse_dpi_level_1 
-053f c0008528 beq mouse_dpi_level2 ,p_mouse_dpi_level_2 
-0540 20600000 rtn 
+056e c0000556 beq mouse_dpi_level1 ,p_mouse_dpi_level_1 
+056f c0008558 beq mouse_dpi_level2 ,p_mouse_dpi_level_2 
+0570 20600000 rtn 
               org 0x800
 
 start:
Index: output/ramcode.rom
===================================================================
--- /YC1308AC/branch/mouse_project/YJX_Project/1011-T_Project/Multimode/PB_3mode_3ch_1IO2LED_FY158/output/ramcode.rom	(revision 4924)
+++ /YC1308AC/branch/mouse_project/YJX_Project/1011-T_Project/Multimode/PB_3mode_3ch_1IO2LED_FY158/output/ramcode.rom	(working copy)
@@ -12,31 +12,31 @@
 c0648187
 c06501be
 c066009e
-c0670426
-c067850c
+c0670431
+c067853c
 c06802c1
-c0688467
-c0698417
-c06a0437
+c0688476
+c0698422
+c06a0446
 c06b01e9
 c06c82e9
-c06d0395
-c06d83c2
+c06d03a0
+c06d83cd
 c06e0028
-c06f049d
+c06f04b6
 c06f802e
-c07403c9
+c07403d4
 2020137c
 c019807e
 c01a0083
-c04383c5
-c05083dd
-c06003e7
+c04383d0
+c05083e8
+c06003f2
 c06e8298
 c071025e
 c0748266
 c0750136
-c076040e
+c0760419
 2020137c
 6fe44bab
 c4010000
@@ -190,7 +190,7 @@
 20406df3
 204000da
 245580d4
-24558314
+2455831f
 24558050
 204041a7
 20758000
@@ -198,9 +198,9 @@
 20403d8a
 20404728
 204000f1
-20400449
+20400458
 20203bc9
-2040030f
+2040031a
 202000cc
 6fe44bab
 c41e8000
@@ -236,9 +236,9 @@
 6fe0cc40
 245a00ee
 20203f1e
-20400347
-20400347
-20200349
+20400352
+20400352
+20200354
 580000f6
 67e1489b
 58000110
@@ -307,7 +307,7 @@
 67e0cba4
 6fe14bbc
 67e14ab2
-20200449
+20200458
 20402631
 243401d0
 20400145
@@ -386,12 +386,12 @@
 58000006
 20405b0d
 c281be23
-20400442
-20400449
+20400451
+20400458
 20203e23
 204042e9
 20407fdc
-20400355
+20400360
 204000ee
 20404015
 6848c910
@@ -460,7 +460,7 @@
 58000000
 67e3c8d0
 704be101
-20400449
+20400458
 202001d5
 6fe0c8a7
 205a01db
@@ -502,11 +502,11 @@
 204042ca
 204000ee
 6fe0cc40
-245a031a
+245a0325
 20203244
 204000ee
 6fe0cc40
-245a031a
+245a0325
 20204350
 704aae00
 202043fc
@@ -546,7 +546,7 @@
 6fe0cc40
 c0004859
 204000ee
-2040031a
+20400325
 2020485a
 6fe2483c
 67e24891
@@ -555,7 +555,7 @@
 6fe0cc40
 c000022f
 204000ee
-2040031a
+20400325
 20200230
 204048c6
 20404544
@@ -578,7 +578,7 @@
 20204806
 6fe0cc40
 c0004811
-20400314
+2040031f
 20204812
 70488b00
 d8e00001
@@ -589,7 +589,7 @@
 2040498e
 6fe0cc40
 c000482d
-20400314
+2040031f
 2020482e
 6fe44bab
 c317c839
@@ -698,10 +698,10 @@
 1a217e07
 202047ff
 6fe0cc40
-245a0314
+245a031f
 20204806
 6fe0cc40
-245a0314
+245a031f
 2020480c
 2040408f
 204002db
@@ -740,7 +740,7 @@
 6fe0cba7
 247a0000
 6fe0cbc1
-203a035e
+203a0369
 67e0cba8
 20600000
 20403e9b
@@ -749,30 +749,41 @@
 20402556
 204047cd
 204048be
-2040035b
-2040031e
-2040407c
+20400366
+20400329
+20400302
 204044cc
-20400373
+2040037e
 204044ff
-20400308
+20400313
 20404512
-2040038a
+20400395
 20404515
 2040452a
 2040452d
-20400302
+2040030d
 20404535
 20404022
 20404547
-2040034b
-2040038d
-2020030c
+20400356
+20400398
+20200317
+6fe44bab
+c2944080
+c29b0306
+20600000
+6fe0c9dd
+c1808000
+da604b9b
+da40030b
+2020318a
+7049de01
+20600000
 da604ac4
-da400305
+da400310
 2020318a
 6fe44bab
-c2998395
+c29983a0
 20203e20
 da604b77
 da40450a
@@ -788,7 +799,7 @@
 20600000
 704c4101
 704c4301
-20400335
+20400340
 6fe0cc4b
 67e0cc4c
 20600000
@@ -799,43 +810,43 @@
 6fe0cc41
 207a0000
 6fe0cc43
-c000832e
+c0008339
 6fe0cc45
-243a0326
+243a0331
 704c4100
 20600000
 6fe0cc47
-203a032b
+203a0336
 1fe0ffff
 67e0cc47
-20200335
+20200340
 704c4500
 704c4100
-20200341
+2020034c
 da604c4c
-da400331
+da40033c
 2020318a
 6fe0cc4b
 67e0cc4c
 6fe0cc4d
-c0008341
+c000834c
 704c4d01
 6fe0c938
-c000033b
-c000833d
-c001033f
+c0000346
+c0008348
+c001034a
 20600000
 6848cc48
-20200340
+2020034b
 6848cc49
-20200340
+2020034b
 6848cc4a
 20206069
 704c4d00
 6fe0c938
-c0000347
-c0008347
-c0010349
+c0000352
+c0008352
+c0010354
 20600000
 70807ac0
 20600000
@@ -850,7 +861,7 @@
 98460400
 6fe14bee
 98467e00
-20210359
+20210364
 6848cbed
 6fe0cc40
 c000e07f
@@ -858,7 +869,7 @@
 6848cbed
 20406069
 da604ba8
-da40035e
+da400369
 2020318a
 6fe0c927
 c001c8f2
@@ -872,8 +883,8 @@
 6848c992
 18408402
 18467c03
-2041036d
-24410371
+20410378
+2441037c
 202048ff
 6fe44bab
 c40e0000
@@ -882,11 +893,11 @@
 184085fd
 20600000
 6fe0c938
-c0000379
+c0000384
 6fe44bab
 c41a8000
 6848cbca
-2020037c
+20200387
 6fe44bab
 c4190000
 6848cbcb
@@ -895,9 +906,9 @@
 1fe17e07
 6848cb9d
 98467c00
-20228383
+2022838e
 202044eb
-20400388
+20400393
 6fe0cb9f
 c1008000
 704b9f01
@@ -910,7 +921,7 @@
 6fe0c92a
 c3838000
 da604ab2
-da400392
+da40039d
 20203191
 6fe0c938
 c00001c7
@@ -926,9 +937,9 @@
 67e14af2
 20404314
 6fe1478c
-c28583a9
+c28583b4
 6fe44bab
-c30403a9
+c30403b4
 68494997
 18408401
 60494997
@@ -958,7 +969,7 @@
 2040f8c4
 2040498e
 6fe0cc40
-243a0314
+243a031f
 202048cc
 58000000
 67e14ac2
@@ -973,7 +984,7 @@
 67e0c5f5
 1fe1040f
 1ff1fe00
-c00483d1
+c00483dc
 20204d93
 da200001
 20404dc0
@@ -998,27 +1009,27 @@
 20401838
 20201655
 efe10006
-c00203ea
+c00203f5
 202019e4
 efe18006
 67e1c436
-c00503ef
-c00903fe
+c00503fa
+c0090409
 20201cd3
 6fe44bab
 c31d9de7
 20401e8d
 68494437
 6fe0c3c0
-c28183f9
+c2818404
 6fe14437
 c0181ec8
 68494437
 20201deb
 6fe143d1
 98467c00
-242283f5
-243403f5
+24228400
+24340400
 20201e10
 18c22200
 6fe143d4
@@ -1049,14 +1060,14 @@
 20758000
 20404236
 204041b5
-c018041d
+c0180428
 202041ad
 6fe0c9c2
-c0688420
+c068842b
 202041bd
 58000049
 20405b0d
-c0508424
+c050842f
 202041da
 7049270c
 20600000
@@ -1067,29 +1078,33 @@
 204002c3
 20403f7e
 20403f83
-20400451
+6fe0cb8b
+245a7e54
+20400460
 6fe0c8d0
 1fe17e1f
 67e0c8d0
+6fe0cb8b
+245a7e54
 24344728
-20400434
+20400443
 20204544
 6fe0c927
 c1018000
 2020471a
 20403f65
 6fe0c927
-c005843e
+c005844d
 20404232
 da604aa3
 2040422b
 202002c3
-20400445
+20400454
 da604be3
 2040422b
 202002c3
 6fe0c927
-c0058445
+c0058454
 20204232
 58009706
 20405b0c
@@ -1098,20 +1113,20 @@
 204041a7
 20403f65
 6fe0c927
-c005844f
+c005845e
 58000806
 20205b0c
 58001f06
 20205b0c
-20400467
-20400454
+20400476
+20400463
 202040de
 704b9800
 704b9900
 704b9a00
 1fe20400
 20404100
-20400464
+20400473
 20404103
 20404106
 6fe0cb99
@@ -1128,24 +1143,34 @@
 6fe0cbe1
 245a4121
 da200000
-20400470
-20400475
-2040047a
-2040047f
-2040048c
-2020411e
+20400489
+2040048e
+20400493
+20400498
+204004a5
+704b8b00
+6fe0c9de
+245a0484
+6fe0cc6d
+245a0487
+2020411f
+2040417a
+7049de00
+20600000
+704c6d00
+2020417d
 6fe0c918
-20400499
+204004b2
 20404124
 6848c918
 20203f56
 6fe0c919
-20400499
+204004b2
 2040412a
 6848c919
 20203f56
 6fe0c91a
-20400499
+204004b2
 20404130
 6848c91a
 20203f56
@@ -1156,10 +1181,10 @@
 1fe22600
 6848c90d
 6fe0c910
-c07f8488
+c07f84a1
 2020413e
 6fe0c90d
-2040049b
+204004b4
 6848c90d
 2020414b
 6fe0c90e
@@ -1169,10 +1194,10 @@
 1fe22600
 6848c90e
 6fe0c910
-c07f8495
+c07f84ae
 20204157
 6fe0c90e
-2040049b
+204004b4
 6848c90e
 20204164
 d840003f
@@ -1181,22 +1206,22 @@
 20206093
 20404990
 20407936
-204004a2
-204004a9
+204004bb
+204004c2
 20204650
 d8e0000c
 20407d74
 247a0000
-204004b6
+204004cf
 d8e0000c
 58000020
 20207d66
 6fe44bab
-c29484ad
-c29b84ad
+c29484c6
+c29b84c6
 20600000
 6fe1478c
-c28304b4
+c28304cd
 6fe0c91b
 c17f8000
 6fe0c9bf
@@ -1206,43 +1231,66 @@
 2020016f
 6fe0c90f
 c17f8000
-2040051f
+2040054f
 20740000
 da200000
 704b9605
 6848c90f
-204004bf
-2020402f
+204004ef
+67e0cb93
+6fe0c910
+c07fc042
+20404168
+1a227e00
+c282c052
+202004de
+6fe0c9dd
+c1000000
+7049dd00
+6fe44bab
+c2944060
+c29b04e5
+20600000
+6fe0c9de
+243a4064
+6fe0cb9b
+245a4069
+7049de00
+704c6d01
+6fe0c78f
+67e0cb9c
+67e0cb9b
+2020417d
 6fe44bab
 c2964048
 6fe0cb93
 1fe22600
 6fe0c910
-c07f84c6
+c07f84f6
 2020403f
 6fe0c90f
-2040049b
+204004b4
 6848c90f
 20204195
 6fe44bab
 c41e8000
 6fe0cc3a
-243a04d3
+243a0503
 6fe0cc3b
-20400499
-204004e4
+204004b2
+20400514
 6848cc3b
 20203f56
 6fe0cc3b
 793ffe07
 67e0cc3b
 6fe0cc3b
-2040049b
+204004b4
 704c3f00
 6848cc3b
 6fe0cc3c
-204004fd
-204004e8
+2040052d
+20400518
 6848cc3b
 20203f56
 20403f56
@@ -1253,10 +1301,10 @@
 704c3f00
 6848cc3b
 6fe0cc3c
-204004f3
+20400523
 67e0cc3c
 6fe0cc3e
-203a04ef
+203a051f
 6fe0cc3d
 c1008000
 704c3d01
@@ -1272,8 +1320,8 @@
 1a417e07
 6848cc3f
 18420e00
-c0038508
-c000050a
+c0038538
+c000053a
 20600000
 1fe3fe00
 1fe22400
@@ -1283,8 +1331,8 @@
 1a417e07
 6848cc3f
 18420e00
-c0038508
-c000050a
+c0038538
+c000053a
 20600000
 704c3e01
 20600000
@@ -1293,7 +1341,7 @@
 6fe0c992
 1fe20400
 6fe44bab
-c29e8516
+c29e8546
 18427e00
 1fe0fe01
 1fe17e03
@@ -1301,13 +1349,13 @@
 20404095
 20204643
 6fe0cc3e
-243a053a
+243a056a
 6fe44bab
-c28e052e
+c28e055e
 18427e00
 c1008000
-c000052a
-c0010528
+c000055a
+c0010558
 20600000
 78547c00
 6fe44bab
@@ -1317,29 +1365,29 @@
 704b9300
 20207e54
 58000002
-20200513
+20200543
 58000000
-20200513
+20200543
 58000001
-20200513
+20200543
 58000003
-20200513
+20200543
 18427e00
 c1008000
-c000052a
-c001052c
-c0018528
+c000055a
+c001055c
+c0018558
 20600000
 18427e00
 c1010000
-c000052c
-c0008528
-c0018526
+c000055c
+c0008558
+c0018556
 20600000
 6fe44bab
-c28e0534
+c28e0564
 18427e00
 c1010000
-c0000526
-c0008528
+c0000556
+c0008558
 20600000
Index: output/sched.rom
===================================================================
--- /YC1308AC/branch/mouse_project/YJX_Project/1011-T_Project/Multimode/PB_3mode_3ch_1IO2LED_FY158/output/sched.rom	(revision 4924)
+++ /YC1308AC/branch/mouse_project/YJX_Project/1011-T_Project/Multimode/PB_3mode_3ch_1IO2LED_FY158/output/sched.rom	(working copy)
@@ -108,7 +108,7 @@
 #bit4 MOUSE_ENABLE_ADC
 #bit5 MOUSE_ENABLE_KEYBOARD
 #bit6 MOUSE_ENABLE_24G_SEARCH_DONGLE
-4a
+6a
 
 #mouse flag byte4
 #bit0 MOUSE_ENABLE_24G_250Hz
@@ -152,7 +152,7 @@
 #bit5 MOUSE_ENABLE_COMMBINATION_KEY_BY_BT_DISCOVERY
 #bit6 MOUSE_ENABLE_DPI_KEY_LONG_PRESS_DISCONVERY
 #bit7 MOUSE_ENABLE_PB_BUTTON_LONG_PRESS_DISCONVERY
-81
+c1
 
 #mouse flag byte8
 #bit0 MOUSE_ENABLE_SMOOTHER
@@ -228,14 +228,14 @@
 mem_customer_key_press:
 #03 ea 00 00 00 00 00 00 00 #VOL DOWN
 #02 01 00 00 00 00 00 00 00 #POWERDOWN
-00 05 00 04 00 00 00 00 00#CTRL+ALT+Aa
-#00 08 00 07 00 00 00 00 00#One-click desktop
+# 00 05 00 04 00 00 00 00 00#CTRL+ALT+Aa
+00 08 00 07 00 00 00 00 00#One-click desktop
 
 mem_customer_key_release:
 #03 00 00 00 00 00 00 00 00 #MEDIA RELEASE
 #02 00 00 00 00 00 00 00 00 #SYSTEM CRTL RELEASE
-00 00 00 00 00 00 00 00 00#STANDARD KEY RELEASE
-#00 00 00 00 00 00 00 00 00#One-click desktop
+# 00 00 00 00 00 00 00 00 00#STANDARD KEY RELEASE
+00 00 00 00 00 00 00 00 00#One-click desktop
 
 mem_lpm_mode:01
 
Index: program/patch.prog
===================================================================
--- /YC1308AC/branch/mouse_project/YJX_Project/1011-T_Project/Multimode/PB_3mode_3ch_1IO2LED_FY158/program/patch.prog	(revision 4924)
+++ /YC1308AC/branch/mouse_project/YJX_Project/1011-T_Project/Multimode/PB_3mode_3ch_1IO2LED_FY158/program/patch.prog	(working copy)
@@ -1074,7 +1074,7 @@
 	call p_mouse_dpi_led_blink_delay_timer
 	call p_mouse_led_multi_timer
 
-	call mouse_dpi_key_check_long_press
+	call p_mouse_dpi_key_check_long_press
 	call mouse_bt_discovery_check
 	call p_mouse_commbination_key_process
 	call mouse_check_discovery_timeout_timer
@@ -1094,6 +1094,30 @@
 	call p_mouse_check_no_data_timeout_timer
 	branch p_mouse_g24_ota_reset_timer
 
+p_mouse_dpi_key_check_long_press:
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	bbit1 MOUSE_ENABLE_SELECT_DEVICE_BY_DPI_BUTTON,mouse_select_device_by_dpi_button
+	bbit1 MOUSE_ENABLE_DPI_KEY_LONG_PRESS_DISCONVERY,p_send_customer_by_dpi_button
+	rtn
+p_send_customer_by_dpi_button:
+	fetch 1,mem_mouse_dpi_button_state
+	rtnne DPI_BUTTON_STATE_DOWN	
+	arg mem_bt_discovery_count,regc
+	arg p_mouse_customerkey_press,regb
+	branch timer_single_step
+p_mouse_customerkey_press:
+	jam 1,mem_mouse_dpi_long_press_flag
+	// fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	// rtnbit1 MOUSE_BT_DISCOVERY_BUTTON_LONG_DOWN_FLAG
+	// arg MOUSE_BT_DISCOVERY_BUTTON_LONG_DOWN_FLAG,queue
+	// call mouse_enable_function_flag
+	// branch mouse_customerkey_press
+	rtn
+// mouse_long_dpi_button_bt_discovery:
+// 	jam 1,mem_mouse_dpi_long_press_flag
+// 	branch mouse_long_button_bt_discovery
+
+
 p_mouse_check_reconnect_delay_long_sleep:
 	arg mem_mouse_bluetooth_reconnect_timeout,regc
 	arg p_mouse_app_enter_hibernate_check,regb
@@ -1524,10 +1548,14 @@
 	call p_mouse_seting_sensor_type
 	call mouse_zwheel
 	call mouse_t_zwheel
+	fetch 1,mem_customer_key
+	ncall enable_user,blank
 	call p_mouse_key
 	fetch 1,mem_mouse_key
 	and_into 0x1f,pdata
 	store 1,mem_mouse_key
+	fetch 1,mem_customer_key
+	ncall enable_user,blank
 	nbranch mouse_drawing_optima_init,user
 	call p_mouse_drawing_optima
 	branch mouse_no_data_timer_init
@@ -1620,7 +1648,21 @@
 ifdef FIRE_KEY	
 	call p_mouse_check_firekey_gpio
 endif
-	branch mouse_check_key_gpio_next
+	jam 0,mem_customer_key
+	fetch 1,mem_mouse_dpi_long_press_flag
+	ncall p_mouse_customerkey_press_next,blank
+	fetch 1,mem_mouse_customerkey_finish
+	ncall p_mouse_customerkey_release,blank
+	branch mouse_check_key_gpio_next+1
+
+p_mouse_customerkey_press_next:
+	call mouse_customerkey_press
+	jam 0,mem_mouse_dpi_long_press_flag
+	rtn
+
+p_mouse_customerkey_release:
+	jam 0,mem_mouse_customerkey_finish
+	branch mouse_customerkey_release
 
 p_mouse_check_lkey_gpio:
 	fetch 1,mem_lbutton_gpio
@@ -1820,7 +1862,36 @@
 	jam MOUSE_DPI_KEY,mem_mouse_key_temp
 	fetcht 1,mem_dpi_button_gpio
 	call p_mouse_dpi_key_check
-	branch mouse_dpi_check_next
+	// branch mouse_dpi_check_next
+	store 1,mem_mouse_dpikey_press_status
+	fetch 1,mem_matrix_public_gpio
+	beq GPIO_DISABLE,mouse_3io6key_dpi_check_end
+	call mouse_matrix_public_gpio_reset
+p_mouse_dpi_check_exit:
+	copy rega,pdata
+	bbit1 MOUSE_DPI_KEY,mouse_dpi_down
+	branch p_mouse_dpi_up
+p_mouse_dpi_up:
+	fetch 1,mem_mouse_dpi_button_state
+	rtneq DPI_BUTTON_STATE_UP
+	jam DPI_BUTTON_STATE_UP,mem_mouse_dpi_button_state
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	bbit1 MOUSE_ENABLE_SELECT_DEVICE_BY_DPI_BUTTON,mouse_dpi_up_next
+	bbit1 MOUSE_ENABLE_DPI_KEY_LONG_PRESS_DISCONVERY,p_mouse_dpi_up_next
+	rtn
+p_mouse_dpi_up_next:
+	fetch 1,mem_mouse_dpi_long_press_flag
+	nbranch mouse_dpi_up_after_long_press,blank
+	fetch 1,mem_bt_discovery_count
+	ncall mouse_dpi_process,blank
+p_mouse_dpi_up_after_long_press:
+	jam 0,mem_mouse_dpi_long_press_flag
+	jam 1,mem_mouse_customerkey_finish
+	fetch 1,mem_ui_button_timeout
+	store 1,mem_select_device_count	
+	store 1,mem_bt_discovery_count
+	branch mouse_customerkey_release
+	// rtn
 
 p_mouse_dpi_key_check:
 	fetch MOUSE_FLAG_LEN,mem_mouse_flag
Index: sched/mouse.dat
===================================================================
--- /YC1308AC/branch/mouse_project/YJX_Project/1011-T_Project/Multimode/PB_3mode_3ch_1IO2LED_FY158/sched/mouse.dat	(revision 4924)
+++ /YC1308AC/branch/mouse_project/YJX_Project/1011-T_Project/Multimode/PB_3mode_3ch_1IO2LED_FY158/sched/mouse.dat	(working copy)
@@ -41,7 +41,7 @@
 #bit4 MOUSE_ENABLE_ADC
 #bit5 MOUSE_ENABLE_KEYBOARD
 #bit6 MOUSE_ENABLE_24G_SEARCH_DONGLE
-4a
+6a
 
 #mouse flag byte4
 #bit0 MOUSE_ENABLE_24G_250Hz
@@ -85,7 +85,7 @@
 #bit5 MOUSE_ENABLE_COMMBINATION_KEY_BY_BT_DISCOVERY
 #bit6 MOUSE_ENABLE_DPI_KEY_LONG_PRESS_DISCONVERY
 #bit7 MOUSE_ENABLE_PB_BUTTON_LONG_PRESS_DISCONVERY
-81
+c1
 
 #mouse flag byte8
 #bit0 MOUSE_ENABLE_SMOOTHER
@@ -161,14 +161,14 @@
 mem_customer_key_press:
 #03 ea 00 00 00 00 00 00 00 #VOL DOWN
 #02 01 00 00 00 00 00 00 00 #POWERDOWN
-00 05 00 04 00 00 00 00 00#CTRL+ALT+Aa
-#00 08 00 07 00 00 00 00 00#One-click desktop
+# 00 05 00 04 00 00 00 00 00#CTRL+ALT+Aa
+00 08 00 07 00 00 00 00 00#One-click desktop
 
 mem_customer_key_release:
 #03 00 00 00 00 00 00 00 00 #MEDIA RELEASE
 #02 00 00 00 00 00 00 00 00 #SYSTEM CRTL RELEASE
-00 00 00 00 00 00 00 00 00#STANDARD KEY RELEASE
-#00 00 00 00 00 00 00 00 00#One-click desktop
+# 00 00 00 00 00 00 00 00 00#STANDARD KEY RELEASE
+00 00 00 00 00 00 00 00 00#One-click desktop
 
 mem_lpm_mode:01
 
