เมื่อคุณกดปุ่มหรือคีย์ผสมในเทอร์มินัลจะถูกส่งไปยังแอปพลิเคชันที่ทำงานในเทอร์มินัลตามลำดับอักขระหนึ่งตัวหรือมากกว่า ตัวอย่างเช่นเมื่อคุณกดแอพลิเคชันที่ได้รับa aเมื่อคุณกดEnterแอพลิเคชันที่ได้รับตัวละครCR(aka ^M(ออกเสียง“ควบคุม EMM”) หรือที่รู้จักตัวละครจำนวน 13 อาคา\rหรือ\015) คีย์ผสมที่เกี่ยวข้องAltจะถูกส่งมักจะเป็นตัวอักษรESC( a.ka. ^[aka \eหรือ\033) Altตามด้วยลำดับสำหรับคีย์หรือการรวมกันโดยไม่ต้องคีย์ ปุ่มฟังก์ชั่และชุดอื่น ๆ ที่สำคัญจะถูกส่งเป็นลำดับหนีเริ่มต้นด้วยหรือ\e[\eO
ลำดับ escapes ไม่ได้มาตรฐานอย่างสมบูรณ์และโดยทั่วไปแล้วเทอร์มินัลจะไม่สนใจคุณลักษณะบางอย่างสำหรับคีย์บางอย่าง ตัวอย่างเช่นCtrl+ Shift+ letterมักถูกส่งเหมือนCtrl+ letterโดยค่าเริ่มต้น
คุณสามารถเห็นสิ่งที่เทอร์มินัลของคุณส่งสำหรับชุดคีย์โดยกดCtrl+ Vตามด้วยชุดคีย์ในเชลล์พรอมต์หรือC-qหรือC-h cตามด้วยชุดคีย์ใน Emacs
ด้วยเทอร์มินัลอีมูเลเตอร์บางตัวคุณสามารถกำหนดค่าลำดับ escape สำหรับแต่ละคีย์ เมื่อวันที่ Xterm นี้จะทำผ่านทรัพยากร X การตั้งค่าส่วนใหญ่จะอ่านทรัพยากรจาก~/.Xresourcesเมื่อ X เริ่มทำงานและคุณสามารถโหลดไฟล์ด้วยตนเองxrdb -merge ~/.Xresourcesได้
Term.VT100.translations: #override \n\
Ctrl ~Shift ~Meta <key>Return: string("\033[73;5~") \n\
Ctrl Shift ~Meta <key>percent: string("\033[37;6~")
หลักการทั่วไปใช้ลำดับการยกเว้นของฟอร์มESC [ number1 ; number2 ~สำหรับปุ่มฟังก์ชันที่มีตัวดัดแปลง number1แสดงให้เห็นปุ่มฟังก์ชัน ( 15เพื่อ24สำหรับF5การF12- สำหรับเหตุผลทางประวัติศาสตร์ F1 ผ่านF4มีลำดับหนีแตกต่างกัน) และnumber2แสดงให้เห็นเครื่องปรับ ( 2สำหรับShift, 3สำหรับMeta, 5สำหรับCtrl, 7สำหรับCtrl+ Metaและเพิ่ม 1 Shiftที่มีอย่างน้อยหนึ่งCtrlหรือMeta)
Emacs แปล escape sequences เป็นการนำเสนอคีย์ภายในผ่านinput-decode-mapหรือlocal-function-key-map (หรือfunction-key-mapก่อน Emacs 23)
(define-key local-function-key-map "\033[73;5~" [(control return)])
(define-key local-function-key-map "\033[37;6~" [(control ?L)])
infocmp $TERM?