OberonCore

Библиотека  Wiki  Форум  BlackBox  Компоненты  Проекты
Текущее время: Пятница, 29 Май, 2020 14:27

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 27 ]  На страницу Пред.  1, 2
Автор Сообщение
СообщениеДобавлено: Суббота, 21 Март, 2020 00:41 
Аватара пользователя

Зарегистрирован: Суббота, 16 Февраль, 2008 02:47
Сообщения: 233
Artyemov писал(а):
Она же глобальная на все окошки? Или это мне с Raspbian-ом так "повезло"?


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

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


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Суббота, 21 Март, 2020 00:45 
Аватара пользователя

Зарегистрирован: Суббота, 16 Февраль, 2008 02:47
Сообщения: 233
Я вот представляю, как бы это было в ББ, если бы ББ отвечал за смену раскладки. Примерно вот так наэн:

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

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

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


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Суббота, 21 Март, 2020 22:40 

Зарегистрирован: Понедельник, 11 Сентябрь, 2017 13:23
Сообщения: 847
А возможно ли сделать в ББ "свою" раскладку со своим переключателем? Касаемо A2 - сейчас сложно что-либо прогнозировать, но если бы коронавируса не было, я бы смог ответить на этот вопрос месяца через три. А так - возможны отклонения в любую сторону.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Суббота, 21 Март, 2020 22:59 
Аватара пользователя

Зарегистрирован: Суббота, 16 Февраль, 2008 02:47
Сообщения: 233
budden писал(а):
А возможно ли сделать в ББ "свою" раскладку со своим переключателем?

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

А зачем?

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

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


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Суббота, 21 Март, 2020 23:12 

Зарегистрирован: Понедельник, 11 Сентябрь, 2017 13:23
Сообщения: 847
В меню горячие клавиши можно сделать циферками, тогда будет агностично к раскладке. Зачем - затем, чтобы не погружаться в ад.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Воскресенье, 22 Март, 2020 00:57 
Аватара пользователя

Зарегистрирован: Вторник, 19 Сентябрь, 2006 21:54
Сообщения: 2341
Откуда: Россия, Томск
budden писал(а):
В меню горячие клавиши можно сделать циферками, тогда будет агностично к раскладке. Зачем - затем, чтобы не погружаться в ад.

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


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Воскресенье, 22 Март, 2020 10:40 

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

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


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 27 ]  На страницу Пред.  1, 2

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Вся информация, размещаемая участниками на конференции (тексты сообщений, вложения и пр.) © 2005-2020, участники конференции «OberonCore», если специально не оговорено иное.
Администрация не несет ответственности за мнения, стиль и достоверность высказываний участников, равно как и за безопасность материалов, предоставляемых участниками во вложениях.
Без разрешения участников и ссылки на конференцию «OberonCore» любое воспроизведение и/или копирование высказываний полностью и/или по частям запрещено.
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB