Index: 128keep_2mode_3ch_keyboard/program/patch.prog
===================================================================
--- /1121s/branch/keyboard/customer_FW/HYX_Project/128keep_2mode_3ch_keyboard/program/patch.prog	(revision 5207)
+++ /1121s/branch/keyboard/customer_FW/HYX_Project/128keep_2mode_3ch_keyboard/program/patch.prog	(working copy)
@@ -8,9 +8,9 @@
 define scroll_led_enable
 define ADC_1121SB
 //define ADC_1121SB_1V8_MODE
-define ADC_1V5
+//define ADC_1V5
 //define ADC_3V0
-//define ADC_4V2
+define ADC_4V2
 
 
 	bbit1 8,pf_patch_ext
@@ -56,6 +56,7 @@
 	beq patch0b_6,p_keyboard_g24_transmit_process
 	beq patch0b_7,p_keyboard_g24_short_sleep
 endif
+	beq patch0c_0,p_keyboard_24g_search_dongle
 ifdef ble_enable
 	beq patch0c_1,p_le_parse_att
 	beq patch0d_7,p_keyboard_start_reconnect_device
@@ -860,16 +861,16 @@
 	rtn
 endif
 ifdef ADC_4V2
-	setarg 0x230170		// 0x0170--3.7V  0x0123--3.0V  0x0146--3.2V  0x0153--3.3V
+	setarg 0x000170		// 0x0170--3.7V  0x0123--3.0V  0x0146--3.2V  0x0153--3.3V
 	store 3,mem_mouse_vdd_full_vol
-	setarg 0x015301
+	setarg 0x00c800
 	istore 3,contw
 	fetch 1,mem_mouse_adc_last_low_voltage_flag
 	branch p_keyboard_low_voltage_param_set_33V,blank
-	jam 0x58,mem_mouse_vdd_low_vol
+	jam 0xc8,mem_mouse_vdd_low_vol
 	rtn
 p_keyboard_low_voltage_param_set_33V:
-	jam 0x53,mem_mouse_vdd_low_vol
+	jam 0xc8,mem_mouse_vdd_low_vol
 	rtn
 endif
 ifdef ADC_3V0
@@ -1368,6 +1369,7 @@
 	fetch 1,mem_device_flag
 	rtneq MODE_USB_DEVICE
 	//call p_keyboard_le_send_empty_packet
+	call p_keyboard_store_device_number
 	branch keyboard_long_button_bt_discovery+3
 
 p_keyboard_device_select_bt_nopress_timer:
@@ -2475,7 +2477,11 @@
 	call p_keyboard_device_led_all_off+1
 	setarg 0
 	store 2,mem_otp_store_device_info_flag
-	branch keyboard_start_discovery+5
+	setarg 0
+	store 2,mem_le_battery_level_updata_timer
+	call keyboard_capslock_led_off
+	jam SYSTEM_OS_WINDOWS,mem_kb_computer_system
+	branch keyboard_start_discovery+9
 
 p_keyboard_stop_discovery:
 	setarg 0
@@ -2890,6 +2896,40 @@
 endif
 ///////////******************ble patch end*************************//////////////
 
+///////////**************g24 search receiver start*****************//////////////
+p_keyboard_24g_search_dongle:
+	fetch MOUSE_FLAG_LEN,mem_mouse_flag
+	rtnbit0 MOUSE_ENABLE_24G_SEARCH_DONGLE
+	fetch 1,mem_mouse_long_mult_flag
+	rtn blank
+	fetch 1,mem_24g_abort_pac
+	rtn blank
+p_keyboard_24g_search_dongle_next:
+	jam 0,mem_mouse_search_dongle_ch
+p_keyboard_24g_search_dongle_loop:
+	fetch 1,mem_mouse_search_dongle_ch
+	increase 1,pdata
+	store 1,mem_mouse_search_dongle_ch
+	sub pdata,G24_CH_NUMBER,null
+	nbranch p_keyboard_24g_search_dongle_loop_end,positive
+	call g24_reconn_data_prep
+	call g24_transmit_receive_ack
+	nbranch p_keyboard_24g_search_dongle_loop_retry,sync
+	nbranch p_keyboard_24g_search_dongle_loop_retry,user3
+	call keyboard_g24_ackpayload_parse
+	call keyboard_24g_search_dongle_success
+p_keyboard_24g_search_dongle_loop_end:
+	call g24_txbuf_clear
+	fetch 1,mem_mouse_search_dongle_count
+	increase 1,pdata
+	store 1,mem_mouse_search_dongle_count
+	beq G24_CH_POLL_COUNT,keyboard_24g_search_dongle_check
+	rtn
+p_keyboard_24g_search_dongle_loop_retry:
+	call g24_ch
+	branch p_keyboard_24g_search_dongle_loop
+///////////******************g24 search receiver end*************//////////////
+
 ///////////******************g24 patch start*************************//////////////
 ifdef g24_enable
 p_g24_pair_dispatch:
@@ -2922,6 +2962,8 @@
 	branch keyboard_g24_transmit_start_next
 
 p_keyboard_g24_nodata_transmit:
+	fetch 1,mem_24g_abort_pac
+	call g24_send_abort_packet,blank
 	fetch 8,mem_keyscan_value_current
 	nbranch keyboard_g24_transmit_start_next,blank
 	fetch 8,mem_keyscan_value_current+8
@@ -2941,6 +2983,7 @@
 p_keyboard_g24_transmit_process:
 	jam 0,mem_24g_retry
 p_keyboard_g24_transmit_loop:
+	jam 0,mem_24g_abort_pac
 	fetchr timeup,2,mem_param_rx_setup
 	until clkn_rt,meet
 	call keyboard_special_key_check
