การส่งปุ่มฟังก์ชั่น (F1-F12) มากกว่า SSH


14

ฉันมีเครื่อง Fedora ที่ฉันสามารถทำ SSH ได้ หนึ่งในโปรแกรมที่ฉันต้องการใช้เป็นครั้งคราวใช้ปุ่มฟังก์ชั่น ปัญหาคือว่าฉัน SSH'ing จากแท็บเล็ต Android (ASUS Transformer อินฟินิตี้) ที่มีแป้นพิมพ์กายภาพ แต่ไม่มีF1- F12กุญแจ ดังนั้นจนกระทั่งแอพพลิเคชั่นเทอร์มินัลที่ฉันใช้ (VX ConnectBot) ตัดสินใจที่จะเพิ่มพวกเขาเป็นคุณสมบัติฉันกำลังมองหาวิธีที่จะส่งพวกเขาโดยใช้ส่วนที่เหลือของแป้นพิมพ์

ฉันสามารถใช้ตัวอักขระ ASCII ทั้งหมดEsc, Ctrl, Shift, และEnterTab


ฉันคิดว่าคุณน่าจะถามคำถาม Android.SE ได้ดีกว่า
Derobert

คำตอบ:


26

เทอร์มินัลเท่านั้นเข้าใจอักขระไม่ใช่คีย์ ดังนั้นปุ่มฟังก์ชั่นจะถูกเข้ารหัสเป็นลำดับของอักขระโดยใช้อักขระควบคุม นอกเหนือจากคนทั่วไปไม่กี่คนที่มีตัวละครที่ควบคุมร่วม ( Tabเป็นCtrl+I, EnterคือCtrl+M, Escเป็นCtrl+[) ปุ่มฟังก์ชันส่งลำดับหนีเริ่มต้นด้วยหรือCtrl+[ [ Ctrl+[ Oคุณสามารถใช้tputคำสั่งเพื่อดูว่าแอปพลิเคชันลำดับหลบหนีคาดหวังอะไรสำหรับแต่ละปุ่มฟังก์ชั่นในเทอร์มินัลของคุณ ลำดับเหล่านี้จะถูกเก็บไว้ในterminfoฐานข้อมูล ตัวอย่างเช่นตัวอย่างของเชลล์ด้านล่างแสดงลำดับการหลีกเลี่ยงที่สอดคล้องกับแต่ละปุ่มฟังก์ชั่น

$ for x in {1..12}; do echo -n "F$x "; tput kf$x | cat -A; echo; done
F1 ^[OP
F2 ^[OQ
F3 ^[OR
F4 ^[OS
F5 ^[[15~
F6 ^[[17~
F7 ^[[18~
F8 ^[[19~
F9 ^[[20~
F10 ^[[21~
F11 ^[[23~
F12 ^[[24~

อีกวิธีในการดูลำดับ escape สำหรับปุ่มฟังก์ชันคือการกดCtrl+ Vในแอปพลิเคชันเทอร์มินัลที่ไม่ได้เชื่อมโยงแป้นCtrl+ V(เช่นเชลล์) Ctrl+ Vแทรกตัวละครถัดไป (ซึ่งจะเป็นตัวละครหนี) อย่างแท้จริงและคุณจะสามารถดูลำดับที่เหลือซึ่งประกอบด้วยตัวละครธรรมดา

เนื่องจากลำดับอาจไม่สะดวกในการพิมพ์ตรวจสอบการเปลี่ยนการเชื่อมโยงคีย์ในแอปพลิเคชันของคุณหรือใช้เทอร์มินัลอีมูเลเตอร์อื่น นอกจากนี้โปรดทราบว่าคุณอาจมีเวลา จำกัด : แอปพลิเคชั่นบางตัวรับรู้ลำดับการหลบหนีหากมีความเร็วเพียงพอเพื่อให้สามารถให้ความหมายกับEscคีย์เพียงอย่างเดียว


ฉันจะเพิ่มปุ่มฟังก์ชันแบบเลื่อนไปยังรายการที่คำสั่งของคุณมีให้ได้อย่างไร
drevicko

1
@drevicko ใน xterm, Shift + F1 คือkf13, Shift + F2 เป็นkf14เป็นต้นจากนั้นกด Ctrl + F1 คือkf25, Ctrl + Shift + F1 คือkf37, Alt + F1 kf49คือ ฉันไม่รู้ว่ามันใช้งานกับเทอร์มินัลอื่นหรือไม่ถ้าคุณมีคีย์ F13 จริง
Gilles 'หยุดความชั่วร้าย'

3

Android Terminal Emulator โดย Jack Palevich ใช้คีย์ผสมกับปุ่มปรับระดับเสียงเพื่อส่งคีย์หลากหลายรวมถึงปุ่มฟังก์ชั่น นอกจากนี้ยังมีแฮ็กเกอร์คีย์บอร์ดที่มีปุ่มทุกปุ่มที่มีแป้นจริง


ขอบคุณ Hacker Keyboard ควรครอบคลุมสิ่งที่ฉันต้องการในตอนนี้
Sizik
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.