Bazı terminal emülasyon kodları ile karşılaştığım zaman ASCII kontrol karakterlerini yeniden keşfettim ve bastığım her tuşun onaltılık değerini veren küçük bir program yazdım (tcsetattr () ~ ICANON).
Aynı anda Control ve D tuşlarına basmayı (CTL-D) ASCII ^D
/ EOT
/ 0x04
kontrol karakterini ve WP ASCII sayfasında açıklandığı gibi başkalarının bir demetini anlıyorum. diğer bazı beklenmeyen anahtarlar da denetim karakterleri oluşturdu:
CTL-2/@ = NUL = ^@ = 0x00 (expected actually)
CTL-3/# = ESC = ^[ = 0x1B
CTL-4/$ = FS = ^\ = 0x1C
CTL-5/% = GS = ^] = 0x1D
CTL-6/^ = RS = ^^ = 0x1E (expected actually)
CTL-7/& = CTL-/ = US = ^_ = 0x1F
CTL-8/* = DEL = ^? = 0x7F
CTL-1, -9 ve -0 öğelerinin kontrol karakterleri oluşturmadığını, sadece normal rakamları unutmayın.
Beklenen iki karakter (NUL ve RS) dışında, neden terminaller bu sayı tuşlarının alt kümesi için kontrol karakterleri oluşturur?
Düzenleme: açık olması, CTL - [= Esc ve diğer standart "şapka" / kontrol tuşlarının (^ \, ^], ^^, ^ _, ^?) Olduğunu biliyorum ve anlıyorum. Sayı veya ^ #, ^ $, ^%, ^ &, ^ * ve ^ / kontrol tuşlarının neden bunlarla çakıştığını merak ediyorum.