<SYSTEM_TASK:>
Given the following text description, write Python code to implement the functionality described below step by step
<END_TASK>
<USER_TASK:>
Description:
 Lesson 49
Step1:  This lesson will control all the keyboard controlling functions in the module.
The typewrite() function will type text into a given textbox. It may be useful to use the mouse operators to navigate and click into a field before running.
Step2:  Again, to simulate more human interaction, we can an interval parameter like duration before.
Step3:  For more complex characters, we can pass a list of complex characters, like the arrow keys, shift, etc.
Step4:  A list of keys are available in the KEYBOARD_KEYS
Step5:  These are case-sensitive, but often map to the same function anyway.
Step6:  We can also pass variables in hotkey mode, i.e. pressed together.
<ASSISTANT_TASK:>
Python Code:
import pyautogui
Explanation: Lesson 49:
Controlling the Keyboard with Python
Python can be used to control the keyboard and mouse, which allows us to automate any program that uses these as inputs. 
Graphical User Interface (GUI) Automation is particularly useful for repetative clicking or keyboard entry. The program's own module will probably deliver better programmatic performance, but GUI automation is more broadly applicable. 
We will be using the pyautogui module. Lesson 48 details how to install this package.
End of explanation
# Writes to the cell right below (70 pixels down)
pyautogui.moveRel(0,70)
pyautogui.click()
pyautogui.typewrite('Hello world!')
Explanation: This lesson will control all the keyboard controlling functions in the module.
The typewrite() function will type text into a given textbox. It may be useful to use the mouse operators to navigate and click into a field before running.
End of explanation
# Writes to the cell right below (70 pixels down)
pyautogui.moveRel(0,70)
pyautogui.click()
pyautogui.typewrite('Hello world!', interval=0.2)
Explanation: Again, to simulate more human interaction, we can an interval parameter like duration before.
End of explanation
# Writes to the cell right below (70 pXixels down)
pyautogui.moveRel(0,70)
pyautogui.click()
pyautogui.typewrite(['a','b','left','left','X','Y'], interval=1)
XYab
Explanation: For more complex characters, we can pass a list of complex characters, like the arrow keys, shift, etc.
End of explanation
pyautogui.KEYBOARD_KEYS
Explanation: A list of keys are available in the KEYBOARD_KEYS
End of explanation
pyautogui.typewrite('F1') 
pyautogui.typewrite('f1')
Explanation: These are case-sensitive, but often map to the same function anyway.
End of explanation
# Simulates ctrl + alt + delete
pyautogui.hotkey('ctrl','alt','delete')
Explanation: We can also pass variables in hotkey mode, i.e. pressed together.
End of explanation
<END_TASK>