you might as well tell us the solution, you never know if you can help someone else with the same problem :)
You have to modify the step event in the obj_textbox object to accept more than just keyboard inputs. My recommendation to avoid the instant trigger issue would be to use a script which checks at that instant whether or not a button was pressed, and returns true or false, like this:
function checkInteract() { if (keyboard_check_pressed(global.interact_key) || gamepad_button_check_pressed(0, global.gp_interact_key)) return true; else return false; }If anyone who sees this needs anymore guidance, just reply.