crypt of decay - Post a comment [entries|archive|friends|userinfo]
ketmar

[ userinfo | ljr userinfo ]
[ archive | journal archive ]

немного допилил YTERM Nov. 19th, 2023|03:49 pm

ketmar
категорически заебло, что в терминале невозможно узнать про нажатия чего-то типа «C-S-Enter» (или пробел, или альфанум). поэтому допилил специальное YTERM-расширение: «\x1b[<upper-ascii-code>;<modcode>Y».

modcode — обычный код для модофикаторов, который используется и в других OSC:
n;2 — Shift
n;3 — Alt
n;4 — Alt+Shift
n;5 — Ctrl
n;6 — Ctrl+Shift
n;7 — Ctrl+Alt
n;8 — Ctrl+Alt+Shift

естественно, просто Alt генерит обычный Esc, code. и Shift с циферками не перехватывается. а остальное — таки да. включая Alt+Shift+буковка, потому что мне так удобней.

соответственно, я теперь могу писать tty-софт, который умеет в кучу кейкомбов с разными-всякими модификаторами. конечно, работать это будет только в моей терминалке — но меня не волнует, я другие терминалки не использую. никто не мешает всем остальным эмуляторам терминалов взять — и поддержать Мой Охуительный Стандарт. не хотят? ну, их проблемы.

я — как обычно — совершенно не понимаю, почему до сих пор на такие комбы нет стандарта. если уж ведро пинусов так держится за протокол дивайсов более чем полувековой давности — хуй с ним. но нахера делать вид, что с тех пор ничего не поменялось? у нас есть клавиатуры с кучей модификаторов — но использовать это нормально в консольном софте невозможно, потому что… а хуй знает, почему. видимо, потому что ссаные пинусы — это повторение уёбищной, собраной на коленке говнооперационки 70-х годов прошлого века.

впрочем, я слишком многого хочу от ведра пинусов: там даже стандарта на OSC от функциональных клавиш (и некоторых других, типа Home/End) нет. дебилыбля.

кстати, нумерация Shift+F-кнопочек в OSC нихуя не последовательная. почему? потому что идите нахуй, вот почему. потому что на старых клавах были F1-F4, и всё. поэтому S-F1..S-F4 — это [23..26]. 27 — пропущен. Очень Страшное Число даже в десятичной записи, а не одним байтом, лучше не использовать, ага. S-F5 и S-F6 будут 28 и 29. число 30 тоже Очень Страшное, его опять пропустили. S-F7..S-F10 — [31..34].

и если вы думаете, что без шифта хотя бы Fn нормальные… F1-F5: [11..15]. F6..F10: [17..21]. а потому что идите нахуй два раза, вот почему. ах, да. это rxvt. а если xterm — то F1-F4 совсем особенные, они генерируют «\x1bOP» и далее до «S».

о, и ещё. F11 и F12. хахаха. F11 — 23. F12 — 24. конечно, 23 — это «Shift+F1». а кого ебёт, зачем нам отличать F11 от Shift+F1? или F12 от Shift+F2? в общем, их я тоже в своё расширение вынес, с кодами 111 и 112.
Link Read Comments

Reply:
From:
(will be screened)
Identity URL: 
имя пользователя:    
Вы должны предварительно войти в LiveJournal.com
 
E-mail для ответов: 
Вы сможете оставлять комментарии, даже если не введете e-mail.
Но вы не сможете получать уведомления об ответах на ваши комментарии!
Внимание: на указанный адрес будет выслано подтверждение.
Username:
Password:
Subject:
No HTML allowed in subject
Message: