If you are using Control nodes and they are not anchored you can resize the chat area by subtracting the keyboard height
#store the height to later reset it
var old_height = $chat_node.rect_size.y
#on keyboard shown
var kb_height = OS.get_virtual_keyboard_height()
$chat_node.rect_size.y -= kb_height.y
#on keyboard hidden
$chat_node.rect_size.y = old_height
Sorry, this is a while later, but how would I detect when the keyboard is shown?
SF123 | 2022-05-10 17:48
Hmm nice question and not sure if there is a better solution.
Try calling OS.get_virtual_keyboard_height() and if it returns 0 then its not visible.
func is_virtual_keyboard_shown():
return OS.get_virtual_keyboard_height() != OK