Index: output/otp.dat
===================================================================
--- /1121s/branch/mouse/YJX_Project/mouse_public_yjx/output/otp.dat	(revision 2941)
+++ /1121s/branch/mouse/YJX_Project/mouse_public_yjx/output/otp.dat	(working copy)
@@ -27,8 +27,8 @@
 1e
 aa
 55
-e0
-14
+10
+15
 4e
 06
 a3
@@ -116,7 +116,7 @@
 f7
 dc
 c2
-56
+5d
 ca
 91
 eb
@@ -124,11 +124,11 @@
 f6
 83
 7e
-b0
+b1
 0d
 c5
 0f
-0d
+0f
 50
 fe
 9b
@@ -184,7 +184,7 @@
 43
 3b
 4f
-40
+49
 59
 81
 fc
@@ -196,7 +196,7 @@
 b9
 a4
 d2
-d6
+df
 87
 bf
 c9
@@ -4832,7 +4832,7 @@
 c9
 4e
 f1
-31
+33
 9a
 d9
 c2
@@ -4928,451 +4928,499 @@
 2a
 47
 ce
-b5
-68
-e3
-b0
-64
-f3
-c0
-66
-68
-33
+b4
+88
+c5
+e2
+55
+bc
+00
+f6
+02
+43
 71
-a2
-73
-fb
+9a
+e2
+83
 6d
-3e
-16
-af
-6e
-c4
-18
-18
-c4
-f6
-69
-44
-ea
-6b
-08
-dd
-01
+06
+87
+d7
+68
+7e
 8c
-d0
-4a
-fe
-64
-5b
-16
-c8
-a2
-61
-f0
-32
-89
-47
-53
-33
 27
-04
-d6
-3e
-76
-7c
-ae
+60
+77
+a7
+44
+88
+c1
 c3
-e6
-42
-ae
-04
-27
-74
-26
-43
+dd
+61
 df
-a1
-83
-dc
-18
-06
+03
+4a
+9e
+37
+ce
+59
+08
+3c
+70
+5e
+d5
+40
+10
+b2
+14
+70
+3a
+78
+d8
+bf
+2b
+4e
+e5
+35
+a5
+01
+e3
+ea
+c7
+c6
+65
+0c
+0b
+2c
+3b
+da
+7b
 c4
-75
+73
 fd
-75
-8d
-52
-7c
-00
-48
-99
+77
+6d
+72
+af
 a8
-58
-88
-c3
-1d
-3d
-78
-e3
-eb
-4a
-31
-89
+e7
 78
+6a
+2a
+68
+a3
 4a
-d8
-d7
-90
-4a
+52
+62
+83
+77
+65
+d1
+a8
+76
+a7
+c2
+b6
+0c
+5b
 4a
-27
-00
-44
-e7
-80
-7a
+67
+59
+d1
+52
 00
-5c
-be
-e8
+f7
+da
+bc
 9e
-2d
-9a
-0a
-df
+b5
+ec
+82
+7a
+48
+a6
 d0
-19
 18
-e1
+18
+e0
+54
+ce
+82
+db
+d9
+89
+ff
+f8
+5f
+21
+52
+7a
+29
+f3
+ee
+46
+ba
+3a
+00
+2a
+e0
+37
+45
 b4
-ae
-06
+65
+e5
 37
-c3
-e8
-b0
-4c
-bf
-00
-8f
-1f
 d3
-f3
-a5
-2c
-f2
-52
-92
-c5
-1a
-77
-59
-a0
-2d
-8d
-a5
-3d
-e8
-9e
-fd
-8e
-e6
-34
-2c
-37
-54
-e0
-af
-c3
-71
-df
-02
-fa
-50
-50
-74
-44
+a7
+5e
+6c
+40
+4e
+7c
+e3
 b8
-ef
-00
 b4
-e0
-7e
-9c
-89
+c0
+7c
+68
+d9
+96
+cd
+70
+b0
+71
+a7
+e3
+f7
+6f
+c9
+e3
+48
+31
+36
+c2
 3c
 b1
-2e
-80
-2d
-44
-9e
-66
-12
-a7
-64
-76
-96
-d1
-26
-a4
-bd
-1e
-33
+18
+fd
+3d
+58
+29
+1d
+6a
 87
-48
-da
-85
-7b
+33
+28
+99
+7a
+a5
+9f
+bd
+7e
+60
+61
+78
+92
+4e
+8f
 99
+f8
 98
-a6
-1e
-13
-5a
-3d
-d1
-1b
-6c
-f6
-a6
+a4
+5c
+fa
+a3
+c1
+fb
+2b
+c1
+85
 a5
-5b
-6b
-06
-9c
-a2
-f0
-ad
-f1
-5a
-48
-35
+3b
+5c
+32
+c4
+b6
+89
+ae
+89
+7a
+1e
+39
+b6
+c0
+e9
+90
+43
 be
-c3
-68
-80
-a2
-fb
-2a
-10
-1a
-a2
-1c
-d8
+ae
+a8
+62
+82
+43
+76
 b5
 eb
-83
-21
-7f
-be
-40
-16
-bf
-c6
-7b
-92
-b0
-ef
-34
-6e
-61
-f3
-fa
-e6
+b2
+89
+30
+1e
+de
+d6
+bb
+bc
+75
+e0
+ff
+4f
+ab
+fb
+65
+89
+a7
+b5
 fa
-77
-22
-09
-ba
-99
-df
-01
-f4
-d9
-c7
-64
-d8
-6c
-69
-7d
-80
-ba
-b4
-5e
+17
+2c
 8d
-2a
+f5
+39
+13
+5d
+15
+fc
+10
+c9
 88
-21
-a2
-21
-86
-ff
-24
+05
+4f
+5a
+d0
+b3
+96
+12
+92
+83
+3a
+a6
+99
+f9
+fa
+9f
+23
+ca
 62
-6d
+4d
+85
+94
+9c
+9b
+96
+f5
+c9
+5e
 8b
-ce
-4e
-02
+39
+dd
+a8
 83
-2e
-f3
-ed
-d6
-8b
-5b
-5d
-a1
-cc
-b0
-f8
-d9
-eb
-34
-50
+70
+69
+3c
+03
+3b
+55
 12
-81
-ed
-11
-fd
-31
-5e
-6b
-e7
-3e
-75
-b3
-bb
-4d
-41
-b4
-64
-59
-56
-da
-5b
-7a
-cf
+d1
+86
+ee
+de
+29
+5f
+d6
+a2
+4e
+77
+51
+fc
+bd
+4f
+0e
+20
+16
+94
 99
-e8
-38
-3e
+30
 c2
-d0
-43
-e3
-bd
-3f
-f5
-d9
-cf
-7e
-af
-9d
-28
+c9
+b2
+13
+38
+5c
+42
+c7
+0c
+23
+2c
+92
+05
+d7
 75
-ba
-b6
-32
-8e
-e9
-28
-a4
-3d
-a8
-90
-55
-c8
-8a
-e4
-8d
-17
-0b
-c6
-a7
-52
-ea
-54
-8d
-e9
-6f
-21
+3b
+e0
+5f
 6b
+11
+4a
+b8
+88
+cb
+a6
 ea
-e7
-bb
-a0
-ed
-e4
-e7
-15
-a7
-0a
-80
-5e
-b0
-3c
-56
+b5
+ac
+10
+96
+7e
+27
+8a
+e6
+0d
+0f
+43
+ce
 36
-31
+ec
+a5
+f4
+4e
+94
+d7
+47
+40
+0f
+af
+d1
+e3
+81
+ab
+47
+d6
+dc
+b2
+e6
+27
+ab
+3c
+34
+e4
+d4
 da
 f9
-b5
 e7
+27
 76
 39
-f5
-ac
-13
-1c
-3c
-f6
-97
-d1
-0f
-00
-d4
-44
-40
-a2
-20
-1f
-4a
-80
+a7
+7f
+5b
+14
+ff
+9c
+d8
+71
+cc
+72
+6c
+22
+6b
+47
+1a
+7c
+b1
+a0
 24
-ca
-4a
-40
-c0
-8e
-ea
-f5
+aa
+18
+8f
+fa
+ef
+91
+db
 65
-2d
-c4
-f0
-2f
-3c
-a4
-86
+4d
+96
+3a
+15
+3d
+df
+af
 2c
 7f
 fb
-a6
-04
-7b
-17
-39
+ba
+3e
+7a
+6c
+13
 78
-b0
-27
-88
+d0
+75
+49
+dd
+4c
+db
 a7
-12
-8c
-42
+9e
+32
+ed
+d6
+67
+cb
+00
+5d
+aa
+a2
+38
+e7
+24
+66
+7d
+d8
+04
+a1
+5f
+69
+41
+e0
+16
+85
+b0
+16
+97
+20
+c9
+a2
+a1
+4f
+a6
+d4
+e4
+4d
+ba
+2d
+b8
+9b
+8e
+75
+16
+62
+35
+6c
+df
+6e
 aa
 55
 40
@@ -6721,6 +6769,6 @@
 55
 c7
 6d
-e4
-75
+5d
+c2
 20
Index: output/program.lis
===================================================================
--- /1121s/branch/mouse/YJX_Project/mouse_public_yjx/output/program.lis	(revision 2941)
+++ /1121s/branch/mouse/YJX_Project/mouse_public_yjx/output/program.lis	(working copy)
@@ -21,10 +21,10 @@
 0012 c037d4b6 beq patch0d_7 ,mouse4_0_check_reconn_target 
 0013 c039847b beq patch0e_3 ,p_mouse_setgpio_hibernate 
 0014 c03a0233 beq patch0e_4 ,p_mouse_lpm_before_common 
-0015 c03d04f5 beq patch0f_2 ,p_mouse_motion 
+0015 c03d04fe beq patch0f_2 ,p_mouse_motion 
 0016 c03d84c7 beq patch0f_3 ,p_mouse_dpi_process 
-0017 c03e04d0 beq patch0f_4 ,p_mouse_setting_dpi 
-0018 c03e84d5 beq patch0f_5 ,p_mouse_setting_sensor_type 
+0017 c03e04d1 beq patch0f_4 ,p_mouse_setting_dpi 
+0018 c03e84d7 beq patch0f_5 ,p_mouse_setting_sensor_type 
 0019 c03f845e beq patch0f_7 ,p_mouse_3io6key_check 
 001a c040849e beq patch10_1 ,p_mouse_init_sensor 
 001b c0420378 beq patch10_4 ,p_mouse_buletooth_fast_conn_end 
@@ -38,10 +38,10 @@
 0023 c0468342 beq patch11_5 ,p_mouse_store_dpi_info_check 
 0024 c0470436 beq patch11_6 ,p_mouse_idle 
 0025 c04802ef beq patch12_0 ,p_mouse_check_select_device_by_switch 
-0026 c0498500 beq patch12_3 ,p_mouse_drawing_optima 
+0026 c0498509 beq patch12_3 ,p_mouse_drawing_optima 
 0027 c04a8472 beq patch12_5 ,p_mouse_24g_hibernate_set 
 0028 c04b0487 beq patch12_6 ,p_mouse_24g_package_data 
-0029 c04c04f2 beq patch13_0 ,p_mouse_dpi_led_blink_init 
+0029 c04c04fb beq patch13_0 ,p_mouse_dpi_led_blink_init 
 002a c0628261 beq patch18_5 ,p_otp_read_data 
 002b c06a8227 beq patch1a_5 ,p_gpio_set_wake_by_current_state 
 002c c06b0220 beq patch1a_6 ,p_gpio_set_wake 
@@ -1588,7 +1588,7 @@
 04ad 7049570d jam sg8670 ,mem_config_sensor_type 
 04ae da604b20 arg mem_sensor_sg8670_init ,regc 
 04af 20405995 call mouse_sensor_wr_seq 
-04b0 202004d5 branch p_mouse_setting_sensor_type 
+04b0 202004d7 branch p_mouse_setting_sensor_type 
 
 p_mouse_ka8g2_id2_judge:
 04b1 204059e7 call mouse_sensor_poweron 
@@ -1624,179 +1624,190 @@
 
 p_mouse_dpi_process:
 04c7 6fe0c957 fetch 1 ,mem_config_sensor_type 
-04c8 c00704ca beq p3065gx ,p_mouse_dpi_level_4_set 
-04c9 202056fa branch mouse_dpi_process + 3 
+04c8 c00704cb beq p3065gx ,p_mouse_dpi_level_4_set 
+04c9 c00604cb beq s201x ,p_mouse_dpi_level_4_set 
+04ca 202056fa branch mouse_dpi_process + 3 
 
 p_mouse_dpi_level_4_set:
-04ca 6fe0c690 fetch 1 ,mem_mouse_dpi 
-04cb 1fe0fe01 increase 1 ,pdata 
-04cc 67e0c690 store 1 ,mem_mouse_dpi 
-04cd 1fe67c04 sub pdata ,4 ,null 
-04ce 2042fdca call set_pdata_0 ,zero 
-04cf 20205701 branch mouse_dpi_level_store 
+04cb 6fe0c690 fetch 1 ,mem_mouse_dpi 
+04cc 1fe0fe01 increase 1 ,pdata 
+04cd 67e0c690 store 1 ,mem_mouse_dpi 
+04ce 1fe67c04 sub pdata ,4 ,null 
+04cf 2042fdca call set_pdata_0 ,zero 
+04d0 20205701 branch mouse_dpi_level_store 
 
 p_mouse_setting_dpi:
-04d0 204004d2 call p_mouse_setting_dpi_4_level 
-04d1 20205746 branch mouse_setting_dpi + 2 
+04d1 204004d3 call p_mouse_setting_dpi_4_level 
+04d2 20205746 branch mouse_setting_dpi + 2 
 
 p_mouse_setting_dpi_4_level:
-04d2 6fe0c957 fetch 1 ,mem_config_sensor_type 
-04d3 c1070000 rtneq p3065gx 
-04d4 2020573e branch mouse_setting_dpi_4_level 
+04d3 6fe0c957 fetch 1 ,mem_config_sensor_type 
+04d4 c1070000 rtneq p3065gx 
+04d5 c1060000 rtneq s201x 
+04d6 2020573e branch mouse_setting_dpi_4_level 
 
 p_mouse_setting_sensor_type:
-04d5 6fe0c957 fetch 1 ,mem_config_sensor_type 
-04d6 c00684d9 beq sg8670 ,p_mouse_seting_sg8670_dpi 
-04d7 c00704e4 beq p3065gx ,p_mouse_seting_p3065gx_dpi 
-04d8 20205748 branch mouse_setting_sensor_type + 1 
+04d7 6fe0c957 fetch 1 ,mem_config_sensor_type 
+04d8 c00684e2 beq sg8670 ,p_mouse_seting_sg8670_dpi 
+04d9 c00704ed beq p3065gx ,p_mouse_seting_p3065gx_dpi 
+04da c00604dc beq s201x ,p_mouse_seting_s201_dpi 
+04db 20205748 branch mouse_setting_sensor_type + 1 
+
+p_mouse_seting_s201_dpi:
+04dc 6fe0c690 fetch 1 ,mem_mouse_dpi 
+04dd c000576f beq mouse_dpi_level1 ,mouse_set_s201_dpi_0 
+04de c000d775 beq mouse_dpi_level2 ,mouse_set_s201_dpi_2 
+04df c0015778 beq mouse_dpi_level3 ,mouse_set_s201_dpi_3 
+04e0 c001d77b beq mouse_dpi_level4 ,mouse_set_s201_dpi_4 
+04e1 20600000 rtn 
 
 p_mouse_seting_sg8670_dpi:
-04d9 6fe0c690 fetch 1 ,mem_mouse_dpi 
-04da c00004de beq mouse_dpi_level1 ,p_mouse_set_sg8670_dpi_1 
-04db c00084e0 beq mouse_dpi_level2 ,p_mouse_set_sg8670_dpi_2 
-04dc c00104e2 beq mouse_dpi_level3 ,p_mouse_set_sg8670_dpi_4 
-04dd 20600000 rtn 
+04e2 6fe0c690 fetch 1 ,mem_mouse_dpi 
+04e3 c00004e7 beq mouse_dpi_level1 ,p_mouse_set_sg8670_dpi_1 
+04e4 c00084e9 beq mouse_dpi_level2 ,p_mouse_set_sg8670_dpi_2 
+04e5 c00104eb beq mouse_dpi_level3 ,p_mouse_set_sg8670_dpi_4 
+04e6 20600000 rtn 
 
 p_mouse_set_sg8670_dpi_1:
-04de da604b5a arg mem_sensor_sg8670_dpi_1200 ,regc 
-04df 20205995 branch mouse_sensor_wr_seq 
+04e7 da604b5a arg mem_sensor_sg8670_dpi_1200 ,regc 
+04e8 20205995 branch mouse_sensor_wr_seq 
 
 p_mouse_set_sg8670_dpi_2:
-04e0 da604b6a arg mem_sensor_sg8670_dpi_1600 ,regc 
-04e1 20205995 branch mouse_sensor_wr_seq 
+04e9 da604b6a arg mem_sensor_sg8670_dpi_1600 ,regc 
+04ea 20205995 branch mouse_sensor_wr_seq 
 
 p_mouse_set_sg8670_dpi_4:
-04e2 da604b4a arg mem_sensor_sg8670_dpi_800 ,regc 
-04e3 20205995 branch mouse_sensor_wr_seq 
+04eb da604b4a arg mem_sensor_sg8670_dpi_800 ,regc 
+04ec 20205995 branch mouse_sensor_wr_seq 
 
 p_mouse_seting_p3065gx_dpi:
-04e4 6fe0c690 fetch 1 ,mem_mouse_dpi 
-04e5 c00004ea beq mouse_dpi_level1 ,p_mouse_set_3056gx_dpi_0 
-04e6 c00084ec beq mouse_dpi_level2 ,p_mouse_set_3056gx_dpi_1 
-04e7 c00104ee beq mouse_dpi_level3 ,p_mouse_set_3056gx_dpi_2 
-04e8 c00184f0 beq mouse_dpi_level4 ,p_mouse_set_3056gx_dpi_3 
-04e9 20600000 rtn 
+04ed 6fe0c690 fetch 1 ,mem_mouse_dpi 
+04ee c00004f3 beq mouse_dpi_level1 ,p_mouse_set_3056gx_dpi_0 
+04ef c00084f5 beq mouse_dpi_level2 ,p_mouse_set_3056gx_dpi_1 
+04f0 c00104f7 beq mouse_dpi_level3 ,p_mouse_set_3056gx_dpi_2 
+04f1 c00184f9 beq mouse_dpi_level4 ,p_mouse_set_3056gx_dpi_3 
+04f2 20600000 rtn 
 
 p_mouse_set_3056gx_dpi_0:
-04ea 6848cb7a fetcht 1 ,mem_sensor_3056gx_dpi_0 
-04eb 2020575e branch mouse_dpi_write 
+04f3 6848cb7a fetcht 1 ,mem_sensor_3056gx_dpi_0 
+04f4 2020575e branch mouse_dpi_write 
 
 p_mouse_set_3056gx_dpi_1:
-04ec 6848cb7b fetcht 1 ,mem_sensor_3056gx_dpi_1 
-04ed 2020575e branch mouse_dpi_write 
+04f5 6848cb7b fetcht 1 ,mem_sensor_3056gx_dpi_1 
+04f6 2020575e branch mouse_dpi_write 
 
 p_mouse_set_3056gx_dpi_2:
-04ee 6848cb7c fetcht 1 ,mem_sensor_3056gx_dpi_2 
-04ef 2020575e branch mouse_dpi_write 
+04f7 6848cb7c fetcht 1 ,mem_sensor_3056gx_dpi_2 
+04f8 2020575e branch mouse_dpi_write 
 
 p_mouse_set_3056gx_dpi_3:
-04f0 6848cb7d fetcht 1 ,mem_sensor_3056gx_dpi_3 
-04f1 2020575e branch mouse_dpi_write 
+04f9 6848cb7d fetcht 1 ,mem_sensor_3056gx_dpi_3 
+04fa 2020575e branch mouse_dpi_write 
 
 p_mouse_dpi_led_blink_init:
-04f2 6fe0c957 fetch 1 ,mem_config_sensor_type 
-04f3 c0076131 beq p3065gx ,mouse_dpi_led_blink_init_another 
-04f4 20206123 branch mouse_dpi_led_blink_init + 2 
+04fb 6fe0c957 fetch 1 ,mem_config_sensor_type 
+04fc c0076131 beq p3065gx ,mouse_dpi_led_blink_init_another 
+04fd 20206123 branch mouse_dpi_led_blink_init + 2 
 
 p_mouse_motion:
-04f5 78547c00 disable user 
-04f6 58000000 setarg 0 
-04f7 67e34847 store 6 ,mem_mouse_x 
-04f8 204004b8 call p_mouse_check_sensor_data 
-04f9 58000089 setarg 0x0089 
-04fa 204069e4 call twspi_write 
-04fb 20405747 call mouse_setting_sensor_type 
-04fc 20405612 call mouse_zwheel 
-04fd 20405617 call mouse_t_zwheel 
-04fe 20400503 call p_mouse_key 
-04ff 2020560c branch mouse_motion + 11 
+04fe 78547c00 disable user 
+04ff 58000000 setarg 0 
+0500 67e34847 store 6 ,mem_mouse_x 
+0501 204004b8 call p_mouse_check_sensor_data 
+0502 58000089 setarg 0x0089 
+0503 204069e4 call twspi_write 
+0504 20405747 call mouse_setting_sensor_type 
+0505 20405612 call mouse_zwheel 
+0506 20405617 call mouse_t_zwheel 
+0507 2040050c call p_mouse_key 
+0508 2020560c branch mouse_motion + 11 
 
 p_mouse_drawing_optima:
-0500 6fe0c957 fetch 1 ,mem_config_sensor_type 
-0501 c1058000 rtneq ka8g2 
-0502 20205f27 branch mouse_drawing_optima + 1 
+0509 6fe0c957 fetch 1 ,mem_config_sensor_type 
+050a c1058000 rtneq ka8g2 
+050b 20205f27 branch mouse_drawing_optima + 1 
 
 p_mouse_key:
-0503 2040584c call mouse_check_firekey_gpio 
-0504 6fe0c987 fetch 1 ,mem_fire_key_flag 
-0505 243a5860 nbranch fire_key_press ,blank 
-0506 6fe0c982 fetch 1 ,mem_fire_key_status 
-0507 243a585f nbranch fire_key_process ,blank 
-0508 20405888 call mouse_check_key_gpio 
-0509 2040050b call p_mouse_ghost_key_check 
-050a 202057ad branch mouse_key + 7 
+050c 2040584c call mouse_check_firekey_gpio 
+050d 6fe0c987 fetch 1 ,mem_fire_key_flag 
+050e 243a5860 nbranch fire_key_press ,blank 
+050f 6fe0c982 fetch 1 ,mem_fire_key_status 
+0510 243a585f nbranch fire_key_process ,blank 
+0511 20405888 call mouse_check_key_gpio 
+0512 20400514 call p_mouse_ghost_key_check 
+0513 202057ad branch mouse_key + 7 
 
 p_mouse_ghost_key_check:
-050b 70497900 jam 0 ,mem_mouse_matrix_key_cow_count 
-050c 70497a00 jam 0 ,mem_mouse_matrix_key_row_count 
-050d 70497b00 jam 0 ,mem_mouse_ghost_flag 
-050e 1fe22400 copy pdata ,regb 
-050f 6848c644 fetcht 1 ,mem_lbutton_gpio 
-0510 6fe0c647 fetch 1 ,mem_bk_button_gpio 
-0511 98467c00 isub temp ,null 
-0512 2022851d branch p_mouse_matrix_ghost_key_l_bk ,zero 
-0513 6fe0c648 fetch 1 ,mem_fw_button_gpio 
-0514 98467c00 isub temp ,null 
-0515 20228523 branch p_mouse_matrix_ghost_key_l_fw ,zero 
-0516 6848c645 fetcht 1 ,mem_mbutton_gpio 
-0517 6fe0c647 fetch 1 ,mem_bk_button_gpio 
-0518 98467c00 isub temp ,null 
-0519 2022852c branch p_mouse_ghost_key_mbk_rfw ,zero 
+0514 70497900 jam 0 ,mem_mouse_matrix_key_cow_count 
+0515 70497a00 jam 0 ,mem_mouse_matrix_key_row_count 
+0516 70497b00 jam 0 ,mem_mouse_ghost_flag 
+0517 1fe22400 copy pdata ,regb 
+0518 6848c644 fetcht 1 ,mem_lbutton_gpio 
+0519 6fe0c647 fetch 1 ,mem_bk_button_gpio 
+051a 98467c00 isub temp ,null 
+051b 20228526 branch p_mouse_matrix_ghost_key_l_bk ,zero 
+051c 6fe0c648 fetch 1 ,mem_fw_button_gpio 
+051d 98467c00 isub temp ,null 
+051e 2022852c branch p_mouse_matrix_ghost_key_l_fw ,zero 
+051f 6848c645 fetcht 1 ,mem_mbutton_gpio 
+0520 6fe0c647 fetch 1 ,mem_bk_button_gpio 
+0521 98467c00 isub temp ,null 
+0522 20228535 branch p_mouse_ghost_key_mbk_rfw ,zero 
 
 p_mouse_ghost_key_mfw_rbk:
-051a 204057fb call mouse_ghost_key_check_m_fw 
+0523 204057fb call mouse_ghost_key_check_m_fw 
 
 p_mouse_ghost_key_rbk:
-051b 20400531 call p_mouse_ghost_key_check_r_bk 
-051c 202057e5 branch mouse_ghost_key_check_next 
+0524 2040053a call p_mouse_ghost_key_check_r_bk 
+0525 202057e5 branch mouse_ghost_key_check_next 
 
 p_mouse_matrix_ghost_key_l_bk:
-051d 6848c645 fetcht 1 ,mem_mbutton_gpio 
-051e 6fe0c648 fetch 1 ,mem_fw_button_gpio 
-051f 98467c00 isub temp ,null 
-0520 2022d7d6 branch mouse_ghost_key_lbk_mfw ,zero 
+0526 6848c645 fetcht 1 ,mem_mbutton_gpio 
+0527 6fe0c648 fetch 1 ,mem_fw_button_gpio 
+0528 98467c00 isub temp ,null 
+0529 2022d7d6 branch mouse_ghost_key_lbk_mfw ,zero 
 
 p_mouse_ghost_key_lbk_rfw:
-0521 204057ef call mouse_ghost_key_check_l_bk 
-0522 2020052d branch p_mouse_ghost_key_rfw 
+052a 204057ef call mouse_ghost_key_check_l_bk 
+052b 20200536 branch p_mouse_ghost_key_rfw 
 
 p_mouse_matrix_ghost_key_l_fw:
-0523 6848c645 fetcht 1 ,mem_mbutton_gpio 
-0524 6fe0c647 fetch 1 ,mem_bk_button_gpio 
-0525 98467c00 isub temp ,null 
-0526 20228529 branch p_mouse_ghost_key_lfw_mbk ,zero 
+052c 6848c645 fetcht 1 ,mem_mbutton_gpio 
+052d 6fe0c647 fetch 1 ,mem_bk_button_gpio 
+052e 98467c00 isub temp ,null 
+052f 20228532 branch p_mouse_ghost_key_lfw_mbk ,zero 
 
 p_mouse_ghost_key_lfw_rbk:
-0527 20400533 call p_mouse_ghost_key_check_l_fw 
-0528 2020051b branch p_mouse_ghost_key_rbk 
+0530 2040053c call p_mouse_ghost_key_check_l_fw 
+0531 20200524 branch p_mouse_ghost_key_rbk 
 
 p_mouse_ghost_key_lfw_mbk:
-0529 20400533 call p_mouse_ghost_key_check_l_fw 
-052a 2040052f call p_mouse_ghost_key_check_m_bk 
-052b 202057e5 branch mouse_ghost_key_check_next 
+0532 2040053c call p_mouse_ghost_key_check_l_fw 
+0533 20400538 call p_mouse_ghost_key_check_m_bk 
+0534 202057e5 branch mouse_ghost_key_check_next 
 
 p_mouse_ghost_key_mbk_rfw:
-052c 2040052f call p_mouse_ghost_key_check_m_bk 
+0535 20400538 call p_mouse_ghost_key_check_m_bk 
 
 p_mouse_ghost_key_rfw:
-052d 20400535 call p_mouse_ghost_key_check_r_fw 
-052e 202057e5 branch mouse_ghost_key_check_next 
+0536 2040053e call p_mouse_ghost_key_check_r_fw 
+0537 202057e5 branch mouse_ghost_key_check_next 
 
 p_mouse_ghost_key_check_m_bk:
-052f 1a417e12 and regb ,mouse_m_bk_button ,pdata 
-0530 202057f3 branch mouse_ghost_key_check_m_bk + 1 
+0538 1a417e12 and regb ,mouse_m_bk_button ,pdata 
+0539 202057f3 branch mouse_ghost_key_check_m_bk + 1 
 
 p_mouse_ghost_key_check_r_bk:
-0531 1a417e0a and regb ,mouse_r_bk_button ,pdata 
-0532 202057f6 branch mouse_ghost_key_check_r_bk + 1 
+053a 1a417e0a and regb ,mouse_r_bk_button ,pdata 
+053b 202057f6 branch mouse_ghost_key_check_r_bk + 1 
 
 p_mouse_ghost_key_check_l_fw:
-0533 1a417e11 and regb ,mouse_l_fw_button ,pdata 
-0534 202057f9 branch mouse_ghost_key_check_l_fw + 1 
+053c 1a417e11 and regb ,mouse_l_fw_button ,pdata 
+053d 202057f9 branch mouse_ghost_key_check_l_fw + 1 
 
 p_mouse_ghost_key_check_r_fw:
-0535 1a417e12 and regb ,mouse_r_fw_button ,pdata 
-0536 202057ff branch mouse_ghost_key_check_r_fw + 1 
+053e 1a417e12 and regb ,mouse_r_fw_button ,pdata 
+053f 202057ff branch mouse_ghost_key_check_r_fw + 1 
               org 0x2000
 
 start:
Index: program/patch.prog
===================================================================
--- /1121s/branch/mouse/YJX_Project/mouse_public_yjx/program/patch.prog	(revision 2941)
+++ /1121s/branch/mouse/YJX_Project/mouse_public_yjx/program/patch.prog	(working copy)
@@ -1882,6 +1882,7 @@
 p_mouse_dpi_process:
 	fetch 1,mem_config_sensor_type
 	beq P3065GX,p_mouse_dpi_level_4_set
+	beq S201X,p_mouse_dpi_level_4_set
 	branch mouse_dpi_process+3
 
 p_mouse_dpi_level_4_set:
@@ -1899,14 +1900,24 @@
 p_mouse_setting_dpi_4_level:
 	fetch 1,mem_config_sensor_type
 	rtneq P3065GX
+	rtneq S201X
 	branch mouse_setting_dpi_4_level
 
 p_mouse_setting_sensor_type:
 	fetch 1,mem_config_sensor_type
 	beq SG8670,p_mouse_seting_SG8670_dpi
 	beq P3065GX,p_mouse_seting_P3065GX_dpi
+	beq S201X,p_mouse_seting_S201_dpi
 	branch mouse_setting_sensor_type+1
 
+p_mouse_seting_S201_dpi:
+	fetch 1,mem_mouse_dpi
+	beq MOUSE_DPI_LEVEL1,mouse_set_S201_dpi_0	//1200
+	beq MOUSE_DPI_LEVEL2,mouse_set_S201_dpi_2	//2400
+	beq MOUSE_DPI_LEVEL3,mouse_set_S201_dpi_3	//3200
+	beq MOUSE_DPI_LEVEL4,mouse_set_S201_dpi_4	//800
+	rtn
+
 p_mouse_seting_SG8670_dpi:
 	fetch 1,mem_mouse_dpi
 	beq MOUSE_DPI_LEVEL1,p_mouse_set_SG8670_dpi_1	//1200
