Щас настраивал раскладку в MSKLC, но мне почему-то не удаётся установить несколько раскладок — только одну возможно, чтобы поставить другую надо удалить предыдущую.
И ещё, как бы не называл проект — в списке раскладок всегда появляется слово zagotovka.
Я что-то делаю не так или это косяк там?
Посоветуйте, мне редактор тогда. Помню Пюфон давал свою глаголицу, в чём она сделана была?
Давайте напишем хороший редактор раскладок! [troll]ЛФ, а до сих пор нету редактора![/troll]
Какоува структура файла раскладки MS?
Пока суть да дело, предлагаю альтернативное решение с помощью AutoHotkey. И новых раскладок устанавливать не надо! Что вам сбацать? Давайте схемы.
А насколько AHK портабелен? Можно ли его таскать на флешке, без установки? Он ничего не пишет в реестр?
придумал себе ник
дмитрий = dmitrii = dmi3i = dmiiiii
правда, в интернете уже есть такой ник :'(
Цитата: Dmi3 от января 3, 2012, 22:51
А насколько AHK портабелен? Можно ли его таскать на флешке, без установки? Он ничего не пишет в реестр?
Скомпилированные скрипты портабельны. Да и сам AHK тоже: можно перетаскивать мышью иконки скриптов на autohotkey.exe, где бы этот файл ни находился. На флешке таскать можно.
Единственное насчёт чего нужно предупредить: если скрипт устанавливает хук, антивирусу это может показаться подозрительным.
Цитата: Квас от января 3, 2012, 22:49
Пока суть да дело, предлагаю альтернативное решение с помощью AutoHotkey. И новых раскладок устанавливать не надо! Что вам сбацать? Давайте схемы.
Спасибо!
Ну вобщем всё, что хотел, уже сделал, но в будущем может понадобиться ещё что-то.
Цитата: Валентин Н от января 3, 2012, 23:16
но в будущем может понадобиться ещё что-то.
Всенепременнейше пишите! Надеюсь, будете приятно удивлены простотой скриптов и удобством работы с ними.
Цитата: Квас от января 3, 2012, 23:22
Всенепременнейше пишите! Надеюсь, будете приятно удивлены простотой скриптов и удобством работы с ними.
Спасибо! :-[
Цитата: Валентин Н от января 3, 2012, 22:42
Щас настраивал раскладку в MSKLC, но мне почему-то не удаётся установить несколько раскладок — только одну возможно, чтобы поставить другую надо удалить предыдущую.
И ещё, как бы не называл проект — в списке раскладок всегда появляется слово zagotovka.
Я что-то делаю не так или это косяк там?
Помню, у меня тоже была такая проблема сначала. Но потом нашёл, где это имя указывается.
А вот сейчас не помню — давно не пользовался, надо опять искать.
Цитата: Квас от января 3, 2012, 23:22
Всенепременнейше пишите! Надеюсь, будете приятно удивлены простотой скриптов и удобством работы с ними.
:+1:
Цитата: Tori от января 3, 2012, 22:54
придумал себе ник
дмитрий = dmitrii = dmi3i = dmiiiii
правда, в интернете уже есть такой ник :'(
Так завжди... Лишається насолоджуватись конспірацією ;)
Цитата: Валентин Н от января 3, 2012, 22:42
Щас настраивал раскладку в MSKLC, но мне почему-то не удаётся установить несколько раскладок — только одну возможно, чтобы поставить другую надо удалить предыдущую.
И ещё, как бы не называл проект — в списке раскладок всегда появляется слово zagotovka.
Я что-то делаю не так или это косяк там?
Посоветуйте, мне редактор тогда. Помню Пюфон давал свою глаголицу, в чём она сделана была?
Да, есть такая проблема. В Project->Properties нужно указать уникальное имя, не совпадающее с другими раскладками (без пробелов, не более 8 букв, как во времена MS-DOS). Потом, у него какие-то заскоки с разными версиями одной и той же раскладки — каждый раз при обновлении версий долго бьюсь головой об стенку, чтобы убрать старую версию. Чтобы избежать конфликта, возможно, есть смысл делать так: запустить msklc, File->Load existing keyboard... , выбрать из списка установленную предыдущую версию своей раскладки, отредактировать, дав ей другое имя, создать установочный пакет, установить — тогда раскладки будут считаться разными.
Или имелось в виду несколько раскладок для одного языка? Их можно добавить сразу несколько, но при этом переключение между ними делается другой комбинацией (например, левый Shift+Alt, если Ctrl+Shift занят переключением между языками).
Имя, которое подставляется, также можно изменить, насколько я помню, лишь отредактировав файл klc в текстовом редакторе поле description вконце (редактор должен поддерживать utf-16). На каком этапе оно туда попадает, я пока не разобрался. Впрочем, оно при установке также записывается в системный реестр и при установке новых версий может каким-то образом оставаться там и ассоциироваться с новой раскладкой.
В общем, давайте ещё до кучи напишем-таки редактор раскладок. Ну пожалуйста! Давайте найдём структуру раскладки и будем с ума сходить.
Есть и такая идея, кстати. В принципе, там можно и вообще текстовым редактором обойтись: исходник текстовый, его можно в любом редакторе смастерить (даже использование utf-16 необязательно (почему msklc сейвит его именно в этой кодировке, я так и не понял), utf-8 тоже поддерживается, хотя на практике там и простого ascii достаточно) либо сгенерировать своей программой, компиляция делается утилиткой kbdutool.exe, которую можно запустить самостоятельно в командной строке. Правда, я пока не разобрался с созданием установочных пакетов, но, думаю, это тоже решается.
Цитата: arseniiv от января 4, 2012, 13:57
В общем, давайте ещё до кучи напишем-таки редактор раскладок.
Валентину же "редавтор" нужен :donno:
После того, как завёл себе АНК, не ощущаю потребности ни в каких иных способах модификации раскладок.
Цитата: lehoslav от января 4, 2012, 14:45
Валентину же "редавтор" нужен
Ого! До сих пор не замечал.
Не придирайтесь к почерку.
Цитата: Oleg Grom от января 4, 2012, 14:48
red author
авторы раскладок являющиеся коммунистами? :???
Цитата: Yitzik от января 4, 2012, 14:45
После того, как завёл себе АНК, не ощущаю потребности ни в каких иных способах модификации раскладок.
Мнтересно, мегараскладку типа той, которой я пользуюсь, можно в AHK импортировать? И как там с использованием AHK под линуксом — это вообще возможно?
Цитата: Yitzik от января 4, 2012, 14:45
После того, как завёл себе АНК, не ощущаю потребности ни в каких иных способах модификации раскладок.
Я с тех пор только пару раз исправлял ошибки в уже имеющихся. Деинсталлировал две дополнительных раскладки для русского и US International, оставил только свою русскую со знаками препинания без шифтов и латиницей на AltGr и (на домашнем компьютере, для жены) русскую фонетическую, а также иврит. Даже арабицу у гречицу через AHK набираю, ибо нечасто нужны и я не помню их раскладки.
Цитата: Python от января 4, 2012, 14:54
Мнтересно, мегараскладку типа той, которой я пользуюсь, можно в AHK импортировать?
Импортировать? Нет, создать по образцу.
Думаю, если ты её всю уже помнишь — нет смысла.
Я, однако же, все свои попытки мегараскладок никак не мог выучить, а на AHK моментально запомнил в десятки, а скорее в сотни раз большее количество символов. Никакими раскладками такого удобства не добиться.
Цитата: Yitzik от января 4, 2012, 14:45
После того, как завёл себе АНК, не ощущаю потребности ни в каких иных способах модификации раскладок.
Нашего полку прибыло! :):)
Цитата: Python от января 4, 2012, 14:54
Мнтересно, мегараскладку типа той, которой я пользуюсь, можно в AHK импортировать?
Сделать можно, импортировать — вопрос.
Цитата: Python от января 4, 2012, 14:54
И как там с использованием AHK под линуксом — это вообще возможно?
Очень вряд ли. По своей сути AHK завязан на Windows.
Надо признать, что AHK не панацея. Например, простую идею о том, чтобы нажатие на s производило ſ, а ſ: автоматически заменялось бы на s, мне реализовать не удалось. И русскую раскладку я бы не стал делать скриптом над английской: иначе невозможно было бы использовать русские горячие строки.
Зато AHK позволяет избавиться от ужаса циклического переключения трёх и более раскладок, потому что переключение можно настраивать.
Цитата: Квас от января 4, 2012, 15:09
Например, простую идею о том, чтобы нажатие на s производило ſ, а ſ: автоматически заменялось бы на s, мне реализовать не удалось.
:o
Цитата: Тайльнемер от января 4, 2012, 15:43
Цитата: Квас от января 4, 2012, 15:09Например, простую идею о том, чтобы нажатие на s производило ſ, а ſ: автоматически заменялось бы на s, мне реализовать не удалось.
:o
Дело в том, что символ, введённый скриптом, не может использоваться в горячей строке.
Мне кажется, корень моих затруднений в природе вещей.
Если сделать раскладку, в которой ſ на месте s, то автозамену можно использовать. Я сделал такую раскладку для английского, а заведовать переключением назначил AHK. Как ни странно, он путал две английские раскладки — причина до сего дня для меня покрыта мраком.
Замечательно, что файл раскладки — текстовой! Редактор становится проще соорудить. Точнее, интерфейс-то никак не изменится, зато сохранение и открытие будет довольно простым.
А где можно найти формат файла и пожелания к редактору?
Документации я пока не видел (впрочем, особо и не искал). Хотя образец исходника несложно создать самому с помощью MSKLC или где-то скачать.
Цитата: Квас от января 4, 2012, 15:48
Как ни странно, он путал две английские раскладки — причина до сего дня для меня покрыта мраком.
Путал, очевидно, не он, а Windows. Если переключать без AHK, с помощью Ctrl+Shift+0‥9 — то же самое.
Он переключает на последнюю использовавшуюся раскладку для требуемого языка.
И только со второго нажатия выбирает нужную.
Я уже привык всегда нажимать Ctrl+Shift+2×2, чтобы быть уверенным, что он переключит на мою йцукенг, а не на чёерты.
Но AHK почему-то переключает надёжно, повторять не приходится:
;Switch the active window's keyboard layout/language:
LangSwitch(layout)
{
ControlGetFocus,ctl,A
SendMessage, 0x50, 0, layout, %ctl%, A ;WM_INPUTLANGCHANGEREQUEST
}
GetInputLocaleId()
{
SetFormat, Integer, H
WinGet, WinId,, A
ThreadId:=DllCall("GetWindowThreadProcessId", UInt, WinId, UInt, 0)
Return DllCall("GetKeyboardLayout", UInt, ThreadId, UInt)
}
#1::LangSwitch(0x04090409) ; to English
#2::LangSwitch(0xF0C00419) ; to Russian
#3::LangSwitch(0xF0C20419) ; to Russian
#4::LangSwitch(0xF0C4040D) ; to Hebrew
^+`::
InputLocaleId:=GetInputLocaleId()
MsgBox, %InputLocaleId%
^CapsLock::
If (GetInputLocaleId()==0x04090409)
{
LangSwitch(0xF0C00419)
return
}
LangSwitch(0x04090409)
return
Вот интересно — как перепрогаммировать шифт и капслок.
Капслок и шифт можно объединить в одной клавише, тк капс срабатывает от одиночного нажатия, а шифт только с чем-то.
Поясняю — если шифт нажать не одновременно с чем-то, а одиночно (без никто), то пусть бы он срабатывал как капс, с зажиганием лампочки.
А сам капс можно было бы использовать для переключения раскладки, с тем же принципом что и шифт.
Т.е: одиночное нажатие — постоянное переключение, одновременное — только пока зажат.
Это Мнаше такую идею подкинул, только не помню где и как именно это произошло.
Цитата: Валентин Н от января 5, 2012, 19:13
Капслок и шифт можно объединить в одной клавише, тк капс срабатывает от одиночного нажатия, а шифт только с чем-то.
Поясняю — если шифт нажать не одновременно с чем-то, а одиночно (без никто), то пусть бы он срабатывал как капс, с зажиганием лампочки.
AHK: что-то не нашёл как переключать капс, так что просто прописал включение нужного режима.
Shift::
if (GetKeyState("CapsLock", "T"))
SetCapsLockState, Off
else
SetCapsLockState, On
return
CapsLock::MsgBox, Hello world!
А не жирно будет капсу, чтобы его шифт делал? Всё-таки капсом мы пользуемся раз в пятилетку. Один раз я функции капса передоверил Shift+CapsLock. А шифт можно чем-то более общественно-полезным загрузить: те же раскладки включать.
Цитата: Валентин Н от января 5, 2012, 19:13
а одиночно (без никто), то пусть бы он срабатывал как капс
Беее. :кашляет:
Цитата: Квас от января 5, 2012, 19:36
А не жирно будет капсу, чтобы его шифт делал?
Что‽ Я про то и говорю, что жирно занимать клавишу, которой не пользуются. Переключить раскладку насовсем, можно шифтом (одиночным нажатием), если же нажимать шифт с чем-то, то переключение будет временным, так же как щас.
А капсом можно раскладки переключать по такому же принципу: одиночное нажатие — постоянно, одновременное — временно (пока зажат).
Скачал АНК и что с ним делать? :donno:
Цитата: Валентин Н от января 5, 2012, 19:46
Скачал АНК и что с ним делать? :donno:
Установить.
Скрипты можно создавать в любом текстовом редакторе; расширение .ahk, кодировка utf-8. Они предлагают использовать SciTE для AHK, там подсветка синтаксиса искаропки.
Если двойным щелчком скрипты не запускаются, надо назначить autohotkey.exe программой по умолчанию.
Вот и всё. :)
Цитата: Валентин Н от января 5, 2012, 19:46
Цитата: Квас от января 5, 2012, 19:36А не жирно будет капсу, чтобы его шифт делал?
Что‽ Я про то и говорю, что жирно занимать клавишу, которой не пользуются. Переключить раскладку насовсем, можно шифтом (одиночным нажатием), если же нажимать шифт с чем-то, то переключение будет временным, так же как щас.
Мне за шифт обидно: целых две удобные клавиши, а на них вешать всякую муть.
Кстати, AHK позволяет управляться с ними индивидуально: LShift и RShift.
По умолчанию запущенный скрипт отображается иконкой в панели уведомлений, можно выключать, приостанавливать и т. д. с помощью контекстного меню.
Цитата: Квас от января 5, 2012, 19:53
Скрипты можно создавать в любом текстовом редакторе;
Как это делать-то?
Где взять нормальную инструкцию?
Цитата: Квас от января 5, 2012, 19:54
Мне за шифт обидно: целых две удобные клавиши, а на них вешать всякую муть.
Я вообще не пойму что вам не нравится?
Цитата: Валентин Н от января 5, 2012, 19:58
Цитата: Квас от января 5, 2012, 19:53Скрипты можно создавать в любом текстовом редакторе;
Как это делать-то?
Где взять нормальную инструкцию?
Можете поместить мой код в файл с расширением .ahk и запускать. Файл можно в Блокноте создать. А SciTE вы не скачивали? Я до сих пор им по инерции пользуюсь.
Насчёт туториала — можете посмотреть
http://www.autohotkey.com/docs/Tutorial.htm
(Вроде, видел и по-русски.) И справка у них совершенно замечательная. И я могу вам что-нибудь рассказать, если надо.
Да. Я по справке что-то себе натворил, чтобы включать и выкелючать определённый режим азмены, и затем забросил на долгое время. Лень выдумывать себе скрипт.
Цитата: arseniiv от января 5, 2012, 20:10
Лень выдумывать себе скрипт.
Это как? У меня сложность в том, чтобы задачу придумать. Придёт в голову задача — перероешь всю справку. :)
Я даже не знаю, какие символы хочу вводить. ;D
Цитата: arseniiv от января 5, 2012, 21:42
Я даже не знаю, какие символы хочу вводить. ;D
Да там же не только символы — что угодно можно делать. Одним из первых я сделал скрипт, который открывал книги, которыми часто пользовался — чтобы по папкам не лазить. Поисковичками по сканированным словарям постоянно пользуюсь. Сделал сейчас, чтобы в SumatraPDF клавиши j и k соответствовали Up и Down, à la vim. Короче говоря, нужна только фантазия.
Ну мне-то пока только для набора символов нужно. :) Фантазия у меня другим занята. Наверно.
Эх, с грустью вспоминаю времена, когда эта тема была ещё о редавторах. :'(
Редавторы раскладок не нужны. 8-)
Может ,разделить тему на MSKLC и AHK?
Цитата: Квас от января 6, 2012, 00:23
Редавторы раскладок не нужны. 8-)
Мой идеал — формат раскладок, который можно было бы легко приспособить для различных ОС. AHK как основа для него плох тем, что может слишком много. Ну нельзя в одну кучу сваливать экзотические письменности, управляющие клавиши, действия с окнами, запуск софта — из этой каши трудно будет выделить собственно раскладку. Если чертить прямую без линейки, прямая линия не получится.
Цитата: Квас от января 5, 2012, 19:36
AHK: что-то не нашёл как переключать капс, так что просто прописал включение нужного режима.
Не знаю, как в AHK, а я в своей переключалке намучался и в конечном итогде сделал повторное «виртуальное» нажатие CapsLock'а. Потому что хук в Windows не может предотвратить нажимание CapsLock'а (как и других Lock'ов). Вот такой вот костыль:
if (key == VK_CAPITAL && state & 0x3a0000) {
/* state & 0x3a0000 гарантирует, что скан-код
клавиши не равен 0. Т.е. что это физически нажатая клавиша,
а не срабатывание хука на нашу виртуальную.
*/
if (((GetKeyState(0x14)) & 0xffff) != 0) /* Если CapsLock после нажатия включён...
*/
keybd_event(VK_CAPITAL, 0, 0, 0); /* Виртуально нажимаем CapsLock со скан-кодом 0.
*/
if (state & 0x40000000) /* Если клавиша отпущена (а не нажата), то...
*/
setKeyboardLayout(shift); /* Вызываю свою функцию смены раскладки
*/
return -1; /* Следующие хуки не вызываем
*/
}Понятно, что это костыль, но, кажется, в Windows по другому нельзя. :donno: Недостаток подхода в том, что, если компьютер тормозит, может появиться задежка перед виртуальным нажатием CapsLock'а.
Цитата: Квас от января 5, 2012, 19:54
Мне за шифт обидно: целых две удобные клавиши, а на них вешать всякую муть.
А как Вам идея ColorForth'а? Мол, клавиш надо меньше: удобнее два раза нажать клавишу, до которой не надо тянуться, чем один раз клавишу =.
Цитата: Квас от января 6, 2012, 00:01
Да там же не только символы — что угодно можно делать.
Просмотрю свои скрипты...
До́ма:
1. Меню перехода к самым частонужным каталогам (работает в Explorer, Open / Save file, и т.п.).
2. Меню ввода частонужных строк (email'ы, стандартные пароли на форумах, и т.п.). Назначено на то же сочетание клавиш, что и #1.
3. Переключение раскладок по Win+1,2,3,4. Переключение раскладок rus/eng по Ctrl+CapsLock.
4. Запуск / переход к частонужным программам (аудиоплеер, proxy, file-manager, англо-русский словарик, Opera, RegEdit).
5. Переход к окошку с открытым PDF или DJVU (одна и та же клавиша).
6. Регулировка громкости (Win+PgUp/PgDn). Усовершенствована по сравнению со стандартной: во-первых, меняется на проценты, а не на постоянную величину, так что на малой громкости регулировка очень плавная, а на большой не приходится сорок раз жать на клавишу, чтобы добиться заметных изменений. Во-вторых, Win+PgUp снимает Mute, если он был включён. В-третьих, нажатие Ctrl в дополнение к этим сочетаниям ускоряет изменения, а нажатие Alt меняет не общий уровень, а только громкость WAV, что важно, поскольку некоторые плееры меняют именно его.
7. Дозвон. Разрыв связи. Разрыв и передозвон. Пользовался, когда связь была через звонилку, а на рапиде долгие ожидания.
8. Minimize window.
9. Toggle «Always on top».
10. Установка уровня прозрачности текущего окна.
11. Выдвинуть CD. Задвинуть CD. Выдвинуть DVD. Задвинуть DVD.
12. Вернуть на место окошко настроек аудио Gigabyte, которое непонятнокакогохрена всегда открывается на втором экране, обычно выключенном (надоело включать ЭЛТ экран при каждом подключении наушников).
13. 1120 автозамен символов. Бо́льшую часть из них помню, благодаря простоте и логичности.
На работе:
0. Часть из уже перечисленных.
1. Нажать кнопку «Прошить телефон» в программе Nokia Phoenix (предварительно позакрывав модальные коробки).
2. Перезапустить Phoenix (удобно, если завис).
3. Распознать подключённый телефон и открыть окно прошивки. Если зависла в процессе — перезапустить.
4. F1‥F8: Нажать нужную из восьми кнопок в диалоге MultiFlash всё в том же фениксе.
5. Скопировать java-программу в телефон в Nokia PC Suite.
6. Вырезать дырку в текущем окне в форме буквы Ы :)
7. Перезапустить зависший Explorer (это нередко бывает при пользовании PC Suite'ом).
Цитата: Gwennel от января 6, 2012, 06:19
Цитата: Квас от января 5, 2012, 19:54Мне за шифт обидно: целых две удобные клавиши, а на них вешать всякую муть.
Мол, клавиш надо меньше: удобнее два раза нажать клавишу, до которой не надо тянуться, чем один раз клавишу =.
До этого пока не дозрел: наверно, психологическая травма от набора смс. :) Может быть как-нибудь... В AHK это легко реализовать с помощью таймера.
Цитата: Квас от января 6, 2012, 10:41
До этого пока не дозрел: наверно, психологическая травма от набора смс. :) Может быть как-нибудь... В AHK это легко реализовать с помощью таймера.
В моём редакторе / файлменеджере такая штука используется уже лет 15. Задолго до SMS.
Правда, я пользуюсь её только для включения режима вставки (иврит в LTR или LTR в иврит) двойным нажатием Insert, но doublestrike регистрируется для всех клавиш.
Цитата: Квас от января 6, 2012, 10:41
До этого пока не дозрел: наверно, психологическая травма от набора смс. :) Может быть как-нибудь... В AHK это легко реализовать с помощью таймера.
В colorForth не таймер (http://www.ultratechnology.com/editor/editor.htm), там чтобы ввести что-нибудь не очень частое (такое как пробел) надо нажать на Alt. Там как раз мизинец не перегружен.
Цитата: mnashe от января 6, 2012, 11:51
В моём редакторе / файлменеджере такая штука используется уже лет 15. Задолго до SMS.
Правда, я пользуюсь её только для включения режима вставки (иврит в LTR или LTR в иврит) двойным нажатием Insert, но doublestrike регистрируется для всех клавиш.
Вы нарушаете Микрософтов панент на дабльклик! :negozhe:
Цитата: mnashe от января 6, 2012, 08:51
6. Вырезать дырку в текущем окне в форме буквы Ы :)
Выложете код? ::)
Кто-нибудь будет уже поддерживать мой энтузиазм и продолжит тему о собственном нашем редакторе раскладок? :negozhe: >(
А где в автохоткее интерфейс прячется?
Какой интерфейс?
Цитата: Soraetobu от января 6, 2012, 12:31
Выложете код?
Ой.
Послезавтра, когда снова буду на работе (если не забуду).
Дома не уверен, что есть копия.
Цитата: Валентин Н от января 6, 2012, 13:17
А где в автохоткее интерфейс прячется?
Действительно, какой интерфейс?
Это скриптовый язык + приложение, запускающее скрипт.
Со скриптами можно работать с помощью контекстного меню, а можно в самих же скриптах определять горячие клавиши, делать панельки и окошки для управления и т. д. Например, строчка
F12::Suspend
делает клавишу F12 переключателем: по её нажатию горячие клавиши и строки блокируются или возобновляют работу.
Цитата: Квас от января 6, 2012, 13:45
Действительно, какой интерфейс?
Как в MSKLC: выскакивает изображение клавы, тыкаешь в квадратик и назначаешь туда символ, потом тоже самое с шифтом, капсом кнтролом и тд.
Понятно конечно, что логические операции так не сделаешь, но простые команды должны сидеть в интерфейсе.
Не должны. Это многофункциональная программа, и, во-первых, некрасиво делать интерфейс не для всех функций с клавиатурой, а во-вторых, сделать для всех трудно. И не нужно.
Цитата: Валентин Н от января 6, 2012, 13:54
Цитата: Квас от января 6, 2012, 13:45Действительно, какой интерфейс?
Как в MSKLC: выскакивает изображение клавы, тыкаешь в квадратик и назначаешь туда символ, потом тоже самое с шифтом, капсом кнтролом и тд.
Понятно конечно, что логические операции так не сделаешь, но простые команды должны сидеть в интерфейсе.
Зачем всё это?
Например, сейчас мне актуальна раскладка для древнеисландского языка. Для этого я пользуюсь следующим скриптом:
#Hotstring *?C
::th::þ
::Th::Þ
::TH::Þ
::q::þ
::Q::Þ
::dh::ð
::Dh::Ð
::DH::Ð
::w::ð
::W::Ð
::ae::æ
::Ae::Æ
::AE::Æ
::oe::œ
::Oe::Œ
::a/::á
::A/::Á
::e/::é
::E/::É
::i/::í
::I/::Í
::o/::ó
::O/::Ó
::u/::ú
::U/::Ú
::y/::ý
::Y/::Ý
::]::ö
::]::Ö
::[::ø
::[::Ø
::c::ǫ
::C::Ǫ
Могу даже пояснить.
Реализовано через автозамены, которые оформляются стандартно: между парами двоеточий стоит заменяемый текст. Строчка #Hotstring *?C в начале определяет опции для нижеследующих горячих строк: символы соответственно означают, что горячие строки не требуют завершающего символа, выполняются внутри слова и чувствительны к регистру. Потом перечислено, что на что заменяется: общая идеология этого скрипта — символ / добавляет акут, также используются некоторые лигатуры, а ненужные буквы qwc я переделал на нужные þðǫ.
Можно добавить следующие строчки:
::|::
return
F11::Suspend
F12::ExitApp
Символ | заменяется на ничто и ничего не делает: его роль — блокировать замену лигатур; F11, F12 — включение/выключение и выход.
Цитата: Квас от января 6, 2012, 14:05
Символ | заменяется на ничто и ничего не делает: его роль — блокировать замену лигатур;
Зачем это?
Если мне надо избежать срабатывания замены, я просто посреди её нажимаю ← →.
Цитата: mnashe от января 6, 2012, 14:16
Цитата: Квас от января 6, 2012, 14:05Символ | заменяется на ничто и ничего не делает: его роль — блокировать замену лигатур;
Зачем это?
Если мне надо избежать срабатывания замены, я просто посреди её нажимаю ← →.
Для полноты ощущений. :) Я у себя убрал, потому что пользы не было, а символ | оказался нужным.
Так это ж посути транслитератор.
Это автозамены. В принципе, можно делать «раскладки» через горячие клавиши, но это не так удобно и довольно громоздко.
Цитата: arseniiv от января 6, 2012, 12:41
Кто-нибудь будет уже поддерживать мой энтузиазм и продолжит тему о собственном нашем редакторе раскладок? :negozhe: >(
Я—нет. Установка раскладки—это неудобно. Лучше автохоткееподобный механизм, который можно запускать в user space даже есть менять системые файлы запрещено.
Да и вообще, я хочу себе не раскладку, а переносимый IME, чтобы вводить
цзуңман. Может быть даже напишу как-нибудь; благо, с Cangjie это просто.
Цитата: Валентин Н от января 6, 2012, 14:29
Так это ж посути транслитератор.
:fp:
Транслитератор работает с уже готовым текстом. Раскладка позволяет вводить символы на месте.
Главное различие: в транслитераторе пользователь не может участвовать в процессе набора.
Пришло в голову! Давайте Арсений сделает редактор раскладок, а потом я сделаю user space программу для запуска этих раскладок. Ну, т.е. чтобы был не только компилятор раскладок (как в MSKLC), но и интерпретатор. :jumping:
Как вариант, можно редактор раскладок даже не делать, а сделать интерпретатор для формата MSKLC. Только дайте формат.
Результат: бедные хеллерики, которым не дают устанавливать собственные раскладки, могут запусть эту user space программу и набирать раскладкой Юкрэйниан бай Пайтон, все счастливы. Ну, если Пайтон предоставит свои исходники, конечно. :mrgreen:
Цитата: Soraetobu от января 6, 2012, 12:26
В colorForth не таймер (http://www.ultratechnology.com/editor/editor.htm), там чтобы ввести что-нибудь не очень частое (такое как пробел) надо нажать на Alt. Там как раз мизинец не перегружен.
s/пробел/Enter/ :-[
ЦитироватьНу, если Пайтон предоставит свои исходники, конечно.
Исходники я вложил в архивы с раскладками, вроде бы.
В мкцлс догадался сделать такую фишку — после точки и запятой автоматом добавляется пробел. После тире тоже, но и перед ним. Но вот про после двоеточия забыл — теперь снова, надо заморачиваться с её установкой и удалением.
Цитата: Валентин Н от января 16, 2012, 16:30
После тире тоже, но и перед ним.
Я всё считаю, что видел где-то, что тире в диапазонах типа «5—10», «Москва—Санкт-Петербург», «формула Ньютона—Лейбница» не отбивается. Правда, не могу ни на что сослаться.
Вот щас поюзал ракскладку и ненарадуюсь, какая же экономия на пробелах выходит, сколько сил экономит!
не
Кстати, а для Линукса (у меня Дебиан) никто не знает, где находится редактор раскладок? :???
Цитата: Квас от января 16, 2012, 21:06
Цитата: Валентин Н от января 16, 2012, 16:30
После тире тоже, но и перед ним.
Я всё считаю, что видел где-то, что тире в диапазонах типа «5—10», «Москва—Санкт-Петербург», «формула Ньютона—Лейбница» не отбивается. Правда, не могу ни на что сослаться.
В диапазонах цифр не отбивается. В диапазонах букв отбивается. Сослаться можно, например, сюда: http://ru.wikipedia.org/wiki/Википедия:Оформление_статей#.D0.A2.D0.B8.D1.80.D0.B5_.28.E2.80.94.29 (http://ru.wikipedia.org/wiki/%D0%92%D0%B8%D0%BA%D0%B8%D0%BF%D0%B5%D0%B4%D0%B8%D1%8F:%D0%9E%D1%84%D0%BE%D1%80%D0%BC%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5_%D1%81%D1%82%D0%B0%D1%82%D0%B5%D0%B9#.D0.A2.D0.B8.D1.80.D0.B5_.28.E2.80.94.29)
И там же: http://ru.wikipedia.org/wiki/Википедия:Оформление_статей#.D0.94.D0.B8.D0.B0.D0.BF.D0.B0.D0.B7.D0.BE.D0.BD.D1.8B (http://ru.wikipedia.org/wiki/%D0%92%D0%B8%D0%BA%D0%B8%D0%BF%D0%B5%D0%B4%D0%B8%D1%8F:%D0%9E%D1%84%D0%BE%D1%80%D0%BC%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5_%D1%81%D1%82%D0%B0%D1%82%D0%B5%D0%B9#.D0.94.D0.B8.D0.B0.D0.BF.D0.B0.D0.B7.D0.BE.D0.BD.D1.8B)
Фишка в том, что в настоящей типографике пробелы всегда были разной величины. Пробелы разной величины есть и в Уникоде, но работает это пока хуже, чем НИС.
P. S. Не знаю наверняка, но, вероятно, и французы ставили не полноразмерные пробелы внутри скобок, кавычек и перед !?;: Но предпочли всё же пробел уродской величины отсутствию всякого пробела.
Цитата: Квас от января 6, 2012, 14:05
Например, сейчас мне актуальна раскладка для древнеисландского языка. Для этого я пользуюсь следующим скриптом:
А я бы пользовался стандартной виндузовской международной раскладкой, которой всегда пользуюсь для западно-европейских языков. Единственная сложность была бы в буквах Ǫ ǫ. Ради только них одних я не стал бы переназначать полклавиатуры или вводить торн последовательными нажатиями вместо аккорда.
Цитата: O от января 17, 2012, 21:59
В диапазонах чисел не отбивается. В диапазонах букв отбивается. Сослаться можно, например, сюда: (wiki/ru) Википедия:Оформление_статей#Тире_(—) (http://ru.wikipedia.org/wiki/%D0%92%D0%B8%D0%BA%D0%B8%D0%BF%D0%B5%D0%B4%D0%B8%D1%8F:%D0%9E%D1%84%D0%BE%D1%80%D0%BC%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5_%D1%81%D1%82%D0%B0%D1%82%D0%B5%D0%B9#.D0.A2.D0.B8.D1.80.D0.B5_.28.E2.80.94.29)
Уже сразу не верю.
ЦитироватьПри наборе в тексте тире с обеих сторон отделяется пробелами, причём слева предпочтительно ставить неразрывный пробел, чтобы препятствовать нежелательному появлению тире в начале строки.
То есть в википедии, наверно, так и следует делать, но обычное текстовое тире совершенно железно должно отбиваться
тонкими пробелами (после точки или запятой было принято вообще не отбивать, что в наши дни часто игнорируется). И приличная система вёрстки должна об этом знать. Например, ТеХовская поддержка русского языка в виде пакета babel предлагает специальную лигатуру ,,"---‟.
Цитата: Квас от января 17, 2012, 22:08
Уже сразу не верю.
Они там часто ссылаются на разные пособия разных авторов с названием «Ручной набор».
Цитата: Квас от января 17, 2012, 22:08
ЦитироватьПри наборе в тексте тире с обеих сторон отделяется пробелами, причём слева предпочтительно ставить неразрывный пробел, чтобы препятствовать нежелательному появлению тире в начале строки.
То есть в википедии, наверно, так и следует делать, но обычное текстовое тире совершенно железно должно отбиваться тонкими пробелами (после точки или запятой было принято вообще не отбивать, что в наши дни часто игнорируется).
Разумеется, конкретная технология зависит от конечной цели (бумага/экран). А Вы пользуетесь тонкими пробелами на регулярной основе для документов, предназначенных только для прочтения на компьютере?
Цитата: O от января 17, 2012, 22:06
Единственная сложность была бы в буквах Ǫ ǫ. Ради только них одних я не стал бы переназначать полклавиатуры или вводить торн последовательными нажатиями вместо аккорда.
В моих раскладках другая логика. Обычно я назначаю одну или несколько клавиш «модификатороми», больше всего люблю слэш (нажимать удобно, а сам редко нужен). В латинской раскладке слэш делает макрон, в латинской «Ренессанс» — граве, во французской его оказалось удобно использовать для àù, но é и ещё кое-что (сначала делал прямолинейно: / — акут, [ — гравис, но потом переделал из-за частоты соответствующих символов). В представленной выше исландской раскладке слэш производит акуты, а специальные буквы вводятся нестандартными способами (задействовал под них ненужные латинские буквы, хотя вначале опять же делал более прямолинейно). Запоминать особо ничего не надо: я всегда знаю, что слэш будет выполнять нужное действие. И в этом плюс большого количества раскладок: удобная клавиша выполняет различные функции в зависимости от контекста и, таким образом, работает по полной программе. И безо всяких контролов и альтов (которые я и нажимать не умею).
Цитата: O от января 17, 2012, 22:11
Они там часто ссылаются на разные пособия разных авторов с названием «Ручной набор».
Вот это и следует курить. :yes:
Цитата: O от января 17, 2012, 22:16
Цитата: Квас от января 17, 2012, 22:08ЦитироватьПри наборе в тексте тире с обеих сторон отделяется пробелами, причём слева предпочтительно ставить неразрывный пробел, чтобы препятствовать нежелательному появлению тире в начале строки.
То есть в википедии, наверно, так и следует делать, но обычное текстовое тире совершенно железно должно отбиваться тонкими пробелами (после точки или запятой было принято вообще не отбивать, что в наши дни часто игнорируется).
Разумеется, конкретная технология зависит от конечной цели (бумага/экран). А Вы пользуетесь тонкими пробелами на регулярной основе для документов, предназначенных только для прочтения на компьютере?
Если я делаю «красивый» документ, то пользуюсь ТеХом, он всё делает как положено. Если я просто пишу на форуме, то тонких пробелов не использую: myst однажды невзначай обронил, что у него вместо них квадраты. Да и жирно будет тире тонкими пробелами отбивать. :)
Я понимаю, что википедисты писали именно насчёт википедии, поэтому фактически у них меньший уровень строгости, что заставляет настораживаться.
Цитата: Квас от января 17, 2012, 22:22
Цитата: O от января 17, 2012, 22:11
Они там часто ссылаются на разные пособия разных авторов с названием «Ручной набор».
Вот это и следует курить. :yes:
Не скажете ли по секрету, какой именно сорт курева у вас — настольное руководство к действию? ;)
Цитата: Квас от января 17, 2012, 22:22
Если я делаю «красивый» документ, то пользуюсь ТеХом, он всё делает как положено.
А потом можно, любуясь этим красивым документом, визивижно копировать из него текст?
Цитата: Квас от января 17, 2012, 22:22
Если я просто пишу на форуме, то тонких пробелов не использую: myst однажды невзначай обронил, что у него вместо них квадраты.
Ничего не поделаешь: браузеры и текстовые редакторы не суть НИС, а реализация Юникода в программах и шрифтах всё ещё несовершенна. Одно время на Заглавной странице в Википедии что-то такое было с квадратами, но только в IE. Сейчас нет.
С неразрывным пробелом перед тире при двустороннем выравнивании, особенно с выключенными переносами, тот же «Ворд» может так растянуть пробел справа, что смотреть не захочется.
Цитата: Квас от января 17, 2012, 22:22
Я понимаю, что википедисты писали именно насчёт википедии, поэтому фактически у них меньший уровень строгости, что заставляет настораживаться.
Это в том смысле, чтобы не переносить их правила в другие применения, или Вас что-то настораживает в самой Википедии?
Цитата: Lugat от января 17, 2012, 21:55
Кстати, а для Линукса (у меня Дебиан) никто не знает, где находится редактор раскладок? :???
Отдельного редактора не существует, насколько мне известно. Файлы раскладок можно редактировать в обычном текстовом редакторе.
Цитата: O от января 18, 2012, 00:47
Цитата: Квас от января 17, 2012, 22:22Цитата: O от января 17, 2012, 22:11Они там часто ссылаются на разные пособия разных авторов с названием «Ручной набор».
Вот это и следует курить. :yes:
Не скажете ли по секрету, какой именно сорт курева у вас — настольное руководство к действию? ;)
Да валяется где-то на диске справочник по ручному набору, не помню чей. Но насчёт «Ньютона—Лейбница» — точно не оттуда.
Цитата: O от января 18, 2012, 00:47
Цитата: Квас от января 17, 2012, 22:22Если я делаю «красивый» документ, то пользуюсь ТеХом, он всё делает как положено.
А потом можно, любуясь этим красивым документом, визивижно копировать из него текст?
Можно, если очень хочется, но некрасиво: вместе с переносами и пр. Pdf одним словом.
Цитата: O от января 18, 2012, 00:47
Цитата: Квас от января 17, 2012, 22:22Я понимаю, что википедисты писали именно насчёт википедии, поэтому фактически у них меньший уровень строгости, что заставляет настораживаться.
Это в том смысле, чтобы не переносить их правила в другие применения, или Вас что-то настораживает в самой Википедии?
Да, именно насчёт переноса. Для обычного текста, наверно, лучше чем у них и невозможно сделать.
Цитата: Python от января 18, 2012, 01:12
Цитата: Lugat от января 17, 2012, 21:55
Кстати, а для Линукса (у меня Дебиан) никто не знает, где находится редактор раскладок? :???
Отдельного редактора не существует, насколько мне известно. Файлы раскладок можно редактировать в обычном текстовом редакторе.
Кстати, а как их найти, чтоб отредактировать? :???
Цитата: Lugat от января 18, 2012, 23:09
Цитата: Python от января 18, 2012, 01:12
Цитата: Lugat от января 17, 2012, 21:55
Кстати, а для Линукса (у меня Дебиан) никто не знает, где находится редактор раскладок? :???
Отдельного редактора не существует, насколько мне известно. Файлы раскладок можно редактировать в обычном текстовом редакторе.
Кстати, а как их найти, чтоб отредактировать? :???
http://www.charvolant.org/~doug/xkb/html/index.html - где-то тут должно быть объяснено.
Цитата: Python от января 18, 2012, 23:41
http://www.charvolant.org/~doug/xkb/html/index.html - где-то тут должно быть объяснено.
Спасибо! Поищем.