Index: program/patch.prog
===================================================================
--- /1121s/1121se/branch/keyboard/internal/keyboard_only_ble_carbon_ex_pullup_sdk/program/patch.prog	(revision 6205)
+++ /1121s/1121se/branch/keyboard/internal/keyboard_only_ble_carbon_ex_pullup_sdk/program/patch.prog	(working copy)
@@ -175,7 +175,6 @@
 	rtn blank
 	// fetch 1,mem_device_le_bb_connected_flag
 	// rtn blank
-	rtn
 	fetch 1,mem_keyboard_fn_flag
 	nrtn blank
 	fetch 1,mem_keyboard_control_key_flag
@@ -511,24 +510,43 @@
 	increase 1,pdata
 	store 1,mem_keyscan_col_loop_count
 	rtn
-p_keyboard_keyscan_get_col_value:        
-	fetch 2,mem_kb_row_ptr    
-	copy pdata,regc        
-	arg 8,loopcnt      
-p_keyboard_keyscan_get_col_value_loop:              	// loop 8 times
+p_keyboard_keyscan_get_col_value:
+	call p_keyboard_row_output_high
+	nop 120
+p_keyboard_keyscan_get_col_value_loop:		// loop 8 times
+	call p_keyboard_row_high_impendence
+	nop 120
+	call p_keyboard_row_loop_init
+	ifetcht 1,regc
+	call gpio_get_bit
+	fetch 1,mem_keyscan_value_temp
+	rshift pdata,pdata
+	setflag true,7,pdata
+	store 1,mem_keyscan_value_temp
+	increase 1,regc
+	loop p_keyboard_keyscan_get_col_value_loop+3
+	// call p_keyboard_row_output_high
+	rtn
+p_keyboard_row_output_high:
+	call p_keyboard_row_loop_init
+p_keyboard_row_output_high_loop:
 	ifetcht 1,regc
 	call gpio_out_inactive
+	increase 1,regc
+	loop p_keyboard_row_output_high_loop
+	rtn
+p_keyboard_row_loop_init:
+	fetch 2,mem_kb_row_ptr
+	copy pdata,regc
+	arg 8,loopcnt
+	rtn
+p_keyboard_row_high_impendence:
+	call p_keyboard_row_loop_init
+p_keyboard_row_high_impendence_loop:
 	ifetcht 1,regc
 	call gpio_set_high_impedance
-	nop 240        
-	ifetcht 1,regc       
-	call gpio_get_bit    
-	fetch 1,mem_keyscan_value_temp    
-	rshift pdata,pdata      
-	setflag true,7,pdata       
-	store 1,mem_keyscan_value_temp 
-	increase 1,regc       
-	loop p_keyboard_keyscan_get_col_value_loop
+	increase 1,regc
+	loop p_keyboard_row_high_impendence_loop
 	rtn
 
 p_keyboard_lpm_before_common:
