@@ -41,7 +41,9 @@ function InlineInput:PatchInputBoxKeys(input_box, config, node_gui)
4141 elseif InlineInput :IsModifierKey (key ) then
4242 return true
4343 elseif InlineInput :IsKey (key , " insert" ) then
44- return session :paste ()
44+ local result = session :paste ()
45+ InlineInput :ResetCaretBlink (self )
46+ return result
4547 end
4648
4749 local handled , result = InlineInput :ApplySharedInputCommand (session , self , key , {
@@ -57,21 +59,31 @@ function InlineInput:PatchInputBoxKeys(input_box, config, node_gui)
5759 })
5860
5961 if handled then
62+ InlineInput :ResetCaretBlink (self )
6063 return result
6164 end
6265
6366 if InlineInput :IsLeftKey (key ) then
6467 InlineInput :MoveCaret (self , - 1 , { extend_selection = InlineInput :IsShiftDown () })
6568 InlineInput :StartCaretMoveRepeat (config , node_gui , - 1 )
69+ InlineInput :ResetCaretBlink (self )
6670 return true
6771 elseif InlineInput :IsRightKey (key ) then
6872 InlineInput :MoveCaret (self , 1 , { extend_selection = InlineInput :IsShiftDown () })
6973 InlineInput :StartCaretMoveRepeat (config , node_gui , 1 )
74+ InlineInput :ResetCaretBlink (self )
7075 return true
7176 end
7277
7378 if original_search_key_press then
74- return original_search_key_press (self , o , key )
79+ local is_text_key = InlineInput :IsTextInputKey (key )
80+ local result = original_search_key_press (self , o , key )
81+
82+ if is_text_key or result then
83+ InlineInput :ResetCaretBlink (self )
84+ end
85+
86+ return result or is_text_key
7587 end
7688 end
7789
@@ -93,6 +105,7 @@ function InlineInput:PatchInputBoxKeys(input_box, config, node_gui)
93105 return true
94106 elseif InlineInput :IsKey (key , " backspace" ) or InlineInput :IsDeleteKey (key ) then
95107 InlineInput :ApplySharedInputCommand (session , self , key )
108+ InlineInput :ResetCaretBlink (self )
96109 return true
97110 elseif InlineInput :IsLeftKey (key ) or InlineInput :IsRightKey (key ) then
98111 return true
@@ -102,6 +115,10 @@ function InlineInput:PatchInputBoxKeys(input_box, config, node_gui)
102115 local result = original_update_key_down (self , o , key )
103116 self ._inline_input_in_key_repeat = nil
104117
118+ if result then
119+ InlineInput :ResetCaretBlink (self )
120+ end
121+
105122 return result
106123 end
107124 end
0 commit comments