Well, this should do it right ?
func save_key(var file : File,var key : InputEvent):
if key is InputEventMouseButton:
file.store_var(0)
file.store_var(key.device)
file.store_var(key.button_index)
elif key is InputEventJoypadButton:
file.store_var(1)
file.store_var(key.device)
file.store_var(key.button_index)
elif key is InputEventKey :
file.store_var(2)
file.store_var(key.scancode)
func load_key(var file : File):
var a = file.get_var()
var b = null
if a == 0:
b = create_input_event(InputEventMouseButton, file.get_var(),file.get_var())
elif a == 1:
b = create_input_event(InputEventJoypadButton, file.get_var(),file.get_var())
elif a == 2:
b = create_input_event(InputEventKey, null,file.get_var())
return b
func create_input_event(var type, var device_Id, var key):
var event = type.new()
if event is InputEventMouseButton or event is InputEventJoypadButton:
event.device = device_Id
event.button_index = key
elif event is InputEventKey:
event.scancode = key
return event
(there was mistake before. I repaired it so it won't explode if someone try to copy-paste it)