In the Terminal Session activity, there is an Output Property for Connection. You want to create a TerminalConnection type variable and use it in that Output Property. Then, in other Terminal Session activities throughout your workflow you can use that same variable in the Existing Connection Property. Keep in mind, however, that you still need to create a new connection with the Terminal Session each time you run your process… meaning you can’t attach to an existing Terminal window with the Terminal Session, from my understanding. —ideally, you would close out of the existing terminal windows at the very start of your process, so you can create a new connection and not have conflict between having multiple terminal windows open.
I hope that helps with the first part.
For the Send control key issue, I am not sure to be honest, but if you provide a better explanation or screenshots of what it is doing and of your activity/properties used, then maybe someone can give a solution.