OberonCore
https://forum.oberoncore.ru/

Языкоцветная каретка, быстрые атрибуты, цветное выделение
https://forum.oberoncore.ru/viewtopic.php?f=24&t=6577
Страница 2 из 2

Автор:  adimetrius [ Суббота, 21 Март, 2020 00:41 ]
Заголовок сообщения:  Re: Языкоцветная каретка, быстрые атрибуты, цветное выделени

Artyemov писал(а):
Она же глобальная на все окошки? Или это мне с Raspbian-ом так "повезло"?


Ну так-то текущая раскладка в Лин конфигурируется: можно одну на все окошки, а можно для каждого окошка свою. Но как узнать изнутри приложения (процесса?), какая для него включена раскладка - до конца неясно. Я наковырял какой-то механизм в гтк2, но он ненадежно работает. Пытался напрямую через иксы - и тут познал как раз глубины ада. До дна не дошел. Там в одном буфере по какому-то смещению нахоится адрес другого буфера, в котором по другому смещению находится индекс в массиве (размер элементов которого поди еще определи), адрес которого берется там-то - ну и т.д. Плюс еще при переходе от одной древней версии к другой менее древней лет 15 назад смысл элементов массива поменялся: раньше это был номер группы, а теперь группа всегда 0... короче говорю же, до дна я так и не достал.

Можно, конечно, внешнее приложение вызывать, которое каким-то чудесным способом сообщит раскладку. Ну, то есть через fork-exec, как принято... Два раза в секунду. А чо, компы щас быстрые, и жесткие диски - ССД!

Автор:  adimetrius [ Суббота, 21 Март, 2020 00:45 ]
Заголовок сообщения:  Re: Языкоцветная каретка, быстрые атрибуты, цветное выделени

Я вот представляю, как бы это было в ББ, если бы ББ отвечал за смену раскладки. Примерно вот так наэн:

MODULE Lang;
VAR layout-: Layout;
PROCEDURE SetLayout* (layout: Layout)
END Lang.

И вот наэн дело тут не в языках даже. А в головах. Хотя языки они тоже ж в головах )

Коллеги, а как в А2?

Автор:  budden [ Суббота, 21 Март, 2020 22:40 ]
Заголовок сообщения:  Re: Языкоцветная каретка, быстрые атрибуты, цветное выделени

А возможно ли сделать в ББ "свою" раскладку со своим переключателем? Касаемо A2 - сейчас сложно что-либо прогнозировать, но если бы коронавируса не было, я бы смог ответить на этот вопрос месяца через три. А так - возможны отклонения в любую сторону.

Автор:  adimetrius [ Суббота, 21 Март, 2020 22:59 ]
Заголовок сообщения:  Re: Языкоцветная каретка, быстрые атрибуты, цветное выделени

budden писал(а):
А возможно ли сделать в ББ "свою" раскладку со своим переключателем?

На раз. Ну, почти. Весь клавиатурный ввод проходит через HostWindows, там-то его и можно словить и как хочешь переделать.

А зачем?

Оговорки: я не уверен, как будут вести себя хост-контролы; они получают клавиатуру "напрямик" от ХостОС, но перенаправляют ее все равно в HostWindows, однако кто его знает, какие там могут быть сурпризы.
по уму, нужно ж знать скан-коды прилетевших клавиш, чтобы их конвертировать в CHAR - полагаю, можно эти сканкоды узнать у ХостОС, но не пробовал.

И когда фокус - в меню, вся клавиатура идет мимо ББ, поэтому в меню не будет своей раскладки. Но некритично, кмк.

Автор:  budden [ Суббота, 21 Март, 2020 23:12 ]
Заголовок сообщения:  Re: Языкоцветная каретка, быстрые атрибуты, цветное выделени

В меню горячие клавиши можно сделать циферками, тогда будет агностично к раскладке. Зачем - затем, чтобы не погружаться в ад.

Автор:  Александр Ильин [ Воскресенье, 22 Март, 2020 00:57 ]
Заголовок сообщения:  Re: Языкоцветная каретка, быстрые атрибуты, цветное выделени

budden писал(а):
В меню горячие клавиши можно сделать циферками, тогда будет агностично к раскладке. Зачем - затем, чтобы не погружаться в ад.

У меня раскладка Programmer Dvorak, там все циферки перепутаны, и вообще без шифта не являются циферками.
Имхо, если уж работать с клавиатурой, то можно разобраться с раскладкой, я полагаю это не должно быть так уж заумно.

Автор:  budden [ Воскресенье, 22 Март, 2020 10:40 ]
Заголовок сообщения:  Re: Языкоцветная каретка, быстрые атрибуты, цветное выделени

Если пользоваться кнопками-акселераторами меню и ставить целью кроссплатформенность Win/Lin, то разобраться у меня не получилось, т.к. разные реализации меню ведут себя по-разному в этом отношении. 20 лет мучаюсь уже. Если в своём приложении ещё можно пытаться наколхозить дубликаты, чтобы было агностично, то в системном ничего у меня по сей день сделать не получилось.

Именно поэтому нет альтернативы экстремальной русификации. Делать такой софт, который сделан удобным для двухъязычной работы, а не соглашаться на низкокачественные решения. Американцам-то всё равно, они одноязычные. Вот и платим дань всю жизнь.

Страница 2 из 2 Часовой пояс: UTC + 3 часа
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/