Terminal: Selidiki ulang Ctrl+S jeda

Dibuat pada 15 Mei 2019  ·  3Komentar  ·  Sumber: microsoft/terminal

Di beberapa titik dalam sejarah, kami memecahkan Ctrl+S untuk menjeda output di host konsol. Saya pikir itu sekitar waktu kami mengacaukan hal-hal ExtendedEditKeys.

Saya tidak memiliki konteks lengkap tentang ini lagi, ini hanyalah bug satu-satunya judul catatan-untuk-diri yang saya miliki sebagai MSFT: 17790922 yang saya porting ke luar.

Kita perlu menyelidiki kembali keadaan Ctrl+S yang berhenti selama berabad-abad. Bagaimana v1 melakukannya? Bagaimana v2 melakukannya selama rilis Windows 10? Apakah kita perlu memperkenalkannya kembali sebagai opsi?

Area-Input Area-Interaction Issue-Feature Product-Conhost

Komentar yang paling membantu

Di NT 4, dengan mode input baris diaktifkan, output konsol dapat ditangguhkan baik melalui tombol jeda ( VK_PAUSE ) atau Ctrl-S. Saya yakin Ctrl-S dipilih untuk kenyamanan orang yang terbiasa dengan terminal. Yang mengatakan, menekan tombol apa saja akan melanjutkan output; itu tidak harus Ctrl-Q karena konsol sebenarnya bukan terminal yang merespons XOFF/XON.

Sekitar Windows 2000 pengaturan registri "ExtendedEditKey" telah ditambahkan. Jika ini diaktifkan, kunci edit khusus dapat ditentukan di "ExtendedEditkeyCustom". Saya tidak berpikir ini pernah didokumentasikan. Jika tidak ada pemetaan khusus yang ditentukan, itu menggunakan pemetaan default yang menyertakan pemetaan Ctrl-S -> VK_PAUSE . Jadi Ctrl-S masih berfungsi secara default meskipun "ExtendedEditKey" diaktifkan.

Konsol baru memperlihatkan "ExtendedEditKey" dalam dialog properti, tetapi sekarang digunakan kembali untuk "tombol pilihan teks yang diperluas". Karena "ExtendedEditkeyCustom" tampaknya tidak lagi diimplementasikan di luar makro CONSOLE_REGISTRY_EXTENDEDEDITKEY_CUSTOM sisa di sumbernya, saya pikir IsPauseKey seharusnya mengembalikan true untuk VK_PAUSE atau Ctrl-S, yang akan mengembalikan perilaku aslinya.

Pada catatan terkait, di sumber saya melihat bahwa "ExtendedEditKey" dan dialog properti menetapkan nilai global g_fEditKeys , tetapi tampaknya tidak digunakan.

Semua 3 komentar

Ctrl+S / XOFF , ctrl+Q XON. Ini hanya kontrol aliran perangkat lunak lama Anda. Berbicara sendiri, saya akan menggunakannya cukup banyak dengan streaming log, cat, tail dll. Sebuah sisa dari teleprinter / terminal lama dan dijalankan di VT.

Oh, dan ya, menurut saya Anda harus memperkenalkannya kembali.

Di NT 4, dengan mode input baris diaktifkan, output konsol dapat ditangguhkan baik melalui tombol jeda ( VK_PAUSE ) atau Ctrl-S. Saya yakin Ctrl-S dipilih untuk kenyamanan orang yang terbiasa dengan terminal. Yang mengatakan, menekan tombol apa saja akan melanjutkan output; itu tidak harus Ctrl-Q karena konsol sebenarnya bukan terminal yang merespons XOFF/XON.

Sekitar Windows 2000 pengaturan registri "ExtendedEditKey" telah ditambahkan. Jika ini diaktifkan, kunci edit khusus dapat ditentukan di "ExtendedEditkeyCustom". Saya tidak berpikir ini pernah didokumentasikan. Jika tidak ada pemetaan khusus yang ditentukan, itu menggunakan pemetaan default yang menyertakan pemetaan Ctrl-S -> VK_PAUSE . Jadi Ctrl-S masih berfungsi secara default meskipun "ExtendedEditKey" diaktifkan.

Konsol baru memperlihatkan "ExtendedEditKey" dalam dialog properti, tetapi sekarang digunakan kembali untuk "tombol pilihan teks yang diperluas". Karena "ExtendedEditkeyCustom" tampaknya tidak lagi diimplementasikan di luar makro CONSOLE_REGISTRY_EXTENDEDEDITKEY_CUSTOM sisa di sumbernya, saya pikir IsPauseKey seharusnya mengembalikan true untuk VK_PAUSE atau Ctrl-S, yang akan mengembalikan perilaku aslinya.

Pada catatan terkait, di sumber saya melihat bahwa "ExtendedEditKey" dan dialog properti menetapkan nilai global g_fEditKeys , tetapi tampaknya tidak digunakan.

Apakah halaman ini membantu?
0 / 5 - 0 peringkat