Index: format/app_mouse.format
===================================================================
--- /1121s/branch/mouse/AI_Project/mouse_public_ai_2mode/format/app_mouse.format	(revision 5045)
+++ /1121s/branch/mouse/AI_Project/mouse_public_ai_2mode/format/app_mouse.format	(working copy)
@@ -530,6 +530,12 @@
 1 mem_rgb_control_step
 1 mem_rgb_gradient_flag
 1 mem_rgb_color_switch
+
+1 mem_mouse_ai_key_gpio
+1 mem_mouse_aikey_press_status
+1 mem_mouse_ai_button_state
+1 mem_ai_button_count
+1 mem_mouse_ai_long_press_flag
 )
 
 (
@@ -813,6 +819,10 @@
 0x00 COMMBINATION_KEY_STATE_UP
 0x01 COMMBINATION_KEY_STATE_DOWN
 
+//AI button state 
+0x00 AI_BUTTON_STATE_UP
+0x01 AI_BUTTON_STATE_DOWN
+
 
 //eeprom address offect
 0X00 MOUSE_INFO_EEPROM_OFFECT
@@ -919,6 +929,7 @@
 0x06 MOUSE_PB_KEY
 0x07 MOUSE_CUSTOMER_KEY
 0x00 MOUSE_DPI_ANOTHER_KEY
+0x08 MOUSE_AI_KEY
 )
 
 
Index: output/eeprom.dat
===================================================================
--- /1121s/branch/mouse/AI_Project/mouse_public_ai_2mode/output/eeprom.dat	(revision 5045)
+++ /1121s/branch/mouse/AI_Project/mouse_public_ai_2mode/output/eeprom.dat	(working copy)
@@ -18,8 +18,8 @@
 1e
 aa
 55
-e0
-1e
+80
+1f
 c6
 42
 00
@@ -347,7 +347,7 @@
 be
 79
 73
-ba
+82
 b1
 28
 cf
@@ -355,7 +355,7 @@
 08
 1f
 da
-5c
+b2
 08
 49
 6f
@@ -363,31 +363,31 @@
 35
 fb
 89
-38
+12
 b1
 f8
 7a
-97
+cd
 69
 7d
 ea
-dd
+83
 e6
 dd
 be
-2f
+45
 1a
 8f
 da
-b0
+da
 33
 8d
 b7
-2a
+14
 ad
 a9
 c8
-b1
+97
 41
 9f
 ae
@@ -395,7 +395,7 @@
 f3
 05
 49
-49
+41
 92
 41
 76
@@ -415,19 +415,19 @@
 0a
 b1
 fa
-2c
+14
 e8
 6f
 75
-78
+52
 f6
 59
 84
-ce
+24
 84
 3f
 b9
-f8
+02
 df
 44
 e9
@@ -503,7 +503,7 @@
 45
 84
 57
-8d
+57
 78
 06
 9a
@@ -871,7 +871,7 @@
 bf
 40
 db
-1f
+35
 37
 1a
 5f
@@ -879,7 +879,7 @@
 a1
 04
 93
-73
+59
 b4
 20
 c2
@@ -887,7 +887,7 @@
 51
 9d
 5a
-ad
+87
 0d
 07
 5d
@@ -979,7 +979,7 @@
 fc
 3f
 ec
-53
+79
 9c
 17
 cf
@@ -1423,7 +1423,7 @@
 03
 fe
 53
-ae
+84
 c6
 ee
 f5
@@ -1911,7 +1911,7 @@
 e5
 1b
 84
-2a
+00
 6b
 bf
 56
@@ -1995,7 +1995,7 @@
 61
 c9
 51
-1e
+1b
 1a
 90
 29
@@ -2019,7 +2019,7 @@
 c3
 a4
 6a
-ac
+a7
 69
 ec
 11
@@ -2027,7 +2027,7 @@
 a5
 03
 63
-0a
+07
 18
 9a
 fc
@@ -2035,11 +2035,11 @@
 35
 01
 99
-d5
+de
 b4
 dc
 ef
-01
+04
 f3
 bc
 30
@@ -2063,7 +2063,7 @@
 5f
 61
 21
-ce
+c1
 ea
 1a
 ae
@@ -2074,7 +2074,7 @@
 36
 67
 d2
-21
+2c
 58
 5d
 2c
@@ -2082,7 +2082,7 @@
 34
 be
 56
-c0
+cd
 0d
 dc
 f3
@@ -2115,7 +2115,7 @@
 58
 1a
 0d
-7c
+73
 3e
 f8
 ee
@@ -2127,7 +2127,7 @@
 5a
 64
 b0
-4f
+40
 39
 61
 16
@@ -2151,7 +2151,7 @@
 32
 76
 e9
-a1
+a4
 0e
 ce
 b3
@@ -2159,7 +2159,7 @@
 2f
 d1
 2e
-d4
+d1
 55
 cf
 8c
@@ -2911,7 +2911,7 @@
 22
 52
 05
-ac
+c6
 64
 1d
 52
@@ -3163,7 +3163,7 @@
 78
 13
 b5
-75
+78
 f1
 c4
 18
@@ -3171,7 +3171,7 @@
 0e
 47
 96
-0a
+07
 4a
 03
 bb
@@ -3211,7 +3211,7 @@
 08
 c4
 de
-48
+a2
 53
 85
 b0
@@ -3227,7 +3227,7 @@
 51
 29
 e7
-6b
+b1
 a3
 b1
 8b
@@ -4883,7 +4883,7 @@
 da
 d1
 b3
-72
+a8
 c4
 f5
 1b
@@ -5235,7 +5235,7 @@
 57
 ff
 09
-46
+6c
 4e
 a5
 23
@@ -5519,7 +5519,7 @@
 2b
 94
 63
-72
+58
 c1
 01
 e0
@@ -5527,7 +5527,7 @@
 e5
 69
 55
-43
+69
 c8
 82
 d7
@@ -5535,7 +5535,7 @@
 f6
 fc
 14
-5a
+70
 40
 f1
 9e
@@ -5543,7 +5543,7 @@
 6e
 5c
 b1
-88
+a2
 fa
 79
 20
@@ -5551,7 +5551,7 @@
 7d
 f0
 a3
-f1
+db
 82
 88
 38
@@ -5727,7 +5727,7 @@
 e1
 fe
 98
-14
+0c
 cc
 8d
 67
@@ -5763,2167 +5763,2327 @@
 67
 cf
 7c
-80
+9f
 95
 c4
 02
-f1
+f0
 f2
 f4
 db
-a7
+df
 16
 88
 80
-b2
+ba
 a5
 c0
-f2
-bd
+ac
+99
 11
 2a
 6d
-9f
+af
 53
 26
 d6
-79
+1c
 89
 1e
-81
-f0
+de
+6a
 06
 ea
-9c
-ad
+c3
+2a
 60
 8e
 e0
-d1
+e3
 94
 1c
 ef
-1a
+15
 60
 36
 60
-4c
+46
 8a
 9f
 3d
-b8
+a7
 d8
 ff
-09
-2b
+57
+1e
 55
 a2
-d7
-d3
+84
+b3
 14
 85
-7a
-7b
+70
+c3
 f5
-8b
+eb
 66
-d6
+dd
+8a
+72
+e9
 70
-32
-fe
-35
 4c
-38
-6b
-60
-fa
-80
-8c
-4e
+18
+20
+e7
+00
+e0
+ce
+69
 8e
-0d
-5a
-14
-aa
-a7
-eb
-bb
-ff
-04
-11
-5d
-5d
-ef
-93
-3e
-0c
-17
+6d
+40
+7c
+95
+06
+cd
+34
+20
+e6
+6a
+ee
+ed
 a0
-21
-57
+03
+95
+5c
+3b
+35
+3f
+ad
 fc
-51
-c9
+1d
+5c
 2b
-99
-ca
-c9
-f3
-4a
-35
-9b
-25
-97
-69
-b4
-cc
-62
-58
-aa
-b8
-07
+b9
+83
+eb
+09
+2a
+72
+c3
+6a
+57
+e7
+c5
+da
+c2
+ea
+3b
+a6
+a7
+3f
+4c
+7a
 8d
-dd
-dd
-6d
-a3
-58
-dc
-92
-13
-e1
-9e
-e9
-33
-c8
-d3
-01
-28
-cd
-5e
-71
-90
-ac
-e8
-24
-37
+68
+47
+73
+73
 53
-fb
-39
-55
-ad
+70
+96
+e9
+33
+6c
+94
+c0
+68
+7e
+11
+b1
+5f
+8e
+46
+44
+7b
+c8
+e0
+d9
+9c
+d0
 c7
-cd
-6a
-59
-07
-b9
-ea
-81
-50
-73
+ed
+23
 06
-1d
+fd
+d9
+ad
+a5
+00
+1b
+3f
+fc
 6f
-8d
-44
-f2
+8a
+fc
+0c
 27
-89
+c9
 19
-49
+99
 30
 ce
-2d
-11
-ab
-59
-89
+2e
+2a
+4a
+a3
+09
 be
 b0
 60
-dc
-30
+de
+0f
 5f
 0c
-bc
-15
+b9
+14
 8f
 6f
 fe
 cd
-4b
-17
-01
-c1
-5c
-e4
-62
-60
-51
-86
-33
-88
-80
-d0
-40
-5a
-41
+e1
 3f
-96
-93
-1a
-36
-cf
-10
-55
-f9
-20
-d8
-07
-27
-4b
-38
-1f
-de
-14
-1f
-ea
-55
-94
-5b
-4f
-ec
-2d
-bd
-c1
-88
-f0
-81
-a0
-d8
-72
-8c
-ac
-79
-9e
-74
-8a
-c3
-a0
+30
+c5
+f6
+ef
+1d
+70
 51
-d3
-7e
-d8
-15
-ab
-57
-9f
-61
-5a
-ba
-92
-f8
-ca
+86
+71
+b8
+35
 50
-81
-18
-37
+cc
+65
+bb
+05
+93
+42
+e0
+76
+c6
+b2
+e0
+59
+e9
 79
-61
-48
-53
-21
-d2
-f5
-0a
-ae
-b9
+40
+e7
 c9
-58
-55
-4a
-ab
-46
+18
+b5
+f9
+23
+19
 10
-76
-57
-fd
-02
-0c
-56
-50
-95
-fd
-fd
-65
-01
+75
+ce
+b4
+75
+ae
+11
+5d
 db
-fe
-4f
-6a
+c8
+b2
+13
+ba
 92
-0a
-9d
-81
-17
-24
-c3
-a2
-73
-21
-27
-46
-90
-6a
-6d
-d0
-85
-7f
-60
-16
-02
-99
-d3
-2c
-8c
-c4
-5c
-ee
-61
-07
-bb
-d2
-86
-00
-f7
-2a
-41
+f2
+a4
+4c
+40
+d9
 76
-85
-ff
-ef
-ba
-88
-d1
-ff
-9e
-51
-0a
-57
-33
-8b
-b4
-ae
-a0
-04
-2b
-0f
-79
+25
+3d
+6f
+34
+74
+82
 9e
-c2
-cd
-8d
+c5
 1b
-1e
-7c
-8a
-cc
+0d
+e4
+77
+ba
 d0
-22
-65
-83
-88
-a9
-a1
-cc
-21
-72
-ca
-e9
-23
-98
-dd
-ad
-fb
-c7
-c1
-11
-11
-ee
-b6
-0e
-c6
-47
-89
-54
+97
+26
+f0
+12
+a5
+db
+af
+59
+64
+bc
 f4
-0e
-69
+c9
+1a
+7f
+ba
+fc
+fc
+29
 b8
+6b
 16
-95
-5d
-0e
-b5
-db
-4d
+6d
+f6
+40
+de
+4a
+52
+ff
+cd
+de
+50
 9f
-fe
-08
-ba
-e0
-e5
-00
-cc
-68
-d0
-85
-b8
-61
-91
-05
-a9
-2b
-87
-36
-d1
-90
-f4
-32
-ef
-26
-3e
-95
-24
-93
-7e
-c4
-45
-2e
-a9
-18
-4c
-58
-81
-02
-97
-c0
-d5
-05
-fb
-33
-47
-5d
-b8
-a6
-4d
-44
-a8
+7d
+fc
+35
+69
+c5
 29
-4b
-ba
-48
+37
+4a
+97
 e3
+da
+23
+00
+b3
+c3
 a1
-9c
-93
-95
-18
-3d
+77
+2e
 68
+86
+07
+c8
+7a
+7c
 66
-b6
-fb
-c4
-dc
-5c
-30
-f2
-f5
-ca
-f1
-e0
-b6
-32
-f2
-83
-6c
-3b
-f7
 09
-22
+2f
+d6
+9f
+fa
+7c
+cc
+c3
+2f
+08
+dc
 25
-24
-4c
-74
-15
+13
+eb
+b8
 87
-2d
-a0
-f6
+f0
+a7
+20
+1e
 87
-d0
-78
-d8
-49
-a3
-b7
-07
-ad
-83
-8f
-41
-9f
-45
-11
-82
-6b
-7c
-0e
-6b
-2d
+d5
+d7
+ab
 bf
-1d
-12
-13
-0b
-84
+bf
+31
+32
+e9
+51
+0a
+50
+4f
+cc
+74
+3e
+53
+33
 cb
-78
-db
-72
-dc
-9a
-fe
-b8
-eb
+c5
 7d
-8c
-c0
-1f
-2e
-e8
-df
-e4
-88
-33
-66
-af
-a3
-26
-b2
-ad
-9a
-6f
-6c
-6e
+dd
+59
+8a
+4d
 1b
-75
-20
-b3
-53
-00
-02
-01
-ad
-e7
-39
-60
-fd
-89
-25
-fb
-7f
-62
-7b
-fb
-15
-6b
 13
-cb
-d7
-b5
-e1
-19
-f4
-2e
-81
-2a
-67
-50
+ec
+8b
+64
+da
+27
 7d
-77
-56
-ee
-1b
+cc
+0c
 ee
-d2
-58
-f5
-df
-4f
-82
-47
-42
-39
-ab
-ea
-63
-dc
-97
-b9
-72
-0d
-cf
-8c
-1b
-1f
-52
-36
-a5
-42
-f2
-90
-3b
-bd
-7f
-c0
-65
-81
-99
-8e
-44
-a7
-f8
-56
-16
-24
-51
+b2
 56
-f3
-ec
-99
-3d
-18
-45
-45
-16
-2f
-57
-36
-54
-66
-cf
-61
-55
-07
-39
+ac
+f7
+31
 56
-2d
-8a
-43
-ec
+83
+52
+de
+aa
+52
+4f
+17
+29
 58
-a4
-5e
-59
-77
-3f
-3c
-23
-2e
-a5
-14
-67
+ac
+63
+19
 60
-20
-ea
-32
-29
-cb
-53
-d0
-a4
-a6
-e0
-70
-4d
-51
-ee
+c2
+49
 54
-d6
-99
+fa
+cc
+69
+40
+16
+bc
 90
-c1
-e8
-2a
-79
-b9
-05
-71
-9a
-ed
+41
+11
+c7
+25
+32
+92
+cd
+56
 fa
-2b
+26
+86
+ce
+ca
+19
+85
 97
-94
-b8
-d3
-62
-03
-84
-84
-0a
+21
+f8
+1b
 66
-76
-5c
-35
-81
-56
-5e
-11
+34
+21
+b7
+3e
+22
+3d
+26
+13
+69
 9e
-c1
-58
-38
-42
-14
-87
-4f
-cf
-94
-0d
-27
-da
-9c
-f2
-33
-aa
-18
+74
+ac
+ac
 df
-43
-97
-48
-83
-46
-f6
-0f
-6e
-48
-06
-3a
-85
-3f
-81
-24
-c0
-68
-aa
-bf
-1d
-64
-c6
+e1
+3d
+61
+08
 00
-e8
-94
-81
-6d
-64
-9d
-ce
-c2
-09
-87
+82
 5a
-72
-ba
-5e
-99
-3a
-06
-ca
-8b
-90
-93
-b0
-19
-63
-2e
-0a
+83
+50
+33
+6d
 b5
-5d
-c4
-22
-8b
-73
-5d
-9c
-9f
-c2
-12
-c7
-c6
-4d
-35
-8e
-65
-37
-63
-43
-55
-34
-4c
-01
-ca
-66
-5f
-ca
-f1
+8a
 71
-d6
-03
-5f
-2d
-fb
-0c
-fa
-ee
+37
+5d
 55
-a6
-16
-6d
+0b
+e9
+8c
+53
+8a
+9b
+87
 86
-b9
-4d
-24
-4a
-2f
-b9
-62
-1b
-11
-b7
-fb
-b9
-09
-f0
-85
-f7
-b7
-cf
-78
 b5
-33
-74
-2b
-01
-e2
-5d
-f3
-06
-1b
-b1
-90
-1d
-ed
-47
-2c
-af
-2d
-eb
-3c
-b4
-a5
-86
+ac
+61
+53
+46
 fa
-a6
+b5
+3d
+69
+66
+d6
+a7
+73
+73
+3d
+2e
+5c
+fd
+ca
+fd
+da
+b2
+28
+c6
 3c
-a1
-82
-2f
-3f
-20
+3c
+57
+dd
+84
+72
+49
+5d
+db
+74
+75
+e0
 89
-fd
-a6
-24
-25
+a0
+fc
 9f
+d3
+78
 d8
-00
-c1
-00
-6e
-5a
-a6
-f3
-70
-6f
-b6
-21
-11
-61
-b1
-c5
-b5
-fe
-4d
-d7
-d2
-40
-db
-11
-ba
-7e
-a6
+1a
+8e
+a8
+ab
+19
 84
-93
-e1
-b7
-39
-a7
-f2
-bb
-d4
-2e
-2c
-62
-b4
-d5
-ac
-ec
-8c
-ce
-d1
-cf
-fa
-46
-03
-e2
-91
-5a
 c8
-fb
-af
-e8
-f0
+81
+59
+92
+11
+e2
+0c
+7f
+5e
+67
+50
+cb
+1d
 72
-12
-5a
-95
-08
 76
-1c
+b9
+84
+cb
+60
+69
+22
+da
+fa
+db
+b8
+eb
+77
+7c
 df
-65
-13
-b3
-bd
-4d
-e8
-f0
-8e
+b7
+17
+fb
+3b
+d0
+8f
+8f
+29
 0f
-96
-a6
+62
+54
+53
+92
+19
 5b
-32
+96
+0e
+79
+7b
+70
+ba
+5c
+af
+4a
+09
+6d
+e6
+39
+60
+fd
+e0
+62
 3b
-53
+e8
+77
+7b
+fb
+1f
 a6
-f6
-57
-c5
-06
-1a
-cb
-6e
-8d
-db
-d7
-1d
+f3
+f4
+08
+c9
+b1
+10
 db
-3d
-ae
+f9
+f3
+40
+d5
+c9
+d0
+15
+4c
+94
+1b
+ee
+8d
+48
+fd
+df
+4b
+62
+ee
 0a
-ab
-bf
-93
-f0
+f5
+32
 ba
-8b
-81
-ce
-4e
-ed
-e0
-16
-10
+6b
+f3
 22
-08
+83
+70
+25
+25
+21
+7f
+d1
+6a
+98
+c5
+8e
+69
+3e
+db
+76
+5a
+70
+56
+9c
+a4
+21
 f1
-e9
-7a
-c3
-b7
-67
-cc
-68
-d9
-1b
-f0
+6d
+5e
+52
+4c
+22
+6f
+49
+58
+05
+50
+02
+de
 39
-56
-c6
-b7
+9c
+42
+25
+74
+b9
+04
+0e
+b4
+b1
+52
+af
+3b
+f4
+6a
 2a
+da
+c5
+58
 e4
-11
-db
-4f
-0d
-12
-c2
-c6
-bc
-fe
-3f
-72
-c0
-42
-7a
-3f
-1b
 58
-72
-af
-93
-d4
+77
+77
+3b
+b7
+ab
+2d
+30
+42
+b9
+7f
+8c
+b8
 47
-f1
-9c
-d4
-b4
-10
-f1
-cf
-71
-ef
-6b
-06
-34
-0f
-35
+16
+49
+75
+d0
+a4
+a2
+61
+37
+49
+3a
+68
+1d
+99
+59
+00
+46
+46
+b5
 3f
+f0
+ff
+11
+c3
+ab
+e2
+2a
+26
+d8
+f0
+bb
+a2
+07
+be
+a6
+72
+0e
+76
+5c
+35
+8d
+26
 5d
-fb
-9e
+29
+ca
+1e
+c5
+9a
+27
+2c
+85
+31
+10
+ae
+6f
+37
+2d
+44
+12
+e1
+4a
+18
+df
+10
+7f
+3d
+01
+8a
+8c
+ee
+2e
+26
 e0
-f2
+37
+ed
+e1
+81
+24
+a0
+67
+7d
+f0
 dd
+f5
+95
+e1
+28
+a2
+35
+26
+f0
+56
+eb
+22
+36
+37
+87
+92
 af
-79
-20
-97
+5e
+99
+3a
+46
+fc
+90
+b8
+d8
+95
+4c
+24
+ea
+0a
+6e
+4a
+6d
+07
+6a
+73
+1d
+9c
+4f
+c2
+15
+9c
+18
+4d
+35
+89
+23
+2f
+67
 fb
-19
-82
-e9
-c0
-cb
-b6
-e6
+2d
 34
-a0
-0e
-30
-16
-f6
-0b
-b4
-ae
-10
-58
-43
-ff
-14
-b1
-c1
-3a
-59
-74
-f2
-06
+2c
+53
+e9
+29
+9f
+07
+87
+3e
 48
-58
 44
-58
-e8
-b8
-4b
-eb
-f3
+4c
+cf
+4e
+a7
+9e
+47
+26
+6f
+62
+52
+24
+c9
+4c
+6b
+ea
+ef
+8a
+86
 10
-7f
-00
-36
-39
-9f
-ba
-1c
-1f
-a3
-7f
-9a
-4d
-1c
+97
 d8
-80
-1c
-41
-38
-3b
-21
-9b
+b4
+79
 98
-1b
-df
-5f
-47
-5e
-cf
-ff
+42
+9a
+50
 0d
+86
+7c
+af
+6c
+b1
+2c
+ad
+63
+07
+10
+2d
+1b
 b7
+e5
+9f
+5a
+2b
+6f
+75
+84
+25
+03
+17
+5d
+fc
+c5
+04
+78
+03
+f5
+8d
+d9
+b4
+8d
+c7
+c8
+d3
+1f
+dd
+ea
+db
+8e
+a0
+fd
+b2
+7d
+6e
+f4
+6f
+f9
+81
+b8
+fa
+ec
+9f
+11
+fe
+72
 77
-02
-61
-5b
-38
-7f
+74
+82
+9c
+d1
+24
+2a
+de
+c4
+a5
+55
+f4
+af
+ef
+b5
+bb
+b4
+42
+e1
+62
+b4
+d3
+ee
+ec
+ec
+fe
+95
+b7
+da
+42
+e6
+f5
+39
+24
+ce
+bc
+6d
+ef
+78
+72
+32
 03
-cc
+cd
+b8
+22
+64
+7b
+85
+2b
+6d
+c7
+fd
+88
+88
+32
+0f
+96
+f8
+b5
+7d
+9b
+c1
+65
+b9
+cd
+0d
+5c
+fa
+c7
+95
+a6
+3d
+64
+44
+84
+6d
+a7
+0b
+a1
+45
+b3
+bc
+3c
+8f
+d5
+97
+db
+ed
+e0
+19
+36
+4d
+ae
+f3
+19
+9e
+f9
+b7
+56
+83
+ac
+c7
+57
+6b
+32
+50
+14
 f8
-bd
-01
-2d
-cc
-65
-93
-f1
-81
+8a
+44
+98
 3f
-6f
+25
+b4
+c8
+c2
+a6
+e3
+93
 3f
-dd
-6a
-4c
-90
-a7
-85
-f6
-73
+72
+f7
+c8
+35
+ab
+db
+cc
+39
+35
+5a
+83
+47
+f1
+fc
+f5
+b4
+10
+fe
+c1
+71
+11
+6b
+06
+7b
+cf
+a5
+7c
+5d
+c1
+98
+40
+9d
+76
+75
+2c
+67
+37
+3c
+a9
+fa
 a9
+a1
+f1
+be
+e4
+b5
+b0
+ee
+16
+4a
+2f
+0b
+d4
+f9
 9e
-53
-c5
-d3
-e7
-c8
-cb
+17
+e3
+3f
+01
+51
 e1
-c9
-a8
-7d
-4b
-b7
+69
+d3
+c4
+be
+af
+2a
 b8
-0b
-19
-cb
-83
-95
-15
-e8
+65
+08
+2f
+b8
+2b
+e5
+c4
+bf
+87
+c2
+ac
+38
+07
+63
 da
-9f
+b0
+6f
+b0
+7e
+ad
+39
+07
+66
 1c
-f7
+21
+38
+24
+6e
+3b
+0a
+2c
+70
+93
+07
+b0
+2f
+a0
+d2
+52
+6f
+03
+f0
+09
+c2
 5f
-7f
-e4
-23
-67
-67
+27
+21
+fc
+fd
+d8
+b8
+fb
+85
+5b
+ab
+be
+9e
+78
+2a
+dd
+a6
 13
+7b
+a7
+85
+f5
 03
-11
-df
-1c
-c9
-7c
-a6
-6b
-12
-f3
-83
-99
-9b
-92
-aa
 89
-55
-96
+ca
+2f
+8c
+9c
+47
+67
+d6
+e2
+19
+71
+11
+33
+97
+e1
 c6
-d2
-70
-09
-43
-a8
-b2
-ae
-d2
-49
-c3
-f1
+5e
+68
+9c
+fa
+15
+dc
+dc
+30
+2b
+17
+96
+a1
 e4
-c1
-db
-0d
-71
-f3
-c9
-20
-67
-52
-62
-84
-7f
-77
-3d
-df
-4b
-39
-cd
-49
-5a
-42
-fe
+43
+58
+79
+5c
+a3
+8e
+9a
 fd
-17
-d4
-2b
+88
+aa
+b1
+6b
+72
+a2
+68
+d6
+3b
+5c
 2a
-85
-39
-8b
-e7
+e6
+ff
+cd
+73
 95
-ba
-45
-a7
-65
-38
-65
-42
-df
-9b
-b1
-64
 d0
-0f
-95
-e3
-ea
+c1
+c8
 ac
-05
-a3
+c6
+c9
+38
+56
+68
+1b
+b2
 21
-78
-d4
-aa
-0f
-89
-35
-1f
-32
-81
-9c
-8a
-91
-ac
-c1
-15
-53
+9d
+54
+87
+f3
+c9
+2b
+25
+4d
+c9
+61
+ef
+97
+1d
+d7
+13
+96
 2d
-23
+57
+7f
 43
-3a
-b3
+fa
+2a
+6c
+d4
+2b
+22
+cd
+76
+2b
+7b
+f9
+14
+25
+6e
+e2
+73
+bf
+d3
+e8
+34
+54
+2b
 88
-8c
-33
-93
-ab
-27
-4a
+0b
+8f
+e2
+4d
+ac
+05
+a1
+c4
+37
+74
+6a
+88
+69
+0a
+9f
 3b
-1d
-55
-64
-ae
-6e
-ab
-fe
+c9
+f4
+1b
+65
+96
+a3
+05
+b5
+c9
+41
+c5
+df
+84
 68
-12
-9b
+47
+72
+93
+91
+4e
+af
+8b
+fa
+4d
+31
+fe
+05
+b3
+cf
+30
+26
+e7
 4a
 6b
 ce
-75
-12
-ae
-3e
+78
+ab
+49
+c4
 56
 26
-74
-ee
-dd
-7c
-ff
-d7
-a4
-e1
-6a
-9b
-30
-e6
-03
-cc
-e2
-e9
-46
-02
-6a
-e0
+5c
+a5
+9c
+7d
+b8
+54
+ec
 a6
-a9
-b5
-01
-18
-df
-a0
-56
-0c
-de
-b2
-95
-7c
-39
-f9
-e1
-78
-77
-ee
+3a
+92
 4f
-69
+33
+2b
+85
+98
+60
+16
+0b
+78
+04
+99
+0b
+c7
+13
+50
+d7
+30
+05
+43
+7e
+72
+29
+8b
+9f
+4d
+a7
+47
+b4
+16
+ab
+61
 3a
-ae
-23
-08
+a0
+2d
+b4
+06
+09
+33
 74
-73
-c5
-24
-97
-f8
+fe
+5c
 75
-48
-16
-6d
-1d
-d2
-65
-fb
-6e
-7f
-7f
-be
+00
+1e
+f4
+7e
+9d
+a5
+61
+22
+97
+72
+e1
 07
 b0
-f5
-36
-cd
-d1
-87
-5a
-9d
-a0
-78
-9c
-04
+f7
+ee
+f0
+9e
+27
+c4
+31
+41
+3d
+1b
+0b
 37
 1c
-bb
-e3
-e4
-c6
-f5
-e1
+b3
+21
+ac
+ce
+6b
+e8
 67
 49
-1e
-65
-21
+11
+aa
 9d
-19
-18
-a5
-76
-e3
-af
-c4
-bd
-f6
-c8
+e1
+3d
+78
+ea
+b4
+fd
+fb
+c0
+c7
+f9
+78
 33
-a8
+c8
+a5
 fa
-79
-ac
-30
-67
-34
-3a
-ac
-64
+e4
+38
+a6
 75
-62
-66
-23
-1b
-ac
+75
+0c
+a5
+3d
+da
+00
+08
+b6
+96
 ea
-82
-65
-7a
-eb
+7b
+62
+9a
+a9
 0a
-f6
-b5
-23
-45
-98
-0d
-2f
-7e
+ec
+fa
+e3
 88
-6b
-a5
-03
-e8
-df
-7f
-12
-cc
-ab
-42
-7f
+20
+0d
 15
+79
+99
+3b
+ae
+45
+e5
+8f
 14
-d0
-84
-2c
 07
-6e
-66
-ac
-3c
-72
-5d
-f0
-00
-c9
-ea
+37
+ab
+62
+78
+18
+5b
+70
+48
+7e
+03
 34
-82
+31
 49
-9e
-ee
-f7
-26
-d1
-13
+56
+78
+62
+e3
+00
+89
+bd
+c7
 e8
-30
-80
-66
-73
-da
-82
-f3
-f2
-a8
+41
+99
+e4
+a7
+4f
 fc
-19
-0e
-3f
-21
-14
-3e
-af
-b4
-e3
+e5
+82
+38
+85
+77
+4c
+18
+f1
+0a
+80
+a1
+44
+4f
+41
+ff
+b0
+ac
+c9
+08
+8f
+62
 89
-67
-15
-2c
-c1
+3f
+92
+0d
+76
 89
-9d
-d4
-99
+5b
+97
 21
+27
 82
-10
-20
-74
-57
-b4
-ec
-5d
-74
-82
-e6
-ef
-f3
-73
-43
-45
+ff
+24
+2c
+d0
+93
 a4
-a5
+55
+b5
+d9
+51
+ef
+35
+3f
+83
+03
+d8
+05
 bf
+73
+99
+59
 71
-62
-88
-3e
-e4
-28
-49
-89
-a4
-f9
-55
-3c
-4e
-01
-11
-26
-3b
-54
-9c
-9c
+44
 b9
-70
-1c
+49
+8d
+9e
 fe
-6d
-a9
-ee
-2a
-a2
-27
-75
-5c
-22
+60
+73
+8e
+9a
+65
+8e
+73
+95
+57
+9c
+b8
+f1
+d5
 46
-24
+51
+d5
+ee
+65
+60
+30
+37
+58
+38
+16
+f9
 6f
-3c
+5c
 ee
-3d
-7d
-e7
-66
-8d
-a7
 82
-9e
-de
-0c
-97
-46
-f6
-e6
+65
+ef
 34
-67
-8b
-6a
-1b
+c8
+a7
+82
 94
-6b
-6a
-e9
-2a
-9c
-1f
-71
-c9
-c3
-8c
-e6
-ca
-d9
-4d
-72
+0f
+54
+d1
+bd
 c2
-f8
-a4
-35
-4b
-66
-71
+06
+17
+e7
+9f
+8a
+5a
+14
+62
+8a
+cb
+2a
+c0
 ff
-03
-9e
+33
+49
+bd
+6c
+a5
+ca
+a5
+ad
+51
+12
+48
+f4
+39
+da
 54
+71
+df
+04
+a7
+ae
 e9
-6d
-42
-ad
-f1
-03
-3d
-17
-5b
-08
-bf
-e2
-94
-56
-02
+3a
+a7
+97
+90
+0d
+7a
+5f
+33
+93
+dc
+d8
+95
+2f
+7c
 c2
-64
-16
-ae
-cb
+04
 46
-6e
-3c
+3f
+b1
+4f
+dc
+bd
 7a
 e4
-f2
-4d
-00
-63
-5e
-db
-49
-f0
-93
-27
-7f
-4a
-1e
-3c
 a2
-bd
-c5
-71
-dc
-e0
+e8
+72
+6a
+ec
+59
+49
+90
+c3
+ac
+30
+eb
+5e
+da
+e2
+8f
+09
+e1
+24
+20
+f7
+9a
+44
+83
+ac
+13
+2b
+61
+26
 f0
-ce
-0c
-8b
-1c
-6c
-2f
-5b
-21
-84
 eb
 09
 7a
-4e
-1b
-44
-35
-ed
-58
-8b
-dd
-5b
-fa
-60
-ce
-12
-da
-56
-d3
+6d
+a3
+ec
+f9
+76
+20
 ab
-0e
-11
+da
+99
+b2
+08
+7e
 63
-65
-53
-28
+95
+f6
+12
+24
+0a
+2b
+64
+02
+5c
+80
 72
-c0
-8d
-39
+c1
+6d
+79
 31
-25
-3d
-e3
-c9
-82
-43
-a3
-c5
-dc
-2f
-e4
-46
-73
-fd
-a0
+cd
+72
+22
+89
+61
+0b
+91
+09
+4c
+60
+44
+81
+93
+f9
+ba
 28
-c1
-7c
-ab
-fa
-c3
-0e
+fe
+3c
+a3
+31
+e7
+5e
 12
+d3
+6d
+7f
+5c
+02
 40
-32
-30
-9c
-c9
-b4
-ab
-1a
-62
-59
-4d
-c6
+03
+52
+29
+93
+ad
+87
 c9
-94
-9d
-a4
-51
-ef
-7b
-55
-ca
+bf
 7d
-33
-eb
-66
-0e
-c3
-7b
-f7
-db
-c3
-de
-9a
-3c
+e5
+d1
+ec
 db
+1f
+01
+84
+d3
+a9
+e6
+3d
+23
+58
+f7
+f1
+6b
+95
+d1
+d7
+8b
+d2
+50
 de
-c1
-ab
 f9
+a8
+e0
+3a
+0f
+8f
+5b
+eb
 88
-e7
-5d
-b5
-e7
-97
-7b
-88
-b5
-b7
-31
-7d
-28
-41
-ac
+d5
+c0
+38
+35
 20
-c7
+8a
+63
+20
+a7
 45
-b0
-74
-f6
-ec
-92
-00
-d3
+48
+3b
+56
+27
+8d
+07
+7b
 fa
-64
+7f
 f5
 65
 03
-1c
-8d
-56
-9b
-26
-34
-1c
-6c
-ae
-c5
 fa
-2c
-d6
-f9
-4e
-ad
-66
-61
-b1
-0e
-b1
-ed
-14
-1f
+8a
+fe
+9b
+25
+73
+bc
+a7
+bf
+c5
+9a
+2c
+3f
 f6
-55
-c1
-99
-c9
-fa
+e6
 ad
-2f
-af
-a8
-61
-77
-30
-9e
-b9
-b6
-34
-cb
+62
+26
 71
+c5
+bf
+ea
+bf
+9f
+ed
+12
+62
+98
+23
+fa
 cd
-81
+58
+44
+a7
+c9
+77
+37
 7e
-9d
+99
+b6
+d6
+63
+39
+86
 7e
-b9
-54
-49
-9e
-56
-00
+46
+9d
+fd
+22
+6c
+4f
+e5
+e9
 40
-3e
-a1
-00
+69
+f2
+31
+38
 dd
-ac
-dc
+2f
+5b
 36
-2c
-c0
-68
-ab
-bc
-c2
-33
-02
-a9
-23
-d4
+6c
+c7
+e0
+db
+b4
+8b
+5c
+3a
+af
+58
+7c
 1a
-59
-94
-6d
-3f
-4a
-55
-37
+78
+93
+e0
+47
+42
+1c
+5c
 2d
+f3
+8d
+11
+d6
+4f
+6f
+f5
+3f
+1a
+d6
+a5
+c7
+3c
 d3
-8a
+c2
+d1
+0d
 94
-ee
-29
-14
-27
-73
-73
+54
+e7
+e2
+eb
+6c
+12
+43
+ef
+77
+4a
+f7
+2e
+3d
+fe
 1d
-b6
+74
+73
+76
 ff
-3a
-a8
-58
-d1
-6c
-94
-a0
+f5
+5e
+ef
+68
+9a
+ad
+1b
+1a
+8d
+18
+35
+ae
+10
+8e
+24
+17
+d3
+d6
+c7
+82
+84
+56
+db
+72
+10
+4b
+c5
 a7
-ca
-27
-fc
-42
-4f
-7f
+1b
+c2
 f5
-05
-37
-e5
-20
-b6
-2f
-b8
-e3
-26
-f3
-6a
-c4
-a0
-c8
 51
-b6
-64
-b2
-bf
-89
-0a
-08
-6b
-0b
-20
-76
-d3
-d5
-80
-42
-4f
-48
-94
-f2
-dc
-d9
-d2
-0b
-4f
-48
+b0
+33
+58
+63
+1e
 a5
-3d
-20
-b8
-17
-e3
-d2
-36
-d0
-8d
-11
-a8
+c7
+21
+4b
+22
 91
-d8
-5b
-6a
+98
+5c
+e0
 05
 04
 31
-e8
-d3
-6b
-4a
-18
+ee
+94
+cb
+f6
+2e
 45
-40
-21
-ed
-f8
-82
-a0
-d5
 43
-18
-78
 a1
-ae
-04
+f5
+bf
+21
+d6
+18
+0c
+d8
+c4
 53
-1d
-3f
-25
-67
-3c
-9d
-07
-96
-3a
-c6
-28
-4e
-68
-0e
+e1
+c4
+ef
+37
+8f
+65
+f4
+ad
+7d
+47
+16
+27
+b6
+20
+06
+fb
+36
+69
+92
+a4
+22
 6f
-80
-61
-6a
-46
-45
-71
-05
+89
+e2
+3d
 43
-12
+f8
+af
+77
+84
+9a
+5b
+3b
+52
+78
 5d
-3f
-ac
-56
-cf
-03
 32
-93
-55
-42
-98
-9b
-01
-c1
-dc
-b7
+96
+2b
+4d
+f9
+ec
+33
 56
-a1
-bf
-5c
-1a
-86
-c5
-68
+d6
+1f
+15
+9e
+3e
+e3
+14
 8c
-5b
-84
-1b
-d0
-27
-a6
-86
-ab
+63
+e0
+e0
+3e
+63
+cf
+4d
+7d
 d3
-6e
-80
-e7
-a1
-d2
-f9
-54
-6d
-e5
-20
+68
+78
+e6
+d9
+f3
+ff
+cb
+d5
+ca
+a4
 12
-31
-ba
-77
+2e
+17
+ac
+67
+b0
+18
+f0
+26
+00
+2f
+a6
+f3
 e3
-47
-be
-42
-be
-48
-1c
-ea
-73
-0b
-c7
-dc
+cb
+ba
 ce
-41
+49
+6d
+b9
+8d
+43
+a2
+fa
+ad
+8d
+a2
+4f
+97
+ed
+64
 6c
-39
-99
+d2
+aa
+44
+f2
+77
+35
+f4
+5b
+91
 33
-a3
-48
-2e
-8d
-b4
-cd
-90
+64
+59
+76
+ea
+02
+a5
+30
+42
+59
+00
+1b
+d2
+75
+d6
+b3
+1b
+43
+7a
+2a
+78
+1b
+59
+97
+50
+80
+5d
+43
+cb
+ec
+3c
+aa
+63
+43
+5c
+e6
+11
+35
+34
+5b
+a7
+84
+25
+06
+21
+c0
+f1
+a1
+b0
+5a
+ca
+75
+71
+bd
+26
+21
+80
+6d
+d4
+34
+f5
+21
+83
+65
+6e
+45
+0c
+d2
+93
 ae
+43
+20
+c4
 a4
-6a
-9e
+bf
+7c
 15
-e4
-3f
-e1
+74
+38
 cf
-b4
-55
-91
-63
+fc
+2a
+cf
+62
+78
+75
+8e
+f8
+28
+e5
+ba
+2f
+cf
+0d
+38
+e7
+83
+0e
+3a
 68
-ad
+00
+0b
+92
+61
+75
+06
+37
+7a
+62
+94
+8a
+20
+bd
+9d
+b9
+79
+d9
+a8
+e3
+be
+98
+bc
+af
+2b
+36
+d7
+e0
+d0
 90
-f5
-ac
+fa
+8e
+e3
 3c
-31
-0a
-73
-4c
+63
+eb
+1a
+5e
+82
+15
 9c
-3a
-7f
-3c
-b2
-1f
+51
+c9
+ff
+db
+7e
 01
+41
+6a
+bf
+69
+e8
+8c
 fd
-8e
-4f
-fb
-9b
-05
-17
-21
-6d
-0e
-d4
-4c
-02
-79
-63
-43
-47
-4a
-26
+b7
+c7
+87
+b4
+c0
+7e
+a5
+d9
+4e
+53
+30
+e5
+f6
+4d
+f2
+1c
+81
+8f
+75
 d5
-f8
-cf
-e0
-46
-15
 4b
-3e
-60
-a9
-de
-b0
+85
+bd
+d3
+9f
+f9
+a6
+35
+91
+92
+0d
+69
 3a
-cd
-da
-c5
-5b
-ea
-b3
-a0
-2d
+2e
+d5
+83
+9d
+db
 ba
-c3
+58
+ae
+48
+f2
+6b
+06
+87
+a6
+03
+9a
+af
+f8
+d1
+a9
+8b
+dd
+63
+b5
+a1
+89
+ac
+4a
+05
+b6
+59
+83
+b2
+1c
 aa
 55
 40
@@ -8046,6 +8206,13 @@
 ff
 aa
 55
+01
+00
+99
+4c
+ff
+aa
+55
 02
 00
 26
@@ -9063,7 +9230,7 @@
 55
 0c
 00
-77
+7c
 4d
 09
 a5
@@ -9505,15 +9672,15 @@
 00
 84
 4c
-2d
+d4
 2e
 00
 55
 aa
 aa
 55
-e5
-a7
+ce
+aa
 ff
 20
 20
@@ -10554,7 +10721,7 @@
 20
 40
 06
-12
+1a
 6f
 e0
 c8
@@ -10642,7 +10809,7 @@
 20
 20
 06
-17
+1f
 6f
 e4
 47
@@ -10870,7 +11037,7 @@
 20
 40
 07
-8e
+b4
 20
 20
 62
@@ -10882,7 +11049,7 @@
 20
 40
 06
-5f
+85
 20
 40
 56
@@ -10906,7 +11073,7 @@
 20
 40
 07
-8e
+b4
 20
 40
 04
@@ -11646,7 +11813,7 @@
 20
 20
 06
-17
+1f
 6f
 e4
 47
@@ -11742,7 +11909,7 @@
 20
 40
 06
-12
+1a
 20
 20
 60
@@ -11750,7 +11917,7 @@
 20
 40
 06
-12
+1a
 70
 4b
 40
@@ -11823,8 +11990,8 @@
 00
 00
 00
+73
 15
-41
 ff
 1e
 f0
Index: output/memmap.format
===================================================================
--- /1121s/branch/mouse/AI_Project/mouse_public_ai_2mode/output/memmap.format	(revision 5045)
+++ /1121s/branch/mouse/AI_Project/mouse_public_ai_2mode/output/memmap.format	(working copy)
@@ -2043,91 +2043,96 @@
 0x4c96 mem_rgb_control_step
 0x4c97 mem_rgb_gradient_flag
 0x4c98 mem_rgb_color_switch
-0x4c99 mem_24g_txpayload_buf
-0x4ca9 mem_release_data_from_receiver_enable
-0x4caa mem_release_data_from_transmiter_enable
-0x4cab mem_flippen_key0_gpio
-0x4cac mem_flippen_key1_gpio
-0x4cad mem_flippen_key2_gpio
-0x4cae mem_flippen_key3_gpio
-0x4caf mem_flippen_key4_gpio
-0x4cb0 mem_flippen_key5_gpio
-0x4cb1 mem_flippen_key6_gpio
-0x4cb2 mem_flippen_key7_gpio
-0x4cb3 mem_flippen_key0_press_status
-0x4cb4 mem_flippen_key1_press_status
-0x4cb5 mem_flippen_key2_press_status
-0x4cb6 mem_flippen_key3_press_status
-0x4cb7 mem_flippen_key4_press_status
-0x4cb8 mem_flippen_key5_press_status
-0x4cb9 mem_flippen_key6_press_status
-0x4cba mem_flippen_key7_press_status
-0x4cbb mem_key_press_data
-0x4cbb mem_key_pageup_data
-0x4cc4 mem_key_pagedown_data
-0x4ccd mem_key_shift_f5_data
-0x4cd6 mem_key_esc_data
-0x4cdf mem_key_b_data
-0x4ce8 mem_key_tab
-0x4cf1 mem_key_enter
-0x4cfa mem_key_alt_tab
-0x4d03 mem_key_alt_f4
-0x4d0c mem_key_play_pause
-0x4d15 mem_key_vol_up
-0x4d1e mem_key_vol_down
-0x4d27 mem_standard_key_release
-0x4d30 mem_system_ctrl_key_release
-0x4d39 mem_media_key_release
-0x4d42 mem_key0_long_press_flag
-0x4d43 mem_key1_long_press_flag
-0x4d44 mem_key2_long_press_flag
-0x4d45 mem_key3_long_press_flag
-0x4d46 mem_key4_long_press_flag
-0x4d47 mem_key0_long_press_event
-0x4d48 mem_key1_long_press_event
-0x4d49 mem_key2_long_press_event
-0x4d4a mem_key3_long_press_event
-0x4d4b mem_key4_long_press_event
-0x4d4c mem_key0_short_press_flag
-0x4d4d mem_key1_short_press_flag
-0x4d4e mem_key2_short_press_flag
-0x4d4f mem_key3_short_press_flag
-0x4d50 mem_key4_short_press_flag
-0x4d51 mem_key0_press_timer_count
-0x4d52 mem_key1_press_timer_count
-0x4d53 mem_key2_press_timer_count
-0x4d54 mem_key3_press_timer_count
-0x4d55 mem_key4_press_timer_count
-0x4d56 mem_combination_key_down_flag
-0x4d57 mem_combination_key_longpress_flag
-0x4d58 mem_key_disable_timer
-0x4d59 mem_24g_calculate_package_id_disable
-0x4d5a mem_24g_package_id_abandon_flag
-0x4d5b mem_24g_package_id
-0x4d5c mem_key_state
-0x4d5d mem_key_press_state
-0x4d5e mem_poweron_first_blank_data_enable
-0x4d5f mem_flippen_no_data_timeout
-0x4d61 mem_flippen_start_pair_no_data_timeout
-0x4d63 mem_key_longpress_timer_init
-0x4d65 mem_key_longpress_timer
-0x4d67 mem_low_voltage_led_blink_flag
-0x4d68 mem_low_voltage_led_blink_start_timer
-0x4d69 mem_poweron_led_blink_flag
-0x4d6a mem_24g_pair_enable_flag
-0x4d6b mem_24g_ch_work
-0x4d6c mem_24g_pair_key_down_flag
-0x4d6d mem_24g_pairing_stop_flag
-0x4d6e mem_longpress_24g_enter_hibernate_flag
-0x4d6f mem_g24_connected_state
-0x4d70 mem_g24_pairing_stop_flag
-0x4d71 mem_send_package_before_check
-0x4d72 mem_le_conn_rcv_new
-0x4d73 mem_le_conn_first_rcv
-0x4d74 mem_le_check_retransmit_flag
-0x4d75 mem_le_retransmit_cnt
-0x4d76 mem_le_check_retransmit_discon_flag
-0x4d77 mem_sensor_ka5857_init
+0x4c99 mem_mouse_ai_key_gpio
+0x4c9a mem_mouse_aikey_press_status
+0x4c9b mem_mouse_ai_button_state
+0x4c9c mem_ai_button_count
+0x4c9d mem_mouse_ai_long_press_flag
+0x4c9e mem_24g_txpayload_buf
+0x4cae mem_release_data_from_receiver_enable
+0x4caf mem_release_data_from_transmiter_enable
+0x4cb0 mem_flippen_key0_gpio
+0x4cb1 mem_flippen_key1_gpio
+0x4cb2 mem_flippen_key2_gpio
+0x4cb3 mem_flippen_key3_gpio
+0x4cb4 mem_flippen_key4_gpio
+0x4cb5 mem_flippen_key5_gpio
+0x4cb6 mem_flippen_key6_gpio
+0x4cb7 mem_flippen_key7_gpio
+0x4cb8 mem_flippen_key0_press_status
+0x4cb9 mem_flippen_key1_press_status
+0x4cba mem_flippen_key2_press_status
+0x4cbb mem_flippen_key3_press_status
+0x4cbc mem_flippen_key4_press_status
+0x4cbd mem_flippen_key5_press_status
+0x4cbe mem_flippen_key6_press_status
+0x4cbf mem_flippen_key7_press_status
+0x4cc0 mem_key_press_data
+0x4cc0 mem_key_pageup_data
+0x4cc9 mem_key_pagedown_data
+0x4cd2 mem_key_shift_f5_data
+0x4cdb mem_key_esc_data
+0x4ce4 mem_key_b_data
+0x4ced mem_key_tab
+0x4cf6 mem_key_enter
+0x4cff mem_key_alt_tab
+0x4d08 mem_key_alt_f4
+0x4d11 mem_key_play_pause
+0x4d1a mem_key_vol_up
+0x4d23 mem_key_vol_down
+0x4d2c mem_standard_key_release
+0x4d35 mem_system_ctrl_key_release
+0x4d3e mem_media_key_release
+0x4d47 mem_key0_long_press_flag
+0x4d48 mem_key1_long_press_flag
+0x4d49 mem_key2_long_press_flag
+0x4d4a mem_key3_long_press_flag
+0x4d4b mem_key4_long_press_flag
+0x4d4c mem_key0_long_press_event
+0x4d4d mem_key1_long_press_event
+0x4d4e mem_key2_long_press_event
+0x4d4f mem_key3_long_press_event
+0x4d50 mem_key4_long_press_event
+0x4d51 mem_key0_short_press_flag
+0x4d52 mem_key1_short_press_flag
+0x4d53 mem_key2_short_press_flag
+0x4d54 mem_key3_short_press_flag
+0x4d55 mem_key4_short_press_flag
+0x4d56 mem_key0_press_timer_count
+0x4d57 mem_key1_press_timer_count
+0x4d58 mem_key2_press_timer_count
+0x4d59 mem_key3_press_timer_count
+0x4d5a mem_key4_press_timer_count
+0x4d5b mem_combination_key_down_flag
+0x4d5c mem_combination_key_longpress_flag
+0x4d5d mem_key_disable_timer
+0x4d5e mem_24g_calculate_package_id_disable
+0x4d5f mem_24g_package_id_abandon_flag
+0x4d60 mem_24g_package_id
+0x4d61 mem_key_state
+0x4d62 mem_key_press_state
+0x4d63 mem_poweron_first_blank_data_enable
+0x4d64 mem_flippen_no_data_timeout
+0x4d66 mem_flippen_start_pair_no_data_timeout
+0x4d68 mem_key_longpress_timer_init
+0x4d6a mem_key_longpress_timer
+0x4d6c mem_low_voltage_led_blink_flag
+0x4d6d mem_low_voltage_led_blink_start_timer
+0x4d6e mem_poweron_led_blink_flag
+0x4d6f mem_24g_pair_enable_flag
+0x4d70 mem_24g_ch_work
+0x4d71 mem_24g_pair_key_down_flag
+0x4d72 mem_24g_pairing_stop_flag
+0x4d73 mem_longpress_24g_enter_hibernate_flag
+0x4d74 mem_g24_connected_state
+0x4d75 mem_g24_pairing_stop_flag
+0x4d76 mem_send_package_before_check
+0x4d77 mem_le_conn_rcv_new
+0x4d78 mem_le_conn_first_rcv
+0x4d79 mem_le_check_retransmit_flag
+0x4d7a mem_le_retransmit_cnt
+0x4d7b mem_le_check_retransmit_discon_flag
+0x4d7c mem_sensor_ka5857_init
 0x462d mem_remote_car_hard_soft_switch
 0x462e mem_remote_car_queue_each_size
 0x462f mem_remote_car_queue_length
Index: output/program.lis
===================================================================
--- /1121s/branch/mouse/AI_Project/mouse_public_ai_2mode/output/program.lis	(revision 5045)
+++ /1121s/branch/mouse/AI_Project/mouse_public_ai_2mode/output/program.lis	(working copy)
@@ -87,27 +87,27 @@
 004e c034855f beq patch0d_1 ,p_mouse_load_device_info_check 
 004f c035055d beq patch0d_2 ,p_mouse_default_init 
 0050 c0360516 beq patch0d_4 ,p_mouse_param_init 
-0051 c037061a beq patch0d_6 ,p_mouse_start_work 
+0051 c0370622 beq patch0d_6 ,p_mouse_start_work 
 0052 c037d4b6 beq patch0d_7 ,mouse4_0_check_reconn_target 
-0053 c0398665 beq patch0e_3 ,p_mouse_setgpio_hibernate 
+0053 c039868b beq patch0e_3 ,p_mouse_setgpio_hibernate 
 0054 c03a04bf beq patch0e_4 ,p_mouse_lpm_before_common 
-0055 c03c8686 beq patch0f_1 ,p_mouse_le_name_modify 
-0056 c03d06be beq patch0f_2 ,p_mouse_motion 
-0057 c03d869c beq patch0f_3 ,p_mouse_dpi_process 
-0058 c03e06a3 beq patch0f_4 ,p_mouse_setting_dpi 
-0059 c03e86a7 beq patch0f_5 ,p_mouse_setting_sensor_type 
-005a c03f864d beq patch0f_7 ,p_mouse_3io6key_check 
-005b c0408688 beq patch10_1 ,p_mouse_init_sensor 
+0055 c03c86ac beq patch0f_1 ,p_mouse_le_name_modify 
+0056 c03d06e4 beq patch0f_2 ,p_mouse_motion 
+0057 c03d86c2 beq patch0f_3 ,p_mouse_dpi_process 
+0058 c03e06c9 beq patch0f_4 ,p_mouse_setting_dpi 
+0059 c03e86cd beq patch0f_5 ,p_mouse_setting_sensor_type 
+005a c03f8673 beq patch0f_7 ,p_mouse_3io6key_check 
+005b c04086ae beq patch10_1 ,p_mouse_init_sensor 
 005c c0420563 beq patch10_4 ,p_mouse_buletooth_fast_conn_end 
-005d c04285d5 beq patch10_5 ,p_mouse_priority_bb_event 
+005d c04285dd beq patch10_5 ,p_mouse_priority_bb_event 
 005e c043030a beq patch10_6 ,p_mouse_le 
 005f c0438592 beq patch10_7 ,p_mouse_bb_event_timer 
 0060 c0450567 beq patch11_2 ,p_mouse_store_remote_bdaddr 
 0061 c0458561 beq patch11_3 ,p_mouse_app_initflag_check 
-0062 c047061c beq patch11_6 ,p_mouse_idle 
-0063 c04986d2 beq patch12_3 ,p_mouse_drawing_optima 
-0064 c04a8663 beq patch12_5 ,p_mouse_24g_hibernate_set 
-0065 c04b066a beq patch12_6 ,p_mouse_24g_package_data 
+0062 c0470624 beq patch11_6 ,p_mouse_idle 
+0063 c04986f8 beq patch12_3 ,p_mouse_drawing_optima 
+0064 c04a8689 beq patch12_5 ,p_mouse_24g_hibernate_set 
+0065 c04b0690 beq patch12_6 ,p_mouse_24g_package_data 
 0066 c04b807e beq patch12_7 ,p_mouse_24g_search_dongle_loop 
 0067 c06284f4 beq patch18_5 ,p_otp_read_data 
 0068 c06a84b3 beq patch1a_5 ,p_gpio_set_wake_by_current_state 
@@ -128,7 +128,7 @@
 0075 c04804f7 beq patch32_0 ,p_g24_reconn_dispatch 
 0076 c049050b beq patch32_2 ,p_g24_reconn_device_fail 
 0077 c04a808c beq patch32_5 ,p_g24_transmit_no_interrupt 
-0078 c04b065a beq patch32_6 ,p_g24_short_sleep 
+0078 c04b0680 beq patch32_6 ,p_g24_short_sleep 
 0079 c04d01a6 beq patch33_2 ,p_mouse_g24_retransmit 
 007a c04e81b8 beq patch33_5 ,p_g24_transmit_hop_process 
 007b c04f851f beq patch33_7 ,p_power_ctrl_start 
@@ -258,15 +258,15 @@
 
 p_g24_send_device_info_check:
 00d3 704c7e80 jam zcode_80 ,mem_zcode_temp_param0 
-00d4 20200796 branch p_zcode_entrance 
+00d4 202007bc branch p_zcode_entrance 
 
 p_g24_send_http_info_check:
 00d5 704c7e70 jam zcode_70 ,mem_zcode_temp_param0 
-00d6 20200796 branch p_zcode_entrance 
+00d6 202007bc branch p_zcode_entrance 
 
 p_g24_send_app_info_check:
 00d7 704c7e71 jam zcode_71 ,mem_zcode_temp_param0 
-00d8 20200796 branch p_zcode_entrance 
+00d8 202007bc branch p_zcode_entrance 
 
 p_g24_send_dpi_info_check:
 00d9 6fe0cb23 fetch 1 ,mem_24g_rf_data_flag 
@@ -297,7 +297,7 @@
 
 p_g24_send_battery_info_check:
 00ee 704c7e81 jam zcode_81 ,mem_zcode_temp_param0 
-00ef 20200796 branch p_zcode_entrance 
+00ef 202007bc branch p_zcode_entrance 
 
 p_mouse_temp_buff_clear:
 00f0 d8a04b30 arg mem_mouse_temp_buff ,contw 
@@ -446,7 +446,7 @@
 p_sadc_calibration:
 015c 20758000 rtn wake 
 015d 704c7e60 jam zcode_60 ,mem_zcode_temp_param0 
-015e 20200796 branch p_zcode_entrance 
+015e 202007bc branch p_zcode_entrance 
 
 p_set_xtal_cap:
 015f 20758000 rtn wake 
@@ -606,7 +606,7 @@
 p_rx_dcoc:
 01d6 20758000 rtn wake 
 01d7 704c7e50 jam zcode_50 ,mem_zcode_temp_param0 
-01d8 20200796 branch p_zcode_entrance 
+01d8 202007bc branch p_zcode_entrance 
 
 p_rfpll_aac_ghpc:
 01d9 20758000 rtn wake 
@@ -637,7 +637,7 @@
 01ec 20600000 rtn 
 
 p_le_check_retransmit_timesout:
-01ed 6fe0cd72 fetch 1 ,mem_le_conn_rcv_new 
+01ed 6fe0cd77 fetch 1 ,mem_le_conn_rcv_new 
 01ee da600100 arg 256 ,regc 
 01ef 9a60fe00 iadd regc ,pdata 
 01f0 20600000 rtn 
@@ -647,25 +647,25 @@
 01f2 20202563 branch le_slave_match + 1 
 
 p_le_check_retransmit:
-01f3 6fe0cd73 fetch 1 ,mem_le_conn_first_rcv 
+01f3 6fe0cd78 fetch 1 ,mem_le_conn_first_rcv 
 01f4 207a0000 rtn blank 
-01f5 6fe0cd74 fetch 1 ,mem_le_check_retransmit_flag 
+01f5 6fe0cd79 fetch 1 ,mem_le_check_retransmit_flag 
 01f6 247a0000 nrtn blank 
-01f7 6848cd73 fetcht 1 ,mem_le_conn_first_rcv 
-01f8 6fe0cd72 fetch 1 ,mem_le_conn_rcv_new 
+01f7 6848cd78 fetcht 1 ,mem_le_conn_first_rcv 
+01f8 6fe0cd77 fetch 1 ,mem_le_conn_rcv_new 
 01f9 98467c00 isub temp ,null 
 01fa 244101ed ncall p_le_check_retransmit_timesout ,positive 
 01fb 98467e00 isub temp ,pdata 
 01fc 1fe67c64 sub pdata ,100 ,null 
 01fd 20210205 branch p_le_check_retransmit_count ,positive 
-01fe 6fe0cd75 fetch 1 ,mem_le_retransmit_cnt 
+01fe 6fe0cd7a fetch 1 ,mem_le_retransmit_cnt 
 01ff 1fe67c14 sub pdata ,20 ,null 
 0200 24410203 ncall p_app_ble_disconnect ,positive 
-0201 704d7401 jam 1 ,mem_le_check_retransmit_flag 
+0201 704d7901 jam 1 ,mem_le_check_retransmit_flag 
 0202 20600000 rtn 
 
 p_app_ble_disconnect:
-0203 704d7601 jam 1 ,mem_le_check_retransmit_discon_flag 
+0203 704d7b01 jam 1 ,mem_le_check_retransmit_discon_flag 
 0204 2020431f branch app_ble_disconnect 
 
 p_le_check_retransmit_count:
@@ -675,10 +675,10 @@
 0208 9842fe00 ixor temp ,pdata 
 0209 2feffe02 isolate1 nesn ,pdata 
 020a 58000000 setarg 0 
-020b 6848cd75 fetcht 1 ,mem_le_retransmit_cnt 
+020b 6848cd7a fetcht 1 ,mem_le_retransmit_cnt 
 020c 7920fe00 setflag true ,0 ,pdata 
 020d 98408400 iadd temp ,temp 
-020e 6048cd75 storet 1 ,mem_le_retransmit_cnt 
+020e 6048cd7a storet 1 ,mem_le_retransmit_cnt 
 020f 20600000 rtn 
 
 p_le_got_first_packet_new:
@@ -686,9 +686,9 @@
 0211 1fe0fe01 increase 1 ,pdata 
 0212 67e08005 store 1 ,mem_le_conn_rcv 
 0213 24368217 nbranch p_le_got_first_packet_new + 7 ,match 
-0214 6fe0cd72 fetch 1 ,mem_le_conn_rcv_new 
+0214 6fe0cd77 fetch 1 ,mem_le_conn_rcv_new 
 0215 1fe0fe01 increase 1 ,pdata 
-0216 67e0cd72 store 1 ,mem_le_conn_rcv_new 
+0216 67e0cd77 store 1 ,mem_le_conn_rcv_new 
 0217 2020259b branch le_got_first_packet + 4 
 
 p_le_rx_dec:
@@ -930,7 +930,7 @@
 02cf 242102d5 nbranch p_att_write_command_data_receive_error ,positive 
 02d0 6fe0cc63 fetch 1 ,mem_device_info_rx_buf + 3 
 02d1 67e0c690 store 1 ,mem_mouse_dpi 
-02d2 204006a3 call p_mouse_setting_dpi 
+02d2 204006c9 call p_mouse_setting_dpi 
 
 p_att_write_command_data_receive_ok:
 02d3 da400000 arg 0x00 ,regb 
@@ -1021,9 +1021,9 @@
 030e 6fe0c843 fetch 1 ,mem_le_connect_status_flag 
 030f 1fe17e03 and pdata ,0x03 ,pdata 
 0310 c1818000 rtnne 0x03 
-0311 6fe0cd74 fetch 1 ,mem_le_check_retransmit_flag 
+0311 6fe0cd79 fetch 1 ,mem_le_check_retransmit_flag 
 0312 207a0000 rtn blank 
-0313 6fe0cd76 fetch 1 ,mem_le_check_retransmit_discon_flag 
+0313 6fe0cd7b fetch 1 ,mem_le_check_retransmit_discon_flag 
 0314 247a0000 nrtn blank 
 
 p_mouse_le_next:
@@ -1035,11 +1035,11 @@
 031a c282db5b bbit1 mouse_bt_discovery_button_down_flag ,mouse_le_send_empty_packet 
 031b c2835b5b bbit1 mouse_bt_discovery_button_long_down_flag ,mouse_le_send_empty_packet 
 031c 20405601 call mouse_motion 
-031d 20400667 call p_mouse_tx_device_info_check 
+031d 2040068d call p_mouse_tx_device_info_check 
 031e 20405ab2 call mouse_check_125hz 
 031f 24740000 nrtn user 
 0320 20405abc call mouse_current_mult_update 
-0321 2040067a call p_mouse_data_xy_release 
+0321 204006a0 call p_mouse_data_xy_release 
 0322 58000000 setarg 0 
 0323 67e40670 store 8 ,mem_pdatatemp 
 0324 6fe0c846 fetch 1 ,mem_mouse_key 
@@ -1629,7 +1629,7 @@
 04be 202023e2 branch lpm_write_wait 
 
 p_mouse_lpm_before_common:
-04bf 2040065f call p_clear_wake 
+04bf 20400685 call p_clear_wake 
 04c0 704b1f00 jam 0 ,mem_mouse_qdec_set_flag 
 04c1 6848c654 fetcht 1 ,mem_matrix_public_gpio 
 04c2 20406ef7 call gpio_out_active 
@@ -1751,7 +1751,7 @@
 
 p_mouse_param_init:
 0516 704c7e11 jam zcode_11 ,mem_zcode_temp_param0 
-0517 20200796 branch p_zcode_entrance 
+0517 202007bc branch p_zcode_entrance 
 
 p_recv_addr_zero_skip:
 0518 6fe245e4 fetch 4 ,mem_24g_fast_conn_addr 
@@ -1852,23 +1852,23 @@
 
 p_mouse_default_init:
 055d 704c7e12 jam zcode_12 ,mem_zcode_temp_param0 
-055e 20200796 branch p_zcode_entrance 
+055e 202007bc branch p_zcode_entrance 
 
 p_mouse_load_device_info_check:
 055f 704c7e20 jam zcode_20 ,mem_zcode_temp_param0 
-0560 20200796 branch p_zcode_entrance 
+0560 202007bc branch p_zcode_entrance 
 
 p_mouse_app_initflag_check:
 0561 704c7e21 jam zcode_21 ,mem_zcode_temp_param0 
-0562 20200796 branch p_zcode_entrance 
+0562 202007bc branch p_zcode_entrance 
 
 p_mouse_buletooth_fast_conn_end:
 0563 704c7e22 jam zcode_22 ,mem_zcode_temp_param0 
-0564 20200796 branch p_zcode_entrance 
+0564 202007bc branch p_zcode_entrance 
 
 p_mouse_select_reconn_device:
 0565 704c7e23 jam zcode_23 ,mem_zcode_temp_param0 
-0566 20200796 branch p_zcode_entrance 
+0566 202007bc branch p_zcode_entrance 
 
 p_mouse_store_remote_bdaddr:
 0567 6fe44713 fetch mouse_flag_len ,mem_mouse_flag 
@@ -1926,7 +1926,7 @@
 0591 20600000 rtn 
 
 p_mouse_bb_event_timer:
-0592 204005cb call p_mouse_le_send_conn_param_update_timer 
+0592 204005d3 call p_mouse_le_send_conn_param_update_timer 
 0593 2040614d call mouse_low_voltage_led_timer 
 0594 2040553d call mouse_adc_read 
 0595 20406110 call mouse_logo_led_on_timer 
@@ -1935,765 +1935,817 @@
 0598 2040328e call g24_pair_timeout_timer 
 0599 20403531 call g24_reconn_timeout_timer 
 059a 20405fdd call mouse_24g_long_sleep_param_update_timer 
-059b 204005af call p_mouse_commbination_control_rgb 
-059c 204005ac call p_mouse_send_device_info_timer 
-059d 204005be call p_mouse_dpi_key_check_long_press 
-059e 204005c6 call p_mouse_m_key_long_press_timer 
-059f 20405b9b call mouse_bt_discovery_check 
-05a0 20405bab call mouse_commbination_key_process 
-05a1 20405bce call mouse_check_discovery_timeout_timer 
-05a2 20400454 call p_mouse_le_auto_recognize_timer 
-05a3 20405bd3 call mouse_check_direct_timeout_timer 
-05a4 20405be1 call mouse_le_enable_att_list_timer 
-05a5 20405bee call mouse_le_battery_updata_timer 
-05a6 20405be4 call mouse_le_send_smp_security_request_timer 
-05a7 20405bfb call mouse_check_reconnect_delay_long_sleep 
-05a8 204005ce call p_mouse_current_mult_update_timer 
-05a9 204056b6 call mouse_wheel_trigger_timer 
-05aa 20405c0e call mouse_store_information_delay_timer 
-05ab 20205c05 branch mouse_check_no_data_timeout_timer 
+059b 204005b0 call p_mouse_commbination_control_rgb 
+059c 204005ad call p_mouse_send_device_info_timer 
+059d 204005c6 call p_mouse_dpi_key_check_long_press 
+059e 204005ce call p_mouse_m_key_long_press_timer 
+059f 204005bf call p_mouse_ai_key_check_long_press 
+05a0 20405b9b call mouse_bt_discovery_check 
+05a1 20405bab call mouse_commbination_key_process 
+05a2 20405bce call mouse_check_discovery_timeout_timer 
+05a3 20400454 call p_mouse_le_auto_recognize_timer 
+05a4 20405bd3 call mouse_check_direct_timeout_timer 
+05a5 20405be1 call mouse_le_enable_att_list_timer 
+05a6 20405bee call mouse_le_battery_updata_timer 
+05a7 20405be4 call mouse_le_send_smp_security_request_timer 
+05a8 20405bfb call mouse_check_reconnect_delay_long_sleep 
+05a9 204005d6 call p_mouse_current_mult_update_timer 
+05aa 204056b6 call mouse_wheel_trigger_timer 
+05ab 20405c0e call mouse_store_information_delay_timer 
+05ac 20205c05 branch mouse_check_no_data_timeout_timer 
 
 p_mouse_send_device_info_timer:
-05ac da604b40 arg mem_mouse_delay_send_info_timer ,regc 
-05ad da4000c7 arg p_mouse_send_device_info_enable ,regb 
-05ae 202042e0 branch timer_single_step 
+05ad da604b40 arg mem_mouse_delay_send_info_timer ,regc 
+05ae da4000c7 arg p_mouse_send_device_info_enable ,regb 
+05af 202042e0 branch timer_single_step 
 
 p_mouse_commbination_control_rgb:
-05af 20405888 call mouse_check_key_gpio 
-05b0 1fe17e07 and pdata ,0x07 ,pdata 
-05b1 c00305b4 beq mouse_rm_button ,p_mosue_combination_control_rgb_timer 
-05b2 704c951e jam 0x1e ,mem_control_rgb_timer 
-05b3 20600000 rtn 
+05b0 20405888 call mouse_check_key_gpio 
+05b1 1fe17e07 and pdata ,0x07 ,pdata 
+05b2 c00305b5 beq mouse_rm_button ,p_mosue_combination_control_rgb_timer 
+05b3 704c951e jam 0x1e ,mem_control_rgb_timer 
+05b4 20600000 rtn 
 
 p_mosue_combination_control_rgb_timer:
-05b4 da604c95 arg mem_control_rgb_timer ,regc 
-05b5 da4005b7 arg p_mosue_rgb_control ,regb 
-05b6 202042e0 branch timer_single_step 
+05b5 da604c95 arg mem_control_rgb_timer ,regc 
+05b6 da4005b8 arg p_mosue_rgb_control ,regb 
+05b7 202042e0 branch timer_single_step 
 
 p_mosue_rgb_control:
-05b7 6fe0cc91 fetch 1 ,mem_mouse_rgb_enable 
-05b8 79407e00 setflip 0 ,pdata 
-05b9 67e0cc91 store 1 ,mem_mouse_rgb_enable 
-05ba c000078e beq 0 ,p_mouse_rgb_led_off 
+05b8 6fe0cc91 fetch 1 ,mem_mouse_rgb_enable 
+05b9 79407e00 setflip 0 ,pdata 
+05ba 67e0cc91 store 1 ,mem_mouse_rgb_enable 
+05bb c00007b4 beq 0 ,p_mouse_rgb_led_off 
 
 p_mouse_rgb_led_enable:
-05bb 6fe14725 fetch 2 ,mem_mouse_no_data_timeout 
-05bc 67e14781 store 2 ,mem_mouse_no_data_timer 
-05bd 20200732 branch p_mouse_pwm_init 
+05bc 6fe14725 fetch 2 ,mem_mouse_no_data_timeout 
+05bd 67e14781 store 2 ,mem_mouse_no_data_timer 
+05be 20200758 branch p_mouse_pwm_init 
+
+p_mouse_ai_key_check_long_press:
+05bf 6fe0cc9b fetch 1 ,mem_mouse_ai_button_state 
+05c0 c1808000 rtnne ai_button_state_down 
+05c1 da604c9c arg mem_ai_button_count ,regc 
+05c2 da4005c4 arg p_mouse_ai_long_press_set ,regb 
+05c3 202042e0 branch timer_single_step 
+
+p_mouse_ai_long_press_set:
+05c4 704c9d01 jam 1 ,mem_mouse_ai_long_press_flag 
+05c5 20600000 rtn 
 
 p_mouse_dpi_key_check_long_press:
-05be 6fe0c87a fetch 1 ,mem_mouse_dpi_button_state 
-05bf c1808000 rtnne dpi_button_state_down 
-05c0 da60497d arg mem_select_device_count ,regc 
-05c1 da4005c3 arg p_mouse_dpi_long_press_set ,regb 
-05c2 202042e0 branch timer_single_step 
+05c6 6fe0c87a fetch 1 ,mem_mouse_dpi_button_state 
+05c7 c1808000 rtnne dpi_button_state_down 
+05c8 da60497d arg mem_select_device_count ,regc 
+05c9 da4005cb arg p_mouse_dpi_long_press_set ,regb 
+05ca 202042e0 branch timer_single_step 
 
 p_mouse_dpi_long_press_set:
-05c3 70487b01 jam 1 ,mem_mouse_dpi_long_press_flag 
-05c4 704b25ff jam long_press ,mem_mouse_tx_dpi_state 
-05c5 202000d0 branch p_mouse_send_app_info_enable 
+05cb 70487b01 jam 1 ,mem_mouse_dpi_long_press_flag 
+05cc 704b25ff jam long_press ,mem_mouse_tx_dpi_state 
+05cd 202000d0 branch p_mouse_send_app_info_enable 
 
 p_mouse_m_key_long_press_timer:
-05c6 6fe0cb41 fetch 1 ,mem_mouse_m_key_press_flag 
-05c7 207a0000 rtn blank 
-05c8 da604b42 arg mem_mouse_m_key_press_count ,regc 
-05c9 da4000ca arg p_mouse_send_http_info_enable ,regb 
-05ca 202042e0 branch timer_single_step 
+05ce 6fe0cb41 fetch 1 ,mem_mouse_m_key_press_flag 
+05cf 207a0000 rtn blank 
+05d0 da604b42 arg mem_mouse_m_key_press_count ,regc 
+05d1 da4000ca arg p_mouse_send_http_info_enable ,regb 
+05d2 202042e0 branch timer_single_step 
 
 p_mouse_le_send_conn_param_update_timer:
-05cb da604a05 arg mem_mouse_le_send_conn_param_update_timer ,regc 
-05cc da405aef arg mouse_updata_le_param ,regb 
-05cd 202042e0 branch timer_single_step 
+05d3 da604a05 arg mem_mouse_le_send_conn_param_update_timer ,regc 
+05d4 da405aef arg mouse_updata_le_param ,regb 
+05d5 202042e0 branch timer_single_step 
 
 p_mouse_current_mult_update_timer:
-05ce da60477e arg mem_mouse_current_mult_timer ,regc 
-05cf da4005d1 arg p_mouse_current_mult_reinit ,regb 
-05d0 202042e0 branch timer_single_step 
+05d6 da60477e arg mem_mouse_current_mult_timer ,regc 
+05d7 da4005d9 arg p_mouse_current_mult_reinit ,regb 
+05d8 202042e0 branch timer_single_step 
 
 p_mouse_current_mult_reinit:
-05d1 6fe0c96b fetch 1 ,mem_lpm_mult_init 
-05d2 67e0c0c0 store 1 ,mem_lpm_mult 
-05d3 70477d03 jam 3 ,mem_mouse_long_mult_flag 
-05d4 20600000 rtn 
+05d9 6fe0c96b fetch 1 ,mem_lpm_mult_init 
+05da 67e0c0c0 store 1 ,mem_lpm_mult 
+05db 70477d03 jam 3 ,mem_mouse_long_mult_flag 
+05dc 20600000 rtn 
 
 p_mouse_priority_bb_event:
-05d5 1a627e00 copy regc ,pdata 
-05d6 c02005ec beq bt_evt_le_parse_conn_papa_update_rsp ,p_mouse_le_conn_param_update_rsp_recieved 
-05d7 c00a85f1 beq bt_evt_le_disconnected ,p_mouse_le_bb_disconnected 
-05d8 c01905e2 beq bt_evt_le_start_enc ,p_mouse_le_ll_start_encryt 
-05d9 c01e060e beq bt_evt_24g_attempt_success ,p_mouse_24g_attempt_success 
-05da c01c8610 beq bt_evt_24g_pairing_complete ,p_mouse_24g_pairing_complete 
-05db c01d0615 beq bt_evt_24g_attempt_fail ,p_mouse_24g_attempt_fail 
-05dc c00a05de beq bt_evt_le_connected ,p_mouse_le_bb_event_connected 
-05dd 20205ac3 branch mouse_priority_bb_event + 2 
+05dd 1a627e00 copy regc ,pdata 
+05de c02005f4 beq bt_evt_le_parse_conn_papa_update_rsp ,p_mouse_le_conn_param_update_rsp_recieved 
+05df c00a85f9 beq bt_evt_le_disconnected ,p_mouse_le_bb_disconnected 
+05e0 c01905ea beq bt_evt_le_start_enc ,p_mouse_le_ll_start_encryt 
+05e1 c01e0616 beq bt_evt_24g_attempt_success ,p_mouse_24g_attempt_success 
+05e2 c01c8618 beq bt_evt_24g_pairing_complete ,p_mouse_24g_pairing_complete 
+05e3 c01d061d beq bt_evt_24g_attempt_fail ,p_mouse_24g_attempt_fail 
+05e4 c00a05e6 beq bt_evt_le_connected ,p_mouse_le_bb_event_connected 
+05e5 20205ac3 branch mouse_priority_bb_event + 2 
 
 p_mouse_le_bb_event_connected:
-05de 58000000 setarg 0 
-05df 67e24d73 store 4 ,mem_le_conn_first_rcv 
-05e0 704b400a jam 10 ,mem_mouse_delay_send_info_timer 
-05e1 20205ad0 branch mouse_le_bb_event_connected 
+05e6 58000000 setarg 0 
+05e7 67e24d78 store 4 ,mem_le_conn_first_rcv 
+05e8 704b400a jam 10 ,mem_mouse_delay_send_info_timer 
+05e9 20205ad0 branch mouse_le_bb_event_connected 
 
 p_mouse_le_ll_start_encryt:
-05e2 704c2e05 jam 5 ,mem_mouse_le_start_auto_reco_timer 
-05e3 6fe0c795 fetch 1 ,mem_mouse_le_reconnect_flag 
-05e4 c00085e7 beq 1 ,p_mouse_le_ll_reconn_start_encryt 
-05e5 70484414 jam 20 ,mem_le_start_encrypt_timer 
-05e6 202005e9 branch p_mouse_le_ll_reconn_start_encryt_new 
+05ea 704c2e05 jam 5 ,mem_mouse_le_start_auto_reco_timer 
+05eb 6fe0c795 fetch 1 ,mem_mouse_le_reconnect_flag 
+05ec c00085ef beq 1 ,p_mouse_le_ll_reconn_start_encryt 
+05ed 70484414 jam 20 ,mem_le_start_encrypt_timer 
+05ee 202005f1 branch p_mouse_le_ll_reconn_start_encryt_new 
 
 p_mouse_le_ll_reconn_start_encryt:
-05e7 20405aef call mouse_updata_le_param 
-05e8 70484405 jam 5 ,mem_le_start_encrypt_timer 
+05ef 20405aef call mouse_updata_le_param 
+05f0 70484405 jam 5 ,mem_le_start_encrypt_timer 
 
 p_mouse_le_ll_reconn_start_encryt_new:
-05e9 6fe0cd72 fetch 1 ,mem_le_conn_rcv_new 
-05ea 67e0cd73 store 1 ,mem_le_conn_first_rcv 
-05eb 20205af6 branch mouse_le_ll_enable_start_enc_flag 
+05f1 6fe0cd77 fetch 1 ,mem_le_conn_rcv_new 
+05f2 67e0cd78 store 1 ,mem_le_conn_first_rcv 
+05f3 20205af6 branch mouse_le_ll_enable_start_enc_flag 
 
 p_mouse_le_conn_param_update_rsp_recieved:
-05ec 6fe0ca04 fetch 1 ,mem_mouse_le_send_conn_param_update 
-05ed 247a0000 nrtn blank 
-05ee 704a0401 jam 1 ,mem_mouse_le_send_conn_param_update 
-05ef 704a051e jam 30 ,mem_mouse_le_send_conn_param_update_timer 
-05f0 20600000 rtn 
+05f4 6fe0ca04 fetch 1 ,mem_mouse_le_send_conn_param_update 
+05f5 247a0000 nrtn blank 
+05f6 704a0401 jam 1 ,mem_mouse_le_send_conn_param_update 
+05f7 704a051e jam 30 ,mem_mouse_le_send_conn_param_update_timer 
+05f8 20600000 rtn 
 
 p_mouse_le_bb_disconnected:
-05f1 58000000 setarg 0 
-05f2 67e0ca04 store 1 ,mem_mouse_le_send_conn_param_update 
-05f3 67e0ca05 store 1 ,mem_mouse_le_send_conn_param_update_timer 
-05f4 58000000 setarg 0 
-05f5 67e147c0 store 2 ,mem_le_battery_level_updata_timer 
-05f6 70479400 jam 0 ,mem_mouse_le_bb_connected_flag 
-05f7 d8400006 arg le_interval_7_5ms ,temp 
-05f8 6fe44713 fetch mouse_flag_len ,mem_mouse_flag 
-05f9 c28d85fb bbit1 mouse_enable_bt_125hz ,p_mouse_le_bb_disconnected_next 
-05fa d8400007 arg le_interval_8_75ms ,temp 
+05f9 58000000 setarg 0 
+05fa 67e0ca04 store 1 ,mem_mouse_le_send_conn_param_update 
+05fb 67e0ca05 store 1 ,mem_mouse_le_send_conn_param_update_timer 
+05fc 58000000 setarg 0 
+05fd 67e147c0 store 2 ,mem_le_battery_level_updata_timer 
+05fe 70479400 jam 0 ,mem_mouse_le_bb_connected_flag 
+05ff d8400006 arg le_interval_7_5ms ,temp 
+0600 6fe44713 fetch mouse_flag_len ,mem_mouse_flag 
+0601 c28d8603 bbit1 mouse_enable_bt_125hz ,p_mouse_le_bb_disconnected_next 
+0602 d8400007 arg le_interval_8_75ms ,temp 
 
 p_mouse_le_bb_disconnected_next:
-05fb 604942d3 storet 2 ,mem_le_interval_min 
-05fc 604942d5 storet 2 ,mem_le_interval_min + 2 
-05fd 7047c200 jam le_lpm_enable ,mem_mouse_le_conn_param_reject 
-05fe 70495600 jam 0 ,mem_mouse_clear_sensor_data_flag 
-05ff 204029cb call le_clr_config_more_data 
+0603 604942d3 storet 2 ,mem_le_interval_min 
+0604 604942d5 storet 2 ,mem_le_interval_min + 2 
+0605 7047c200 jam le_lpm_enable ,mem_mouse_le_conn_param_reject 
+0606 70495600 jam 0 ,mem_mouse_clear_sensor_data_flag 
+0607 204029cb call le_clr_config_more_data 
 
 p_mouse_bb_disconnected:
-0600 20405b7b call mouse_bb_discon_clear_stack 
-0601 6fe143ef fetch app_disc_rsn_size ,mem_app_disconn_reason 
-0602 c2838605 bbit1 app_disc_ble ,p_mouse4_0_event_bb_disconn 
-0603 c28042fc bbit1 app_disc_by_button ,app_disconn_reason_clear 
-0604 20205c1a branch mouse_start_discovery 
+0608 20405b7b call mouse_bb_discon_clear_stack 
+0609 6fe143ef fetch app_disc_rsn_size ,mem_app_disconn_reason 
+060a c283860d bbit1 app_disc_ble ,p_mouse4_0_event_bb_disconn 
+060b c28042fc bbit1 app_disc_by_button ,app_disconn_reason_clear 
+060c 20205c1a branch mouse_start_discovery 
 
 p_mouse4_0_event_bb_disconn:
-0605 6fe143ef fetch app_disc_rsn_size ,mem_app_disconn_reason 
-0606 c28042fc bbit1 app_disc_by_button ,app_disconn_reason_clear 
-0607 6fe0c843 fetch 1 ,mem_le_connect_status_flag 
-0608 1fe17e03 and pdata ,0x03 ,pdata 
-0609 20405b21 call mouse_le_clean_connect_flag 
-060a c081d4a9 bne 0x03 ,mouse_start_reconnect 
-060b 6fe0cd76 fetch 1 ,mem_le_check_retransmit_discon_flag 
-060c 243a54a9 nbranch mouse_start_reconnect ,blank 
-060d 202054cd branch mouse_app_enter_hibernate 
+060d 6fe143ef fetch app_disc_rsn_size ,mem_app_disconn_reason 
+060e c28042fc bbit1 app_disc_by_button ,app_disconn_reason_clear 
+060f 6fe0c843 fetch 1 ,mem_le_connect_status_flag 
+0610 1fe17e03 and pdata ,0x03 ,pdata 
+0611 20405b21 call mouse_le_clean_connect_flag 
+0612 c081d4a9 bne 0x03 ,mouse_start_reconnect 
+0613 6fe0cd7b fetch 1 ,mem_le_check_retransmit_discon_flag 
+0614 243a54a9 nbranch mouse_start_reconnect ,blank 
+0615 202054cd branch mouse_app_enter_hibernate 
 
 p_mouse_24g_attempt_success:
-060e 704c7e01 jam zcode_01 ,mem_zcode_temp_param0 
-060f 20200796 branch p_zcode_entrance 
+0616 704c7e01 jam zcode_01 ,mem_zcode_temp_param0 
+0617 202007bc branch p_zcode_entrance 
 
 p_mouse_24g_pairing_complete:
-0610 704c7e02 jam zcode_02 ,mem_zcode_temp_param0 
-0611 20200796 branch p_zcode_entrance 
+0618 704c7e02 jam zcode_02 ,mem_zcode_temp_param0 
+0619 202007bc branch p_zcode_entrance 
 
 p_mouse_fetch_normal_tx_power:
-0612 6fe0ca07 fetch 1 ,mem_normal_tx_power 
-0613 67e0c141 store 1 ,mem_tx_power 
-0614 20206016 branch mouse_soft_agc_disable 
+061a 6fe0ca07 fetch 1 ,mem_normal_tx_power 
+061b 67e0c141 store 1 ,mem_tx_power 
+061c 20206016 branch mouse_soft_agc_disable 
 
 p_mouse_24g_attempt_fail:
-0615 704c7e40 jam zcode_40 ,mem_zcode_temp_param0 
-0616 20200796 branch p_zcode_entrance 
+061d 704c7e40 jam zcode_40 ,mem_zcode_temp_param0 
+061e 202007bc branch p_zcode_entrance 
 
 p_mouse_24g_first_bluetooth_reconnect:
-0617 20406018 call mouse_24g_stop 
-0618 70466601 jam mode_bt_device1 ,mem_device_flag 
-0619 20205491 branch mouse_le_fast_conn_judge 
+061f 20406018 call mouse_24g_stop 
+0620 70466601 jam mode_bt_device1 ,mem_device_flag 
+0621 20205491 branch mouse_le_fast_conn_judge 
 
 p_mouse_start_work:
-061a 704c7e00 jam zcode_00 ,mem_zcode_temp_param0 
-061b 20200796 branch p_zcode_entrance 
+0622 704c7e00 jam zcode_00 ,mem_zcode_temp_param0 
+0623 202007bc branch p_zcode_entrance 
 
 p_mouse_idle:
-061c 20400715 call p_mouse_rgb_20ms_timer 
-061d 20400334 call p_mouse_send_http_data_timer 
-061e 2040620e call mouse_low_voltage_led_no_enter_lpm 
-061f 204078aa call ui_check_paring_button 
-0620 20400624 call p_mouse_dpi_check 
-0621 20205e61 branch mouse_idle + 4 
+0624 2040073b call p_mouse_rgb_20ms_timer 
+0625 20400334 call p_mouse_send_http_data_timer 
+0626 2040620e call mouse_low_voltage_led_no_enter_lpm 
+0627 204078aa call ui_check_paring_button 
+0628 20400648 call p_mouse_dpi_check 
+0629 2040062b call p_mouse_ai_key_check 
+062a 20205e61 branch mouse_idle + 4 
+
+p_mouse_ai_key_check:
+062b 6fe0cc99 fetch 1 ,mem_mouse_ai_key_gpio 
+062c 20405943 call mouse_gpio_config_output_high 
+062d 70497708 jam mouse_ai_key ,mem_mouse_key_temp 
+062e 6848cc99 fetcht 1 ,mem_mouse_ai_key_gpio 
+062f 6fe0cc9a fetch 1 ,mem_mouse_aikey_press_status 
+0630 20405925 call mouse_check_key_connect_gnd 
+0631 67e0cc9a store 1 ,mem_mouse_aikey_press_status 
+0632 6848cc99 fetcht 1 ,mem_mouse_ai_key_gpio 
+0633 204055b5 call mouse_gpio_config_input_pu 
+0634 1a227e00 copy rega ,pdata 
+0635 c2840642 bbit1 mouse_ai_key ,p_mouse_ai_key_down 
+
+p_mouse_ai_key_up:
+0636 6fe0cc9b fetch 1 ,mem_mouse_ai_button_state 
+0637 c1000000 rtneq ai_button_state_up 
+0638 704c9b00 jam ai_button_state_up ,mem_mouse_ai_button_state 
+0639 6fe0cc9d fetch 1 ,mem_mouse_ai_long_press_flag 
+063a 243a063e nbranch p_mouse_ai_up_after_long_press ,blank 
+063b 6fe0cc9c fetch 1 ,mem_ai_button_count 
+063c 1fe67c14 sub pdata ,20 ,null 
+063d 24410661 ncall p_mouse_send_dpi_long_press_info ,positive 
+
+p_mouse_ai_up_after_long_press:
+063e 70487b00 jam 0 ,mem_mouse_dpi_long_press_flag 
+063f 6fe0c4eb fetch 1 ,mem_ui_button_timeout 
+0640 67e0cc9c store 1 ,mem_ai_button_count 
+0641 20600000 rtn 
+
+p_mouse_ai_key_down:
+0642 6fe0cc9b fetch 1 ,mem_mouse_ai_button_state 
+0643 c1008000 rtneq ai_button_state_down 
+0644 704c9b01 jam ai_button_state_down ,mem_mouse_ai_button_state 
+0645 20600000 rtn 
 
 p_mouse_dpi_check_retransmit:
-0622 6fe44713 fetch mouse_flag_len ,mem_mouse_flag 
-0623 c4140000 rtnbit0 mouse_enable_select_device_by_dpi_button 
+0646 6fe44713 fetch mouse_flag_len ,mem_mouse_flag 
+0647 c4140000 rtnbit0 mouse_enable_select_device_by_dpi_button 
 
 p_mouse_dpi_check:
-0624 6fe0c649 fetch 1 ,mem_dpi_button_gpio 
-0625 c17f8000 rtneq gpio_disable 
-0626 da200000 arg 0 ,rega 
-0627 70497705 jam mouse_dpi_key ,mem_mouse_key_temp 
-0628 6848c649 fetcht 1 ,mem_dpi_button_gpio 
-0629 20400642 call p_mouse_dpi_key_check 
-062a 67e0c974 store 1 ,mem_mouse_dpikey_press_status 
-062b 6fe0c654 fetch 1 ,mem_matrix_public_gpio 
-062c c07f863f beq gpio_disable ,p_mouse_3io6key_dpi_check_end 
-062d 204058df call mouse_matrix_public_gpio_reset 
+0648 6fe0c649 fetch 1 ,mem_dpi_button_gpio 
+0649 c17f8000 rtneq gpio_disable 
+064a da200000 arg 0 ,rega 
+064b 70497705 jam mouse_dpi_key ,mem_mouse_key_temp 
+064c 6848c649 fetcht 1 ,mem_dpi_button_gpio 
+064d 20400668 call p_mouse_dpi_key_check 
+064e 67e0c974 store 1 ,mem_mouse_dpikey_press_status 
+064f 6fe0c654 fetch 1 ,mem_matrix_public_gpio 
+0650 c07f8665 beq gpio_disable ,p_mouse_3io6key_dpi_check_end 
+0651 204058df call mouse_matrix_public_gpio_reset 
 
 p_mouse_dpi_check_exit:
-062e 1a227e00 copy rega ,pdata 
-062f c282d6e0 bbit1 mouse_dpi_key ,mouse_dpi_down 
+0652 1a227e00 copy rega ,pdata 
+0653 c282d6e0 bbit1 mouse_dpi_key ,mouse_dpi_down 
 
 p_mouse_dpi_up:
-0630 20400635 call p_mouse_dpi_state_check 
-0631 6fe0c87a fetch 1 ,mem_mouse_dpi_button_state 
-0632 c1000000 rtneq dpi_button_state_up 
-0633 70487a00 jam dpi_button_state_up ,mem_mouse_dpi_button_state 
-0634 202056ea branch mouse_dpi_up + 3 
+0654 20400659 call p_mouse_dpi_state_check 
+0655 6fe0c87a fetch 1 ,mem_mouse_dpi_button_state 
+0656 c1000000 rtneq dpi_button_state_up 
+0657 70487a00 jam dpi_button_state_up ,mem_mouse_dpi_button_state 
+0658 202056ea branch mouse_dpi_up + 3 
 
 p_mouse_dpi_state_check:
-0635 6fe0c87a fetch 1 ,mem_mouse_dpi_button_state 
-0636 c1800000 rtnne dpi_button_state_up 
-0637 6fe0cb25 fetch 1 ,mem_mouse_tx_dpi_state 
-0638 c07f863d beq long_press ,p_g24_send_dpi_long_release_info 
-0639 c055063b beq press ,p_g24_send_dpi_release_info 
-063a 20600000 rtn 
+0659 6fe0c87a fetch 1 ,mem_mouse_dpi_button_state 
+065a c1800000 rtnne dpi_button_state_up 
+065b 6fe0cb25 fetch 1 ,mem_mouse_tx_dpi_state 
+065c c07f8663 beq long_press ,p_g24_send_dpi_long_release_info 
+065d c055065f beq press ,p_g24_send_dpi_release_info 
+065e 20600000 rtn 
 
 p_g24_send_dpi_release_info:
-063b 704b2555 jam release ,mem_mouse_tx_dpi_state 
-063c 202000cd branch p_mouse_send_dpi_info_enable 
+065f 704b2555 jam release ,mem_mouse_tx_dpi_state 
+0660 202000cd branch p_mouse_send_dpi_info_enable 
+
+p_mouse_send_dpi_long_press_info:
+0661 704b25ff jam long_press ,mem_mouse_tx_dpi_state 
+0662 202000d0 branch p_mouse_send_app_info_enable 
 
 p_g24_send_dpi_long_release_info:
-063d 704b25ee jam long_release ,mem_mouse_tx_dpi_state 
-063e 202000d0 branch p_mouse_send_app_info_enable 
+0663 704b25ee jam long_release ,mem_mouse_tx_dpi_state 
+0664 202000d0 branch p_mouse_send_app_info_enable 
 
 p_mouse_3io6key_dpi_check_end:
-063f 6848c649 fetcht 1 ,mem_dpi_button_gpio 
-0640 204055b5 call mouse_gpio_config_input_pu 
-0641 2020062e branch p_mouse_dpi_check_exit 
+0665 6848c649 fetcht 1 ,mem_dpi_button_gpio 
+0666 204055b5 call mouse_gpio_config_input_pu 
+0667 20200652 branch p_mouse_dpi_check_exit 
 
 p_mouse_dpi_key_check:
-0642 6fe44713 fetch mouse_flag_len ,mem_mouse_flag 
-0643 c295d6de bbit1 mouse_enable_dpi_key_connect_gnd ,mouse_dpi_key_connect_gnd 
-0644 6fe0c974 fetch 1 ,mem_mouse_dpikey_press_status 
-0645 1fe22600 copy pdata ,regc 
-0646 6fe0c654 fetch 1 ,mem_matrix_public_gpio 
-0647 c07f8649 beq gpio_disable ,p_mouse_3io6key_dpi_check 
-0648 202056ce branch mouse_dpi_key_check_next 
+0668 6fe44713 fetch mouse_flag_len ,mem_mouse_flag 
+0669 c295d6de bbit1 mouse_enable_dpi_key_connect_gnd ,mouse_dpi_key_connect_gnd 
+066a 6fe0c974 fetch 1 ,mem_mouse_dpikey_press_status 
+066b 1fe22600 copy pdata ,regc 
+066c 6fe0c654 fetch 1 ,mem_matrix_public_gpio 
+066d c07f866f beq gpio_disable ,p_mouse_3io6key_dpi_check 
+066e 202056ce branch mouse_dpi_key_check_next 
 
 p_mouse_3io6key_dpi_check:
-0649 6fe0c649 fetch 1 ,mem_dpi_button_gpio 
-064a 20405946 call mouse_gpio_config_output_low 
-064b 6848c649 fetcht 1 ,mem_dpi_button_gpio 
-064c 2020064d branch p_mouse_3io6key_check 
+066f 6fe0c649 fetch 1 ,mem_dpi_button_gpio 
+0670 20405946 call mouse_gpio_config_output_low 
+0671 6848c649 fetcht 1 ,mem_dpi_button_gpio 
+0672 20200673 branch p_mouse_3io6key_check 
 
 p_mouse_3io6key_check:
-064d 1a627e00 copy regc ,pdata 
-064e 67e0c978 store 1 ,mem_mouse_key_status 
-064f 1fe3fe00 lshift pdata ,pdata 
-0650 1fe22400 copy pdata ,regb 
-0651 18422600 copy temp ,regc 
-0652 20406ef7 call gpio_out_active 
-0653 1a620400 copy regc ,temp 
-0654 204055b1 call mouse_gpio_config_input_pd 
-0655 1a620400 copy regc ,temp 
-0656 20406ee6 call gpio_get_bit 
-0657 7d20a400 nsetflag true ,0 ,regb 
-0658 2040593d call mouse_check_press 
-0659 20205929 branch mouse_check_key_connect_gnd_1 
+0673 1a627e00 copy regc ,pdata 
+0674 67e0c978 store 1 ,mem_mouse_key_status 
+0675 1fe3fe00 lshift pdata ,pdata 
+0676 1fe22400 copy pdata ,regb 
+0677 18422600 copy temp ,regc 
+0678 20406ef7 call gpio_out_active 
+0679 1a620400 copy regc ,temp 
+067a 204055b1 call mouse_gpio_config_input_pd 
+067b 1a620400 copy regc ,temp 
+067c 20406ee6 call gpio_get_bit 
+067d 7d20a400 nsetflag true ,0 ,regb 
+067e 2040593d call mouse_check_press 
+067f 20205929 branch mouse_check_key_connect_gnd_1 
 
 p_g24_short_sleep:
-065a 204036b4 call g24_lpm_wait 
-065b 24740000 nrtn user 
-065c 204036be call g24_setgpio_lpm_before 
-065d 2040065f call p_clear_wake 
-065e 2020361b branch g24_short_sleep_next 
+0680 204036b4 call g24_lpm_wait 
+0681 24740000 nrtn user 
+0682 204036be call g24_setgpio_lpm_before 
+0683 20400685 call p_clear_wake 
+0684 2020361b branch g24_short_sleep_next 
 
 p_clear_wake:
-065f 58000000 setarg 0 
-0660 67e40016 store 8 ,mem_gpio_wakeup_cfg 
-0661 67e2001e store 4 ,mem_gpio_wakeup_cfg + 8 
-0662 20600000 rtn 
+0685 58000000 setarg 0 
+0686 67e40016 store 8 ,mem_gpio_wakeup_cfg 
+0687 67e2001e store 4 ,mem_gpio_wakeup_cfg + 8 
+0688 20600000 rtn 
 
 p_mouse_24g_hibernate_set:
-0663 704c7e30 jam zcode_30 ,mem_zcode_temp_param0 
-0664 20200796 branch p_zcode_entrance 
+0689 704c7e30 jam zcode_30 ,mem_zcode_temp_param0 
+068a 202007bc branch p_zcode_entrance 
 
 p_mouse_setgpio_hibernate:
-0665 704c7e31 jam zcode_31 ,mem_zcode_temp_param0 
-0666 20200796 branch p_zcode_entrance 
+068b 704c7e31 jam zcode_31 ,mem_zcode_temp_param0 
+068c 202007bc branch p_zcode_entrance 
 
 p_mouse_tx_device_info_check:
-0667 6fe0cb24 fetch 1 ,mem_device_tx_device_info_flag 
-0668 207a0000 rtn blank 
-0669 20207dba branch enable_user 
+068d 6fe0cb24 fetch 1 ,mem_device_tx_device_info_flag 
+068e 207a0000 rtn blank 
+068f 20207dba branch enable_user 
 
 p_mouse_24g_package_data:
-066a c6930000 rtnmark0 mark_24g 
-066b 20405601 call mouse_motion 
-066c 20400667 call p_mouse_tx_device_info_check 
-066d 24740000 nrtn user 
-066e 6fe0c77c fetch 1 ,mem_mouse_24g_long_sleep_flag 
-066f 70477c00 jam 0 ,mem_mouse_24g_long_sleep_flag 
-0670 245a0683 ncall p_mouse_24g_short_sleep_clear_wake ,blank 
-0671 6fe44713 fetch mouse_flag_len ,mem_mouse_flag 
-0672 c30b0675 bbit0 mouse_enable_keyboard ,p_mouse_24g_mouse_package_data 
-0673 6fe0c96c fetch 1 ,mem_customer_key 
-0674 243a60b6 nbranch mouse_24g_keyboard_package_data ,blank 
+0690 c6930000 rtnmark0 mark_24g 
+0691 20405601 call mouse_motion 
+0692 2040068d call p_mouse_tx_device_info_check 
+0693 24740000 nrtn user 
+0694 6fe0c77c fetch 1 ,mem_mouse_24g_long_sleep_flag 
+0695 70477c00 jam 0 ,mem_mouse_24g_long_sleep_flag 
+0696 245a06a9 ncall p_mouse_24g_short_sleep_clear_wake ,blank 
+0697 6fe44713 fetch mouse_flag_len ,mem_mouse_flag 
+0698 c30b069b bbit0 mouse_enable_keyboard ,p_mouse_24g_mouse_package_data 
+0699 6fe0c96c fetch 1 ,mem_customer_key 
+069a 243a60b6 nbranch mouse_24g_keyboard_package_data ,blank 
 
 p_mouse_24g_mouse_package_data:
-0675 2040067a call p_mouse_data_xy_release 
-0676 204060a2 call mouse_24g_mouse_package_data + 1 
-0677 6fe0c094 fetch 1 ,mem_lpm_mode 
-0678 247a0000 nrtn blank 
-0679 202036db branch g24_transmit_by_interrupt_enable 
+069b 204006a0 call p_mouse_data_xy_release 
+069c 204060a2 call mouse_24g_mouse_package_data + 1 
+069d 6fe0c094 fetch 1 ,mem_lpm_mode 
+069e 247a0000 nrtn blank 
+069f 202036db branch g24_transmit_by_interrupt_enable 
 
 p_mouse_data_xy_release:
-067a 6fe0c659 fetch 1 ,mem_sensor_motion_gpio 
-067b c1ff8000 rtnne gpio_disable 
-067c 6fe0c77d fetch 1 ,mem_mouse_long_mult_flag 
-067d 207a0000 rtn blank 
-067e 1fe0ffff increase -1 ,pdata 
-067f 67e0c77d store 1 ,mem_mouse_long_mult_flag 
-0680 58000000 setarg 0 
-0681 67e24847 store 4 ,mem_mouse_x 
-0682 20205a73 branch mouse_init_sensor_reset 
+06a0 6fe0c659 fetch 1 ,mem_sensor_motion_gpio 
+06a1 c1ff8000 rtnne gpio_disable 
+06a2 6fe0c77d fetch 1 ,mem_mouse_long_mult_flag 
+06a3 207a0000 rtn blank 
+06a4 1fe0ffff increase -1 ,pdata 
+06a5 67e0c77d store 1 ,mem_mouse_long_mult_flag 
+06a6 58000000 setarg 0 
+06a7 67e24847 store 4 ,mem_mouse_x 
+06a8 20205a73 branch mouse_init_sensor_reset 
 
 p_mouse_24g_short_sleep_clear_wake:
-0683 204000c7 call p_mouse_send_device_info_enable 
-0684 2040065f call p_clear_wake 
-0685 202004e5 branch p_lpm_write_gpio_wakeup 
+06a9 204000c7 call p_mouse_send_device_info_enable 
+06aa 20400685 call p_clear_wake 
+06ab 202004e5 branch p_lpm_write_gpio_wakeup 
 
 p_mouse_le_name_modify:
-0686 704c7e10 jam zcode_10 ,mem_zcode_temp_param0 
-0687 20200796 branch p_zcode_entrance 
+06ac 704c7e10 jam zcode_10 ,mem_zcode_temp_param0 
+06ad 202007bc branch p_zcode_entrance 
 
 p_mouse_init_sensor:
-0688 20405958 call mouse_read_sensor_id 
-0689 c0180694 beq p32xx_id1 ,p_mouse_init_p32xx_id2_judge 
-068a c018d9c6 beq p3065_id1 ,mouse_init_p3065 
-068b c02c068d beq pka8g2_id1 ,p_mouse_ka8g2_id2_judge 
-068c 20205952 branch mouse_init_sensor + 5 
+06ae 20405958 call mouse_read_sensor_id 
+06af c01806ba beq p32xx_id1 ,p_mouse_init_p32xx_id2_judge 
+06b0 c018d9c6 beq p3065_id1 ,mouse_init_p3065 
+06b1 c02c06b3 beq pka8g2_id1 ,p_mouse_ka8g2_id2_judge 
+06b2 20205952 branch mouse_init_sensor + 5 
 
 p_mouse_ka8g2_id2_judge:
-068d 204059e7 call mouse_sensor_poweron 
-068e 6fe0c85a fetch 1 ,mem_sensor_id2 
-068f c02c8691 beq pka8g2_id2 ,p_mouse_ka8g2_init_param 
-0690 2020595f branch mouse_init_p32xx_id2_judge 
+06b3 204059e7 call mouse_sensor_poweron 
+06b4 6fe0c85a fetch 1 ,mem_sensor_id2 
+06b5 c02c86b7 beq pka8g2_id2 ,p_mouse_ka8g2_init_param 
+06b6 2020595f branch mouse_init_p32xx_id2_judge 
 
 p_mouse_ka8g2_init_param:
-0691 7049570b jam ka8g2 ,mem_config_sensor_type 
-0692 da604a0b arg mem_sensor_ka8g2_init_new ,regc 
-0693 20205995 branch mouse_sensor_wr_seq 
+06b7 7049570b jam ka8g2 ,mem_config_sensor_type 
+06b8 da604a0b arg mem_sensor_ka8g2_init_new ,regc 
+06b9 20205995 branch mouse_sensor_wr_seq 
 
 p_mouse_init_p32xx_id2_judge:
-0694 6fe0c85a fetch 1 ,mem_sensor_id2 
-0695 1fe17ef0 and_into 0xf0 ,pdata 
-0696 c0600698 beq p3204_tjdm_id2 ,p_mouse_p3204_tjdm_init_param 
-0697 2020595f branch mouse_init_p32xx_id2_judge 
+06ba 6fe0c85a fetch 1 ,mem_sensor_id2 
+06bb 1fe17ef0 and_into 0xf0 ,pdata 
+06bc c06006be beq p3204_tjdm_id2 ,p_mouse_p3204_tjdm_init_param 
+06bd 2020595f branch mouse_init_p32xx_id2_judge 
 
 p_mouse_p3204_tjdm_init_param:
-0698 58000049 setarg 0x49 
-0699 204069e5 call twspi_read 
-069a c050d96c beq 0xa1 ,mouse_s201x_init_param 
-069b 202059cd branch mouse_p3065xy_init_param 
+06be 58000049 setarg 0x49 
+06bf 204069e5 call twspi_read 
+06c0 c050d96c beq 0xa1 ,mouse_s201x_init_param 
+06c1 202059cd branch mouse_p3065xy_init_param 
 
 p_mouse_dpi_process:
-069c 20405728 call mouse_dpi_ghost_check 
-069d 20740000 rtn user 
-069e 6fe0c957 fetch 1 ,mem_config_sensor_type 
-069f 202056fa branch mouse_dpi_process + 3 
+06c2 20405728 call mouse_dpi_ghost_check 
+06c3 20740000 rtn user 
+06c4 6fe0c957 fetch 1 ,mem_config_sensor_type 
+06c5 202056fa branch mouse_dpi_process + 3 
 
 p_mouse_setting_dpi_4_level:
-06a0 6fe0c957 fetch 1 ,mem_config_sensor_type 
-06a1 c1018000 rtneq p3212 
-06a2 2020573e branch mouse_setting_dpi_4_level 
+06c6 6fe0c957 fetch 1 ,mem_config_sensor_type 
+06c7 c1018000 rtneq p3212 
+06c8 2020573e branch mouse_setting_dpi_4_level 
 
 p_mouse_setting_dpi:
-06a3 204006a0 call p_mouse_setting_dpi_4_level 
-06a4 704b25aa jam press ,mem_mouse_tx_dpi_state 
-06a5 204000cd call p_mouse_send_dpi_info_enable 
-06a6 2040613a call mouse_dpi_led_blink_delay 
+06c9 204006c6 call p_mouse_setting_dpi_4_level 
+06ca 704b25aa jam press ,mem_mouse_tx_dpi_state 
+06cb 204000cd call p_mouse_send_dpi_info_enable 
+06cc 2040613a call mouse_dpi_led_blink_delay 
 
 p_mouse_setting_sensor_type:
-06a7 6fe0c957 fetch 1 ,mem_config_sensor_type 
-06a8 c00606aa beq s201x ,p_mouse_seting_s201_dpi 
-06a9 20205749 branch mouse_setting_sensor_type + 2 
+06cd 6fe0c957 fetch 1 ,mem_config_sensor_type 
+06ce c00606d0 beq s201x ,p_mouse_seting_s201_dpi 
+06cf 20205749 branch mouse_setting_sensor_type + 2 
 
 p_mouse_seting_s201_dpi:
-06aa 6fe0c690 fetch 1 ,mem_mouse_dpi 
-06ab c000576f beq mouse_dpi_level1 ,mouse_set_s201_dpi_0 
-06ac c000d772 beq mouse_dpi_level2 ,mouse_set_s201_dpi_1 
-06ad c001577b beq mouse_dpi_level3 ,mouse_set_s201_dpi_4 
-06ae 2020576f branch mouse_set_s201_dpi_0 
+06d0 6fe0c690 fetch 1 ,mem_mouse_dpi 
+06d1 c000576f beq mouse_dpi_level1 ,mouse_set_s201_dpi_0 
+06d2 c000d772 beq mouse_dpi_level2 ,mouse_set_s201_dpi_1 
+06d3 c001577b beq mouse_dpi_level3 ,mouse_set_s201_dpi_4 
+06d4 2020576f branch mouse_set_s201_dpi_0 
 
 p_mouse_check_sensor_data:
-06af 6fe0c420 fetch 1 ,mem_spi_write_flash_sm 
-06b0 c1800000 rtnne flash_sm_no_buys 
-06b1 6fe0c957 fetch 1 ,mem_config_sensor_type 
-06b2 c00586b4 beq ka8g2 ,p_mouse_pka8g2_sensor_motion 
-06b3 202059f8 branch mouse_check_sensor_data + 2 
+06d5 6fe0c420 fetch 1 ,mem_spi_write_flash_sm 
+06d6 c1800000 rtnne flash_sm_no_buys 
+06d7 6fe0c957 fetch 1 ,mem_config_sensor_type 
+06d8 c00586da beq ka8g2 ,p_mouse_pka8g2_sensor_motion 
+06d9 202059f8 branch mouse_check_sensor_data + 2 
 
 p_mouse_pka8g2_sensor_motion:
-06b4 20405a6d call mouse_clear_sensor_data 
-06b5 6fe0c659 fetch 1 ,mem_sensor_motion_gpio 
-06b6 c07f86ba beq gpio_disable ,p_mouse_pka8g2_sensor_motion_1 
-06b7 6848c659 fetcht 1 ,mem_sensor_motion_gpio 
-06b8 20406ee6 call gpio_get_bit 
-06b9 24608000 nrtn true 
+06da 20405a6d call mouse_clear_sensor_data 
+06db 6fe0c659 fetch 1 ,mem_sensor_motion_gpio 
+06dc c07f86e0 beq gpio_disable ,p_mouse_pka8g2_sensor_motion_1 
+06dd 6848c659 fetcht 1 ,mem_sensor_motion_gpio 
+06de 20406ee6 call gpio_get_bit 
+06df 24608000 nrtn true 
 
 p_mouse_pka8g2_sensor_motion_1:
-06ba 58000000 setarg pan_reg_pid_l 
-06bb 204069e5 call twspi_read 
-06bc c0ac5955 bne pka8g2_id1 ,mouse_twspi_reset 
-06bd 20205a2f branch mouse_p3212_sensor_motion_2 
+06e0 58000000 setarg pan_reg_pid_l 
+06e1 204069e5 call twspi_read 
+06e2 c0ac5955 bne pka8g2_id1 ,mouse_twspi_reset 
+06e3 20205a2f branch mouse_p3212_sensor_motion_2 
 
 p_mouse_motion:
-06be 78547c00 disable user 
-06bf 6fe0c6f8 fetch 1 ,mem_mouse_search_dongle_action 
-06c0 c3800000 rtnbit1 g24_disconn_state 
-06c1 58000000 setarg 0 
-06c2 67e34847 store 6 ,mem_mouse_x 
-06c3 204006af call p_mouse_check_sensor_data 
-06c4 58000089 setarg 0x0089 
-06c5 204069e4 call twspi_write 
-06c6 20405612 call mouse_zwheel 
-06c7 20405617 call mouse_t_zwheel 
-06c8 204006d5 call p_mouse_key 
-06c9 6fe0c846 fetch 1 ,mem_mouse_key 
-06ca 1fe17e1f and_into 0x1f ,pdata 
-06cb 67e0c846 store 1 ,mem_mouse_key 
-06cc 243406d0 nbranch p_mouse_drawing_optima_init ,user 
-06cd 704b2301 jam 1 ,mem_24g_rf_data_flag 
-06ce 20405f26 call mouse_drawing_optima 
-06cf 20205c0b branch mouse_no_data_timer_init 
+06e4 78547c00 disable user 
+06e5 6fe0c6f8 fetch 1 ,mem_mouse_search_dongle_action 
+06e6 c3800000 rtnbit1 g24_disconn_state 
+06e7 58000000 setarg 0 
+06e8 67e34847 store 6 ,mem_mouse_x 
+06e9 204006d5 call p_mouse_check_sensor_data 
+06ea 58000089 setarg 0x0089 
+06eb 204069e4 call twspi_write 
+06ec 20405612 call mouse_zwheel 
+06ed 20405617 call mouse_t_zwheel 
+06ee 204006fb call p_mouse_key 
+06ef 6fe0c846 fetch 1 ,mem_mouse_key 
+06f0 1fe17e1f and_into 0x1f ,pdata 
+06f1 67e0c846 store 1 ,mem_mouse_key 
+06f2 243406f6 nbranch p_mouse_drawing_optima_init ,user 
+06f3 704b2301 jam 1 ,mem_24g_rf_data_flag 
+06f4 20405f26 call mouse_drawing_optima 
+06f5 20205c0b branch mouse_no_data_timer_init 
 
 p_mouse_drawing_optima_init:
-06d0 704b2300 jam 0 ,mem_24g_rf_data_flag 
-06d1 20205f37 branch mouse_drawing_optima_init 
+06f6 704b2300 jam 0 ,mem_24g_rf_data_flag 
+06f7 20205f37 branch mouse_drawing_optima_init 
 
 p_mouse_drawing_optima:
-06d2 6fe0c957 fetch 1 ,mem_config_sensor_type 
-06d3 c1058000 rtneq ka8g2 
-06d4 20205f27 branch mouse_drawing_optima + 1 
+06f8 6fe0c957 fetch 1 ,mem_config_sensor_type 
+06f9 c1058000 rtneq ka8g2 
+06fa 20205f27 branch mouse_drawing_optima + 1 
 
 p_mouse_key:
-06d5 2040584c call mouse_check_firekey_gpio 
-06d6 6fe0c987 fetch 1 ,mem_fire_key_flag 
-06d7 243a5860 nbranch fire_key_press ,blank 
-06d8 6fe0c982 fetch 1 ,mem_fire_key_status 
-06d9 243a585f nbranch fire_key_process ,blank 
-06da 20405888 call mouse_check_key_gpio 
-06db 204006de call p_mouse_m_key_press_check 
-06dc 204006e9 call p_mouse_ghost_key_check 
-06dd 202057ad branch mouse_key + 7 
+06fb 2040584c call mouse_check_firekey_gpio 
+06fc 6fe0c987 fetch 1 ,mem_fire_key_flag 
+06fd 243a5860 nbranch fire_key_press ,blank 
+06fe 6fe0c982 fetch 1 ,mem_fire_key_status 
+06ff 243a585f nbranch fire_key_process ,blank 
+0700 20405888 call mouse_check_key_gpio 
+0701 20400704 call p_mouse_m_key_press_check 
+0702 2040070f call p_mouse_ghost_key_check 
+0703 202057ad branch mouse_key + 7 
 
 p_mouse_m_key_press_check:
-06de 1a227e00 copy rega ,pdata 
-06df c00206e5 beq mouse_m_button ,p_mouse_m_key_press 
+0704 1a227e00 copy rega ,pdata 
+0705 c002070b beq mouse_m_button ,p_mouse_m_key_press 
 
 p_mouse_m_key_release:
-06e0 6fe0cb41 fetch 1 ,mem_mouse_m_key_press_flag 
-06e1 207a0000 rtn blank 
-06e2 704b4100 jam 0 ,mem_mouse_m_key_press_flag 
-06e3 704b421e jam 30 ,mem_mouse_m_key_press_count 
-06e4 20600000 rtn 
+0706 6fe0cb41 fetch 1 ,mem_mouse_m_key_press_flag 
+0707 207a0000 rtn blank 
+0708 704b4100 jam 0 ,mem_mouse_m_key_press_flag 
+0709 704b421e jam 30 ,mem_mouse_m_key_press_count 
+070a 20600000 rtn 
 
 p_mouse_m_key_press:
-06e5 6fe0cb41 fetch 1 ,mem_mouse_m_key_press_flag 
-06e6 247a0000 nrtn blank 
-06e7 704b4101 jam 1 ,mem_mouse_m_key_press_flag 
-06e8 20600000 rtn 
+070b 6fe0cb41 fetch 1 ,mem_mouse_m_key_press_flag 
+070c 247a0000 nrtn blank 
+070d 704b4101 jam 1 ,mem_mouse_m_key_press_flag 
+070e 20600000 rtn 
 
 p_mouse_ghost_key_check:
-06e9 70497900 jam 0 ,mem_mouse_matrix_key_cow_count 
-06ea 70497a00 jam 0 ,mem_mouse_matrix_key_row_count 
-06eb 70497b00 jam 0 ,mem_mouse_ghost_flag 
-06ec 1fe22400 copy pdata ,regb 
-06ed 6848c644 fetcht 1 ,mem_lbutton_gpio 
-06ee 6fe0c647 fetch 1 ,mem_bk_button_gpio 
-06ef 98467c00 isub temp ,null 
-06f0 202286fb branch p_mouse_matrix_ghost_key_l_bk ,zero 
-06f1 6fe0c648 fetch 1 ,mem_fw_button_gpio 
-06f2 98467c00 isub temp ,null 
-06f3 20228701 branch p_mouse_matrix_ghost_key_l_fw ,zero 
-06f4 6848c645 fetcht 1 ,mem_mbutton_gpio 
-06f5 6fe0c647 fetch 1 ,mem_bk_button_gpio 
-06f6 98467c00 isub temp ,null 
-06f7 2022870a branch p_mouse_ghost_key_mbk_rfw ,zero 
+070f 70497900 jam 0 ,mem_mouse_matrix_key_cow_count 
+0710 70497a00 jam 0 ,mem_mouse_matrix_key_row_count 
+0711 70497b00 jam 0 ,mem_mouse_ghost_flag 
+0712 1fe22400 copy pdata ,regb 
+0713 6848c644 fetcht 1 ,mem_lbutton_gpio 
+0714 6fe0c647 fetch 1 ,mem_bk_button_gpio 
+0715 98467c00 isub temp ,null 
+0716 20228721 branch p_mouse_matrix_ghost_key_l_bk ,zero 
+0717 6fe0c648 fetch 1 ,mem_fw_button_gpio 
+0718 98467c00 isub temp ,null 
+0719 20228727 branch p_mouse_matrix_ghost_key_l_fw ,zero 
+071a 6848c645 fetcht 1 ,mem_mbutton_gpio 
+071b 6fe0c647 fetch 1 ,mem_bk_button_gpio 
+071c 98467c00 isub temp ,null 
+071d 20228730 branch p_mouse_ghost_key_mbk_rfw ,zero 
 
 p_mouse_ghost_key_mfw_rbk:
-06f8 204057fb call mouse_ghost_key_check_m_fw 
+071e 204057fb call mouse_ghost_key_check_m_fw 
 
 p_mouse_ghost_key_rbk:
-06f9 2040070f call p_mouse_ghost_key_check_r_bk 
-06fa 202057e5 branch mouse_ghost_key_check_next 
+071f 20400735 call p_mouse_ghost_key_check_r_bk 
+0720 202057e5 branch mouse_ghost_key_check_next 
 
 p_mouse_matrix_ghost_key_l_bk:
-06fb 6848c645 fetcht 1 ,mem_mbutton_gpio 
-06fc 6fe0c648 fetch 1 ,mem_fw_button_gpio 
-06fd 98467c00 isub temp ,null 
-06fe 2022d7d6 branch mouse_ghost_key_lbk_mfw ,zero 
+0721 6848c645 fetcht 1 ,mem_mbutton_gpio 
+0722 6fe0c648 fetch 1 ,mem_fw_button_gpio 
+0723 98467c00 isub temp ,null 
+0724 2022d7d6 branch mouse_ghost_key_lbk_mfw ,zero 
 
 p_mouse_ghost_key_lbk_rfw:
-06ff 204057ef call mouse_ghost_key_check_l_bk 
-0700 2020070b branch p_mouse_ghost_key_rfw 
+0725 204057ef call mouse_ghost_key_check_l_bk 
+0726 20200731 branch p_mouse_ghost_key_rfw 
 
 p_mouse_matrix_ghost_key_l_fw:
-0701 6848c645 fetcht 1 ,mem_mbutton_gpio 
-0702 6fe0c647 fetch 1 ,mem_bk_button_gpio 
-0703 98467c00 isub temp ,null 
-0704 20228707 branch p_mouse_ghost_key_lfw_mbk ,zero 
+0727 6848c645 fetcht 1 ,mem_mbutton_gpio 
+0728 6fe0c647 fetch 1 ,mem_bk_button_gpio 
+0729 98467c00 isub temp ,null 
+072a 2022872d branch p_mouse_ghost_key_lfw_mbk ,zero 
 
 p_mouse_ghost_key_lfw_rbk:
-0705 20400711 call p_mouse_ghost_key_check_l_fw 
-0706 202006f9 branch p_mouse_ghost_key_rbk 
+072b 20400737 call p_mouse_ghost_key_check_l_fw 
+072c 2020071f branch p_mouse_ghost_key_rbk 
 
 p_mouse_ghost_key_lfw_mbk:
-0707 20400711 call p_mouse_ghost_key_check_l_fw 
-0708 2040070d call p_mouse_ghost_key_check_m_bk 
-0709 202057e5 branch mouse_ghost_key_check_next 
+072d 20400737 call p_mouse_ghost_key_check_l_fw 
+072e 20400733 call p_mouse_ghost_key_check_m_bk 
+072f 202057e5 branch mouse_ghost_key_check_next 
 
 p_mouse_ghost_key_mbk_rfw:
-070a 2040070d call p_mouse_ghost_key_check_m_bk 
+0730 20400733 call p_mouse_ghost_key_check_m_bk 
 
 p_mouse_ghost_key_rfw:
-070b 20400713 call p_mouse_ghost_key_check_r_fw 
-070c 202057e5 branch mouse_ghost_key_check_next 
+0731 20400739 call p_mouse_ghost_key_check_r_fw 
+0732 202057e5 branch mouse_ghost_key_check_next 
 
 p_mouse_ghost_key_check_m_bk:
-070d 1a417e12 and regb ,mouse_m_bk_button ,pdata 
-070e 202057f3 branch mouse_ghost_key_check_m_bk + 1 
+0733 1a417e12 and regb ,mouse_m_bk_button ,pdata 
+0734 202057f3 branch mouse_ghost_key_check_m_bk + 1 
 
 p_mouse_ghost_key_check_r_bk:
-070f 1a417e0a and regb ,mouse_r_bk_button ,pdata 
-0710 202057f6 branch mouse_ghost_key_check_r_bk + 1 
+0735 1a417e0a and regb ,mouse_r_bk_button ,pdata 
+0736 202057f6 branch mouse_ghost_key_check_r_bk + 1 
 
 p_mouse_ghost_key_check_l_fw:
-0711 1a417e11 and regb ,mouse_l_fw_button ,pdata 
-0712 202057f9 branch mouse_ghost_key_check_l_fw + 1 
+0737 1a417e11 and regb ,mouse_l_fw_button ,pdata 
+0738 202057f9 branch mouse_ghost_key_check_l_fw + 1 
 
 p_mouse_ghost_key_check_r_fw:
-0713 1a417e12 and regb ,mouse_r_fw_button ,pdata 
-0714 202057ff branch mouse_ghost_key_check_r_fw + 1 
+0739 1a417e12 and regb ,mouse_r_fw_button ,pdata 
+073a 202057ff branch mouse_ghost_key_check_r_fw + 1 
 
 p_mouse_rgb_20ms_timer:
-0715 6fe14781 fetch 2 ,mem_mouse_no_data_timer 
-0716 207a0000 rtn blank 
-0717 d8e0000b arg 11 ,queue 
-0718 20407cef call timer_check 
-0719 247a0000 nrtn blank 
-071a 2040071e call p_mouse_pwm_control_rgb_timer 
+073b 6fe14781 fetch 2 ,mem_mouse_no_data_timer 
+073c 207a0000 rtn blank 
+073d d8e0000b arg 11 ,queue 
+073e 20407cef call timer_check 
+073f 247a0000 nrtn blank 
+0740 20400744 call p_mouse_pwm_control_rgb_timer 
 
 p_mouse_20ms_timer_init:
-071b d8e0000b arg 11 ,queue 
-071c 580000a0 setarg 0xa0 
-071d 20207ce1 branch timer_init 
+0741 d8e0000b arg 11 ,queue 
+0742 580000a0 setarg 0xa0 
+0743 20207ce1 branch timer_init 
 
 p_mouse_pwm_control_rgb_timer:
-071e 6fe0c6fb fetch 1 ,mem_mouse_multi_led_blink_enable 
-071f 247a0000 nrtn blank 
-0720 6fe0cc91 fetch 1 ,mem_mouse_rgb_enable 
-0721 c000078e beq 0 ,p_mouse_rgb_led_off 
-0722 6fe14781 fetch 2 ,mem_mouse_no_data_timer 
-0723 207a0000 rtn blank 
-0724 6fe0c094 fetch 1 ,mem_lpm_mode 
-0725 245a0732 ncall p_mouse_pwm_init ,blank 
-0726 2040078e call p_mouse_rgb_led_off 
-0727 70409400 jam 0 ,mem_lpm_mode 
-0728 6fe0cc96 fetch 1 ,mem_rgb_control_step 
-0729 c0008734 beq red ,p_rgb_led_control_red 
-072a c0010739 beq green ,p_rgb_led_control_green 
-072b c001873e beq blue ,p_rgb_led_control_blue 
-072c c0020743 beq purple ,p_rgb_led_control_purple 
-072d c0028749 beq cyan ,p_rgb_led_control_cyan 
-072e c003074f beq yellow ,p_rgb_led_control_yellow 
-072f c0038755 beq white ,p_rgb_led_control_white 
-0730 704c9601 jam 1 ,mem_rgb_control_step 
-0731 20600000 rtn 
+0744 6fe0c6fb fetch 1 ,mem_mouse_multi_led_blink_enable 
+0745 247a0000 nrtn blank 
+0746 6fe0cc91 fetch 1 ,mem_mouse_rgb_enable 
+0747 c00007b4 beq 0 ,p_mouse_rgb_led_off 
+0748 6fe14781 fetch 2 ,mem_mouse_no_data_timer 
+0749 207a0000 rtn blank 
+074a 6fe0c094 fetch 1 ,mem_lpm_mode 
+074b 245a0758 ncall p_mouse_pwm_init ,blank 
+074c 204007b4 call p_mouse_rgb_led_off 
+074d 70409400 jam 0 ,mem_lpm_mode 
+074e 6fe0cc96 fetch 1 ,mem_rgb_control_step 
+074f c000875a beq red ,p_rgb_led_control_red 
+0750 c001075f beq green ,p_rgb_led_control_green 
+0751 c0018764 beq blue ,p_rgb_led_control_blue 
+0752 c0020769 beq purple ,p_rgb_led_control_purple 
+0753 c002876f beq cyan ,p_rgb_led_control_cyan 
+0754 c0030775 beq yellow ,p_rgb_led_control_yellow 
+0755 c003877b beq white ,p_rgb_led_control_white 
+0756 704c9601 jam 1 ,mem_rgb_control_step 
+0757 20600000 rtn 
 
 p_mouse_pwm_init:
-0732 da200000 arg 0 ,rega 
-0733 20207055 branch pwm_init 
+0758 da200000 arg 0 ,rega 
+0759 20207055 branch pwm_init 
 
 p_rgb_led_control_red:
-0734 6848cc90 fetcht 1 ,mem_mouse_pwm_duty_cycle 
-0735 20400774 call p_rgb_gradient_check 
-0736 20400767 call p_rgb_color_gradient 
-0737 6048cc90 storet 1 ,mem_mouse_pwm_duty_cycle 
-0738 2020075c branch p_pwm_outset_rgb_red 
+075a 6848cc90 fetcht 1 ,mem_mouse_pwm_duty_cycle 
+075b 2040079a call p_rgb_gradient_check 
+075c 2040078d call p_rgb_color_gradient 
+075d 6048cc90 storet 1 ,mem_mouse_pwm_duty_cycle 
+075e 20200782 branch p_pwm_outset_rgb_red 
 
 p_rgb_led_control_green:
-0739 6848cc90 fetcht 1 ,mem_mouse_pwm_duty_cycle 
-073a 20400774 call p_rgb_gradient_check 
-073b 20400767 call p_rgb_color_gradient 
-073c 6048cc90 storet 1 ,mem_mouse_pwm_duty_cycle 
-073d 2020075f branch p_pwm_outset_rgb_green 
+075f 6848cc90 fetcht 1 ,mem_mouse_pwm_duty_cycle 
+0760 2040079a call p_rgb_gradient_check 
+0761 2040078d call p_rgb_color_gradient 
+0762 6048cc90 storet 1 ,mem_mouse_pwm_duty_cycle 
+0763 20200785 branch p_pwm_outset_rgb_green 
 
 p_rgb_led_control_blue:
-073e 6848cc90 fetcht 1 ,mem_mouse_pwm_duty_cycle 
-073f 20400774 call p_rgb_gradient_check 
-0740 20400767 call p_rgb_color_gradient 
-0741 6048cc90 storet 1 ,mem_mouse_pwm_duty_cycle 
-0742 20200762 branch p_pwm_outset_rgb_blue 
+0764 6848cc90 fetcht 1 ,mem_mouse_pwm_duty_cycle 
+0765 2040079a call p_rgb_gradient_check 
+0766 2040078d call p_rgb_color_gradient 
+0767 6048cc90 storet 1 ,mem_mouse_pwm_duty_cycle 
+0768 20200788 branch p_pwm_outset_rgb_blue 
 
 p_rgb_led_control_purple:
-0743 6848cc90 fetcht 1 ,mem_mouse_pwm_duty_cycle 
-0744 20400774 call p_rgb_gradient_check 
-0745 20400767 call p_rgb_color_gradient 
-0746 6048cc90 storet 1 ,mem_mouse_pwm_duty_cycle 
-0747 2040075c call p_pwm_outset_rgb_red 
-0748 20200762 branch p_pwm_outset_rgb_blue 
+0769 6848cc90 fetcht 1 ,mem_mouse_pwm_duty_cycle 
+076a 2040079a call p_rgb_gradient_check 
+076b 2040078d call p_rgb_color_gradient 
+076c 6048cc90 storet 1 ,mem_mouse_pwm_duty_cycle 
+076d 20400782 call p_pwm_outset_rgb_red 
+076e 20200788 branch p_pwm_outset_rgb_blue 
 
 p_rgb_led_control_cyan:
-0749 6848cc90 fetcht 1 ,mem_mouse_pwm_duty_cycle 
-074a 20400774 call p_rgb_gradient_check 
-074b 20400767 call p_rgb_color_gradient 
-074c 6048cc90 storet 1 ,mem_mouse_pwm_duty_cycle 
-074d 2040075f call p_pwm_outset_rgb_green 
-074e 20200762 branch p_pwm_outset_rgb_blue 
+076f 6848cc90 fetcht 1 ,mem_mouse_pwm_duty_cycle 
+0770 2040079a call p_rgb_gradient_check 
+0771 2040078d call p_rgb_color_gradient 
+0772 6048cc90 storet 1 ,mem_mouse_pwm_duty_cycle 
+0773 20400785 call p_pwm_outset_rgb_green 
+0774 20200788 branch p_pwm_outset_rgb_blue 
 
 p_rgb_led_control_yellow:
-074f 6848cc90 fetcht 1 ,mem_mouse_pwm_duty_cycle 
-0750 20400774 call p_rgb_gradient_check 
-0751 20400767 call p_rgb_color_gradient 
-0752 6048cc90 storet 1 ,mem_mouse_pwm_duty_cycle 
-0753 2040075c call p_pwm_outset_rgb_red 
-0754 2020075f branch p_pwm_outset_rgb_green 
+0775 6848cc90 fetcht 1 ,mem_mouse_pwm_duty_cycle 
+0776 2040079a call p_rgb_gradient_check 
+0777 2040078d call p_rgb_color_gradient 
+0778 6048cc90 storet 1 ,mem_mouse_pwm_duty_cycle 
+0779 20400782 call p_pwm_outset_rgb_red 
+077a 20200785 branch p_pwm_outset_rgb_green 
 
 p_rgb_led_control_white:
-0755 6848cc90 fetcht 1 ,mem_mouse_pwm_duty_cycle 
-0756 20400774 call p_rgb_gradient_check 
-0757 20400767 call p_rgb_color_gradient 
-0758 6048cc90 storet 1 ,mem_mouse_pwm_duty_cycle 
-0759 2040075c call p_pwm_outset_rgb_red 
-075a 2040075f call p_pwm_outset_rgb_green 
-075b 20200762 branch p_pwm_outset_rgb_blue 
+077b 6848cc90 fetcht 1 ,mem_mouse_pwm_duty_cycle 
+077c 2040079a call p_rgb_gradient_check 
+077d 2040078d call p_rgb_color_gradient 
+077e 6048cc90 storet 1 ,mem_mouse_pwm_duty_cycle 
+077f 20400782 call p_pwm_outset_rgb_red 
+0780 20400785 call p_pwm_outset_rgb_green 
+0781 20200788 branch p_pwm_outset_rgb_blue 
 
 p_pwm_outset_rgb_red:
-075c 6fe0cc92 fetch 1 ,mem_mouse_rgb_r 
-075d 67e0cc8b store 1 ,mem_mouse_pwm_gpio 
-075e 20200764 branch p_mouse_pwm_outset 
+0782 6fe0cc92 fetch 1 ,mem_mouse_rgb_r 
+0783 67e0cc8b store 1 ,mem_mouse_pwm_gpio 
+0784 2020078a branch p_mouse_pwm_outset 
 
 p_pwm_outset_rgb_green:
-075f 6fe0cc93 fetch 1 ,mem_mouse_rgb_g 
-0760 67e0cc8b store 1 ,mem_mouse_pwm_gpio 
-0761 20200764 branch p_mouse_pwm_outset 
+0785 6fe0cc93 fetch 1 ,mem_mouse_rgb_g 
+0786 67e0cc8b store 1 ,mem_mouse_pwm_gpio 
+0787 2020078a branch p_mouse_pwm_outset 
 
 p_pwm_outset_rgb_blue:
-0762 6fe0cc94 fetch 1 ,mem_mouse_rgb_b 
-0763 67e0cc8b store 1 ,mem_mouse_pwm_gpio 
+0788 6fe0cc94 fetch 1 ,mem_mouse_rgb_b 
+0789 67e0cc8b store 1 ,mem_mouse_pwm_gpio 
 
 p_mouse_pwm_outset:
-0764 6fe34c8b fetch 6 ,mem_mouse_pwm_conf 
-0765 67e30670 store 6 ,mem_pdatatemp 
-0766 20207066 branch pwm_out_set 
+078a 6fe34c8b fetch 6 ,mem_mouse_pwm_conf 
+078b 67e30670 store 6 ,mem_pdatatemp 
+078c 20207066 branch pwm_out_set 
 
 p_rgb_color_gradient:
-0767 6fe0cc97 fetch 1 ,mem_rgb_gradient_flag 
-0768 c000076a beq brighten ,p_rgb_gradient_brighten 
-0769 c000876f beq darken ,p_rgb_gradient_darken 
+078d 6fe0cc97 fetch 1 ,mem_rgb_gradient_flag 
+078e c0000790 beq brighten ,p_rgb_gradient_brighten 
+078f c0008795 beq darken ,p_rgb_gradient_darken 
 
 p_rgb_gradient_brighten:
-076a 18408401 increase 1 ,temp 
-076b 18467c32 sub temp ,0x32 ,null 
-076c 20610000 rtn positive 
-076d 18408405 increase 5 ,temp 
-076e 20600000 rtn 
+0790 18408401 increase 1 ,temp 
+0791 18467c32 sub temp ,0x32 ,null 
+0792 20610000 rtn positive 
+0793 18408405 increase 5 ,temp 
+0794 20600000 rtn 
 
 p_rgb_gradient_darken:
-076f 184085ff increase -1 ,temp 
-0770 18467c32 sub temp ,0x32 ,null 
-0771 20610000 rtn positive 
-0772 184085fb increase -5 ,temp 
-0773 20600000 rtn 
+0795 184085ff increase -1 ,temp 
+0796 18467c32 sub temp ,0x32 ,null 
+0797 20610000 rtn positive 
+0798 184085fb increase -5 ,temp 
+0799 20600000 rtn 
 
 p_rgb_gradient_check:
-0774 18467c5a sub temp ,90 ,null 
-0775 24210783 nbranch p_rgb_gradient_darken_set ,positive 
-0776 18467c00 sub temp ,0x00 ,null 
-0777 20210779 branch p_rgb_gradient_brighten_set ,positive 
-0778 20600000 rtn 
+079a 18467c5a sub temp ,90 ,null 
+079b 242107a9 nbranch p_rgb_gradient_darken_set ,positive 
+079c 18467c00 sub temp ,0x00 ,null 
+079d 2021079f branch p_rgb_gradient_brighten_set ,positive 
+079e 20600000 rtn 
 
 p_rgb_gradient_brighten_set:
-0779 704c9700 jam brighten ,mem_rgb_gradient_flag 
-077a 6fe0cc98 fetch 1 ,mem_rgb_color_switch 
-077b 207a0000 rtn blank 
-077c 704c9800 jam 0 ,mem_rgb_color_switch 
-077d 6fe0cc96 fetch 1 ,mem_rgb_control_step 
-077e 1fe0fe01 pincrease 1 
-077f 1fe67c07 sub pdata ,white ,null 
-0780 24210786 nbranch p_rgb_control_step_clr ,positive 
-0781 67e0cc96 store 1 ,mem_rgb_control_step 
-0782 20600000 rtn 
+079f 704c9700 jam brighten ,mem_rgb_gradient_flag 
+07a0 6fe0cc98 fetch 1 ,mem_rgb_color_switch 
+07a1 207a0000 rtn blank 
+07a2 704c9800 jam 0 ,mem_rgb_color_switch 
+07a3 6fe0cc96 fetch 1 ,mem_rgb_control_step 
+07a4 1fe0fe01 pincrease 1 
+07a5 1fe67c07 sub pdata ,white ,null 
+07a6 242107ac nbranch p_rgb_control_step_clr ,positive 
+07a7 67e0cc96 store 1 ,mem_rgb_control_step 
+07a8 20600000 rtn 
 
 p_rgb_gradient_darken_set:
-0783 704c9801 jam 1 ,mem_rgb_color_switch 
-0784 704c9701 jam darken ,mem_rgb_gradient_flag 
-0785 20600000 rtn 
+07a9 704c9801 jam 1 ,mem_rgb_color_switch 
+07aa 704c9701 jam darken ,mem_rgb_gradient_flag 
+07ab 20600000 rtn 
 
 p_rgb_control_step_clr:
-0786 704c9601 jam 1 ,mem_rgb_control_step 
-0787 20600000 rtn 
+07ac 704c9601 jam 1 ,mem_rgb_control_step 
+07ad 20600000 rtn 
 
 p_mouse_rgb_pwm_disable:
-0788 6fe0cc92 fetch 1 ,mem_mouse_rgb_r 
-0789 204070bd call pwm_disable 
-078a 6fe0cc93 fetch 1 ,mem_mouse_rgb_g 
-078b 204070bd call pwm_disable 
-078c 6fe0cc94 fetch 1 ,mem_mouse_rgb_b 
-078d 202070bd branch pwm_disable 
+07ae 6fe0cc92 fetch 1 ,mem_mouse_rgb_r 
+07af 204070bd call pwm_disable 
+07b0 6fe0cc93 fetch 1 ,mem_mouse_rgb_g 
+07b1 204070bd call pwm_disable 
+07b2 6fe0cc94 fetch 1 ,mem_mouse_rgb_b 
+07b3 202070bd branch pwm_disable 
 
 p_mouse_rgb_led_off:
-078e 70409401 jam 1 ,mem_lpm_mode 
-078f 20400788 call p_mouse_rgb_pwm_disable 
-0790 6848cc92 fetcht 1 ,mem_mouse_rgb_r 
-0791 20406ef7 call gpio_out_active 
-0792 6848cc93 fetcht 1 ,mem_mouse_rgb_g 
-0793 20406ef7 call gpio_out_active 
-0794 6848cc94 fetcht 1 ,mem_mouse_rgb_b 
-0795 20206ef7 branch gpio_out_active 
+07b4 70409401 jam 1 ,mem_lpm_mode 
+07b5 204007ae call p_mouse_rgb_pwm_disable 
+07b6 6848cc92 fetcht 1 ,mem_mouse_rgb_r 
+07b7 20406ef7 call gpio_out_active 
+07b8 6848cc93 fetcht 1 ,mem_mouse_rgb_g 
+07b9 20406ef7 call gpio_out_active 
+07ba 6848cc94 fetcht 1 ,mem_mouse_rgb_b 
+07bb 20206ef7 branch gpio_out_active 
 
 p_zcode_entrance:
-0796 6848cc7e fetcht 1 ,mem_zcode_temp_param0 
-0797 18518400 rshift4 temp ,temp 
-0798 6fe0cc7f fetch 1 ,mem_zcode_current_number 
-0799 98467c00 isub temp ,null 
-079a 202287b4 branch p_zcode_run ,zero 
-079b 6048cc7f storet 1 ,mem_zcode_current_number 
-079c 18408401 increase 1 ,temp 
-079d 58000100 setarg zcode_buff_size 
-079e 984f8400 imul32 temp ,temp 
-079f 6fe14c84 fetch 2 ,mem_xip_flash_offset 
-07a0 98467e00 isub temp ,pdata 
-07a1 68494c80 fetcht 2 ,mem_eeprom_start_addr 
-07a2 9840fe00 iadd temp ,pdata 
-07a3 67e14c82 store 2 ,mem_eeprom_address 
+07bc 6848cc7e fetcht 1 ,mem_zcode_temp_param0 
+07bd 18518400 rshift4 temp ,temp 
+07be 6fe0cc7f fetch 1 ,mem_zcode_current_number 
+07bf 98467c00 isub temp ,null 
+07c0 202287da branch p_zcode_run ,zero 
+07c1 6048cc7f storet 1 ,mem_zcode_current_number 
+07c2 18408401 increase 1 ,temp 
+07c3 58000100 setarg zcode_buff_size 
+07c4 984f8400 imul32 temp ,temp 
+07c5 6fe14c84 fetch 2 ,mem_xip_flash_offset 
+07c6 98467e00 isub temp ,pdata 
+07c7 68494c80 fetcht 2 ,mem_eeprom_start_addr 
+07c8 9840fe00 iadd temp ,pdata 
+07c9 67e14c82 store 2 ,mem_eeprom_address 
 
 p_zcode_read_loop:
-07a4 6fe14c82 fetch 2 ,mem_eeprom_address 
-07a5 1ff0fe00 byteswap pdata ,pdata 
-07a6 67e101e0 store 2 ,mem_addr_mi 
-07a7 d8400100 arg zcode_buff_size ,temp 
-07a8 da200e00 arg mem_zcode_buff ,rega 
-07a9 20406ce7 call iicd_read_eep 
-07aa 6fe20e00 fetch 4 ,mem_zcode_buff 
-07ab 684a4c87 fetcht 4 ,mem_zcode_head 
-07ac 98467c00 isub temp ,null 
-07ad 242287a4 nbranch p_zcode_read_loop ,zero 
-07ae 58000e00 setarg mem_zcode_buff 
-07af 67e140f0 store 2 ,mem_patch_ptr 
-07b0 7040f240 jam zcode_code_size ,mem_patch_len 
-07b1 20406b11 call load_ucode 
-07b2 58000000 setarg 0 
-07b3 67e240f0 store 4 ,mem_patch_ptr 
+07ca 6fe14c82 fetch 2 ,mem_eeprom_address 
+07cb 1ff0fe00 byteswap pdata ,pdata 
+07cc 67e101e0 store 2 ,mem_addr_mi 
+07cd d8400100 arg zcode_buff_size ,temp 
+07ce da200e00 arg mem_zcode_buff ,rega 
+07cf 20406ce7 call iicd_read_eep 
+07d0 6fe20e00 fetch 4 ,mem_zcode_buff 
+07d1 684a4c87 fetcht 4 ,mem_zcode_head 
+07d2 98467c00 isub temp ,null 
+07d3 242287ca nbranch p_zcode_read_loop ,zero 
+07d4 58000e00 setarg mem_zcode_buff 
+07d5 67e140f0 store 2 ,mem_patch_ptr 
+07d6 7040f240 jam zcode_code_size ,mem_patch_len 
+07d7 20406b11 call load_ucode 
+07d8 58000000 setarg 0 
+07d9 67e240f0 store 4 ,mem_patch_ptr 
 
 p_zcode_run:
-07b4 6fe0cc7e fetch 1 ,mem_zcode_temp_param0 
-07b5 20200001 branch p_zcode 
+07da 6fe0cc7e fetch 1 ,mem_zcode_temp_param0 
+07db 20200001 branch p_zcode 
               org 0x2000
 
 start:
@@ -34971,7 +35023,7 @@
 10011 6fe0c666 fetch 1 ,mem_device_flag 
 10012 c0006067 beq mode_24g_device ,mouse_24g_reconn_dongle_start 
 10013 20405aa8 call mouse_bluetooth_fast_conn_disable 
-10014 20200617 branch p_mouse_24g_first_bluetooth_reconnect 
+10014 2020061f branch p_mouse_24g_first_bluetooth_reconnect 
 
 z_mouse_24g_start_mode:
 10015 6fe44713 fetch mouse_flag_len ,mem_mouse_flag 
@@ -34999,11 +35051,11 @@
 10029 684a45e4 fetcht 4 ,mem_24g_fast_conn_addr 
 1002a 98467c00 isub temp ,null 
 1002b 20628000 rtn zero 
-1002c 20400612 call p_mouse_fetch_normal_tx_power 
+1002c 2040061a call p_mouse_fetch_normal_tx_power 
 1002d 20206042 branch mouse_24g_first_store_reconn_info 
 
 z_mouse_24g_pairing_complete:
-1002e 20400612 call p_mouse_fetch_normal_tx_power 
+1002e 2040061a call p_mouse_fetch_normal_tx_power 
 1002f 704b400a jam 10 ,mem_mouse_delay_send_info_timer 
 10030 20206084 branch mouse_24g_pairing_complete 
               org 0x20001
@@ -35151,18 +35203,18 @@
 4000f 204059ed call mouse_sensor_powerdown 
 40010 204036ca call g24_transmit_by_interrupt_exit 
 40011 704c9100 jam 0 ,mem_mouse_rgb_enable 
-40012 2040078e call p_mouse_rgb_led_off 
+40012 204007b4 call p_mouse_rgb_led_off 
 40013 2020622b branch mouse_24g_long_sleep 
 
 z_mouse_setgpio_hibernate:
 40014 20405a92 call mouse_set_sdio_high 
-40015 2040065f call p_clear_wake 
+40015 20400685 call p_clear_wake 
 40016 204056a9 call mouse_before_hibernate_wheel_gpio_set 
 40017 6fe0c64d fetch 1 ,mem_mouse_sensor_sdio_gpio 
 40018 20405943 call mouse_gpio_config_output_high 
 40019 2040611a call mouse_logo_led_off 
 4001a 704c9100 jam 0 ,mem_mouse_rgb_enable 
-4001b 2040078e call p_mouse_rgb_led_off 
+4001b 204007b4 call p_mouse_rgb_led_off 
 4001c 204004bf call p_mouse_lpm_before_common 
 4001d 202054e2 branch mouse_setgpio_hibernate_next 
               org 0x50001
@@ -35172,7 +35224,7 @@
 50002 20600000 rtn 
 
 z_mouse_24g_attempt_fail:
-50003 20400612 call p_mouse_fetch_normal_tx_power 
+50003 2040061a call p_mouse_fetch_normal_tx_power 
 50004 6fe0c87a fetch 1 ,mem_mouse_dpi_button_state 
 50005 c1008000 rtneq dpi_button_state_down 
 50006 6fe0c600 fetch 1 ,mem_24g_attempt_fail_flag 
@@ -35200,7 +35252,7 @@
 50016 c31f6059 bbit0 mouse_enable_24g_first_auto_pairing ,mouse_24g_attempt_fail_enter_hibernate 
 50017 6fe0c71b fetch 1 ,mem_device_number 
 50018 c000e059 beq 1 ,mouse_24g_attempt_fail_enter_hibernate 
-50019 20200617 branch p_mouse_24g_first_bluetooth_reconnect 
+50019 2020061f branch p_mouse_24g_first_bluetooth_reconnect 
 
 z_mouse_reconn_dongle_attempt_fail:
 5001a 6fe44713 fetch mouse_flag_len ,mem_mouse_flag 
Index: program/patch.prog
===================================================================
--- /1121s/branch/mouse/AI_Project/mouse_public_ai_2mode/program/patch.prog	(revision 5045)
+++ /1121s/branch/mouse/AI_Project/mouse_public_ai_2mode/program/patch.prog	(working copy)
@@ -2287,6 +2287,7 @@
 	call p_mouse_send_device_info_timer
 	call p_mouse_dpi_key_check_long_press
 	call p_mouse_m_key_long_press_timer
+	call p_mouse_ai_key_check_long_press
 	//poll
 	call mouse_bt_discovery_check
 	call mouse_commbination_key_process
@@ -2336,6 +2337,18 @@
 	branch p_mouse_pwm_init
 endif
 
+p_mouse_ai_key_check_long_press:
+	fetch 1,mem_mouse_ai_button_state
+	rtnne AI_BUTTON_STATE_DOWN	
+	arg mem_ai_button_count,regc
+	arg p_mouse_ai_long_press_set,regb
+	branch timer_single_step
+
+p_mouse_ai_long_press_set:
+	jam 1,mem_mouse_ai_long_press_flag
+	rtn
+	// branch p_mouse_send_app_info_enable
+
 p_mouse_dpi_key_check_long_press:
 	fetch 1,mem_mouse_dpi_button_state
 	rtnne DPI_BUTTON_STATE_DOWN	
@@ -2515,9 +2528,42 @@
 	call mouse_low_voltage_led_no_enter_lpm
 	call ui_check_paring_button
 	call p_mouse_dpi_check
+	call p_mouse_ai_key_check
 	// jam 1,mem_mouse_switch_flag
 	branch mouse_idle+4
 
+p_mouse_ai_key_check:
+	fetch 1,mem_mouse_ai_key_gpio
+	call mouse_gpio_config_output_high
+	jam MOUSE_AI_KEY,mem_mouse_key_temp
+	fetcht 1,mem_mouse_ai_key_gpio
+	fetch 1,mem_mouse_aikey_press_status
+	call mouse_check_key_connect_gnd
+	store 1,mem_mouse_aikey_press_status
+	fetcht 1,mem_mouse_ai_key_gpio
+	call mouse_gpio_config_input_pu
+	copy rega,pdata
+	bbit1 MOUSE_AI_KEY,p_mouse_ai_key_down
+p_mouse_ai_key_up:
+	fetch 1,mem_mouse_ai_button_state
+	rtneq AI_BUTTON_STATE_UP
+	jam AI_BUTTON_STATE_UP,mem_mouse_ai_button_state
+	fetch 1,mem_mouse_ai_long_press_flag
+	nbranch p_mouse_ai_up_after_long_press,blank
+	fetch 1,mem_ai_button_count
+	sub pdata,20,null
+	ncall p_mouse_send_dpi_long_press_info,positive		// press button less than 30-20=1000ms
+p_mouse_ai_up_after_long_press:
+	jam 0,mem_mouse_dpi_long_press_flag
+	fetch 1,mem_ui_button_timeout
+	store 1,mem_ai_button_count
+	rtn
+p_mouse_ai_key_down:
+	fetch 1,mem_mouse_ai_button_state
+	rtneq AI_BUTTON_STATE_DOWN
+	jam AI_BUTTON_STATE_DOWN,mem_mouse_ai_button_state
+	rtn
+
 p_mouse_dpi_check_retransmit:
 	fetch MOUSE_FLAG_LEN,mem_mouse_flag
 	rtnbit0 MOUSE_ENABLE_SELECT_DEVICE_BY_DPI_BUTTON
@@ -2555,6 +2601,10 @@
 	jam RELEASE,mem_mouse_tx_dpi_state
 	branch p_mouse_send_dpi_info_enable
 
+p_mouse_send_dpi_long_press_info:
+	jam LONG_PRESS,mem_mouse_tx_dpi_state
+	branch p_mouse_send_app_info_enable
+
 p_g24_send_dpi_long_release_info:
 	jam LONG_RELEASE,mem_mouse_tx_dpi_state
 	branch p_mouse_send_app_info_enable
Index: sched/mouse.dat
===================================================================
--- /1121s/branch/mouse/AI_Project/mouse_public_ai_2mode/sched/mouse.dat	(revision 5045)
+++ /1121s/branch/mouse/AI_Project/mouse_public_ai_2mode/sched/mouse.dat	(working copy)
@@ -117,6 +117,8 @@
 86 #mem_mouse_low_voltage_alarm_gpio
 ff #mem_mouse_dpi_gpio
 
+mem_mouse_ai_key_gpio:ff
+
 #mouse sensor angle
 #0x00 MOUSE_6CLK_ANGLE
 #0X01 MOUSE_9CLK_ANGLE
