Os4.1 для peg2 part 2

Софт современных Amiga-like компьютеров. Morphos 2.x, AmigaOS 4.x, Aros, Linux

Модераторы: striimii, Vinnny

Re: Os4.1 для peg2 part 2

Сообщение anny 16 окт 2013, 18:27

@woodruff
А как там дела с переключалкой кеймапов дела обстоят? Я смотрю у тебя там флажок висит. Это все еще заглушка или уже какая-то функциональность появилась?


Ну вот кстати забыл написать что новых нормальных доков начало появляться что их можно в tray-kind-dock оформлять: там видишь сверху сетевой док (netdock от zzd10h c minidock тултайпом) , рядом mixer docky, на него жмыкаешь и просто volume bar вылезает, удобно так все и по виндовому (но я хз mixer.docky в паблике или нет сейчас). А вот этот вот флажек, как раз сейчас с чуваком который этот mixer.docky сделал и делаем keymap_switcher.docky. В текущий момент оно имеет опции когда жмыкаешь, можно язык выбрать (первый язык берет с парсинга input.prefs, второй выставляешь в туллтайпах). Мышой уже можно переключаться , но ничего не делается, потому как это все начали 3 дня назад делать (тот на кого я надеялся уже месяц или 2 вола тянет, поэтому с другим стали).

Короче сейчас он парится уже с кодом для переключения самого , чтобы кеймапы свитчились. По сути должно быть на днях. Но у нас тут запара чисто с русским. Я нифига не могу врубиться почему в ос4 юзается во всех кеймапам Amiga-1251, а не ISO-8895-5 или как он там который русский ок. Т.е. какова причина я хз .. Но это ладно , другое момент - почему все привязано к prefs:locale, тоесть пока я там русский не выбрал, русского хер ! А ведь хочется чтобы кеймап свитчер работал без привязки к локали. Потому как фонты имеют русские символы , а стало быть могут быть отображены когда и где надо. Короче какойто кишмиш и я чето не врубаюсь вообще. Надо толи новый language driver сделать, который будет english, но включать codepage нужную , или что там куда надо хз .

З.Ы. Кстати, насчет MACE, я тут демку качнул, действительно игруха очень плавная и красивая(я на SAM460+RadeonHD4550 играл). Я так понял, эти товарищи, которые ее сделали теперь примкнули к core-девелоперам.


Угу, но от них особо ничего в бета листах не вижу. Один из них по графике онли, второй по кодам, но хз что он там делает, активности от него не вижу.
anny
Беспардонный Амигофлуд
Беспардонный Амигофлуд
 
Сообщения: 1267
Зарегистрирован: 05 дек 2004, 01:22

Re: Os4.1 для peg2 part 2

Сообщение easy_john 16 окт 2013, 18:31

anny писал(а): кеймапам Amiga-1251, а не ISO-8895-5 или как он там который русский ок.

Ну, iso нафиг не нужен, наиболее правильный вариант иметь все в utf-8, а для совместимости со старым софтом: windows-1251 (cp1251) и, может быть, еще koi8-r и cp866.
PegasosII G4 1.0/1Gb/80Gb/Ati 9200/MorphOS unreg/Debian
a4000/PPC 233mhz/68060 50mhz/128mb/cv ppc/toccata/x-surf/kickflash/indivision/AOS3.9-4.0
a1200/PPC 200mhz/68040 25mhz/256mb/bv ppc/delfina/wifi/indivision sd+ff/AOS 3.9-4.0
a600/68000 7mhz/8mb fast/wifi/AOS 3.0
Аватара пользователя
easy_john
Менеджер
Менеджер
 
Сообщения: 4296
Зарегистрирован: 03 мар 2006, 15:24
Откуда: SPb

Re: Os4.1 для peg2 part 2

Сообщение woodruff 17 окт 2013, 00:00

Короче сейчас он парится уже с кодом для переключения самого , чтобы кеймапы свитчились. По сути должно быть на днях. Но у нас тут запара чисто с русским. Я нифига не могу врубиться почему в ос4 юзается во всех кеймапам Amiga-1251, а не ISO-8895-5 или как он там который русский ок. Т.е. какова причина я хз .. Но это ладно , другое момент - почему все привязано к prefs:locale, тоесть пока я там русский не выбрал, русского хер ! А ведь хочется чтобы кеймап свитчер работал без привязки к локали. Потому как фонты имеют русские символы , а стало быть могут быть отображены когда и где надо. Короче какойто кишмиш и я чето не врубаюсь вообще. Надо толи новый language driver сделать, который будет english, но включать codepage нужную , или что там куда надо хз .


А Вы тупо через keymap.library переключение делаете? И, я чего-то не понял, это только с русским такая проблема или со всеми языками, которые кирилицу используют?
woodruff
Престарелый Амигодум
Престарелый Амигодум
 
Сообщения: 233
Зарегистрирован: 23 окт 2003, 11:26
Откуда: Дубна

Re: Os4.1 для peg2 part 2

Сообщение anny 17 окт 2013, 10:27

@woodruff
А Вы тупо через keymap.library переключение делаете?


Изначально мысли да , т.е. тупо по http://wiki.amigaos.net/index.php/Keymap_Library.

Тот чувак с кем делаем (Javier), уже и на форуме хиперионском спрашивает про текущие моменты: http://forum.hyperion-entertainment.biz ... =26&t=2018

И, я чего-то не понял, это только с русским такая проблема или со всеми языками, которые кирилицу используют?


Я пока хз про другие языки, но факт что чтобы русская cp1251 codepage/charset работала, надо в prefs:locale выбрать russian. Зачем: хз. Ведь по идее в самих кеймапах charset/codepage указывается, зачем эта привязка к locale я не понимаю. И что делается на low level когда выбираем русский с системой - я тоже хз. В смысле что такое происходит когда мы русское локаль выбираю со стороны кода что позволяет русский видеть ? Т.е. видимо какойто env где-то ставится, или еще что-то, что включает cp1251 codepage, и именно только когда локаль русскую выбираешь. Не понятно в общем почему так и для чего.

@Easy
Ну, iso нафиг не нужен, наиболее правильный вариант иметь все в utf-8


Мне вот на форуме говорят что unicode в os4 не поддерживается. А как я помню utf8 это уникод , поэтому хз как можно иметь это в utf8 (и что именно ? фонты ? кеймапы ? )

а для совместимости со старым софтом: windows-1251 (cp1251) и, может быть, еще koi8-r и cp866.


То что 100%, это то что надо вообще все нахрен стереть с ос4 касаемо русского, и сделать 2 раскладки онли: cp1251 , и одна для PC клав, другая для Classic клав. И все , меньше гемора, легче все понять и сделать. Потом, быть может, уже можно будет сделать кеймапов других , но пока что я вообще ничего не понимаю. Т.е. ,если в кеймапе мы указываем чарсет (codepage тобишь) , и фонты уже имеют символы, то что еще то надо системе и для чего выбирать локаль (что она такого делает, если фонты уже имеют русские символы, и чарсет мы указываем в кеймапе).
anny
Беспардонный Амигофлуд
Беспардонный Амигофлуд
 
Сообщения: 1267
Зарегистрирован: 05 дек 2004, 01:22

Re: Os4.1 для peg2 part 2

Сообщение anny 17 окт 2013, 13:30

@easy
В общем пока ковыряюсь и пытаюсь понять все, мне кажется что самым правильным было бы добавить опцию в prefs:locale , как раз под выбором языка:

Only set codepage, no system transalte ON/OFF

Но тогда сама тема "preffered languages" будет немного не ясна, т.к. оно юзается как раз для локалей. Т.е. если первый русский , а второй английский, то оно сначала будет пытаться найти русский локали, и если нет, то английские. И если же тут добавить опцию эту, то как бы не ясно, как тогда preffered language будут работать. Если только конечно когда опция ON, то просто preffered languages тупо ghosted ?

Другой вариант, это делать для каждого кирилик языка еще по language драйверу (locale:languages) в котором будет установки локали в 1251 как оно сейчас и есть, но без опции о траслейте всей оси (тоесть оставить english допустим). Но это как то странно будет, типа "russian_Amiga-1251_no_system_translate_only_codepage.language" :) И такое же надо для все кирилик языков (сербский и тд).
anny
Беспардонный Амигофлуд
Беспардонный Амигофлуд
 
Сообщения: 1267
Зарегистрирован: 05 дек 2004, 01:22

Re: Os4.1 для peg2 part 2

Сообщение easy_john 17 окт 2013, 13:38

anny писал(а):Мне вот на форуме говорят что unicode в os4 не поддерживается. А как я помню utf8 это уникод , поэтому хз как можно иметь это в utf8 (и что именно ? фонты ? кеймапы ? )

Интересная версия, но фонты в поставке aos4.0 и так все юникодные и все фонты, кроме одного (Bitstream Vera) содержат русский алфавит.
То, что при некоторых локалях русские символы перестают отображаться - чисто глюк неправильной конвертации. То есть для отображения системным utf8 шрифтом какого нибудь текста, который хранится в cp1251 применяется не cp1251->utf8, а какой-нить latin1->utf8, соответственно все пропадает.
То есть конвертация в системе должна стоять общая и не меняться от смены локали.

anny писал(а):То что 100%, это то что надо вообще все нахрен стереть с ос4 касаемо русского, и сделать 2 раскладки онли: cp1251, и одна для PC клав, другая для Classic клав.

Раскладки - да.
Упорядочить кодовые страницы - то же да.
(Я помню, что какая-то тупая программа не писала по русски, если выбрано windows-1251, но писала, если выбрано amiga-1251. Вот такой заеб русских амижников)
Иметь возможность 1) вводить с клавы 2) читать пришедший текст в cp866 и koi8-r - опционально, если будет время.

anny писал(а):Т.е. ,если в кеймапе мы указываем чарсет (codepage тобишь) , и фонты уже имеют символы, то что еще то надо системе и для чего выбирать локаль (что она такого делает, если фонты уже имеют русские символы, и чарсет мы указываем в кеймапе).

Грубо говоря у нас три точки приложения:
- кодировка шрифта
- кодировка клавиатуры
- кодировка текста в файлах.
Операционке надо знать через какую таблицу конвертации кодов надо конвертировать
- коды клавиатуры что бы отображать правильные коды шрифта.
- коды текста, что бы отображать правильные коды шрифта.
Если у нас в системе стоят только utf8 шрифты, то вопрос упрощается: надо иметь таблицы что бы кодировку клавы (скажем, amiga1251) показать в utf8. И три таблицы, что бы показать текст пришедший не в utf8 то же перевести в utf8.
Если же у нас в системе есть еще и шрифты cp1251, то надо целую пачку перекодировок изо всех во все.
ЗЫ можешь посмотреть как в линуксе сделано. таблицы все лежат в
/usr/share/keymaps/i386/qwerty/
/usr/share/consolefonts/
/usr/share/consoletrans/
PegasosII G4 1.0/1Gb/80Gb/Ati 9200/MorphOS unreg/Debian
a4000/PPC 233mhz/68060 50mhz/128mb/cv ppc/toccata/x-surf/kickflash/indivision/AOS3.9-4.0
a1200/PPC 200mhz/68040 25mhz/256mb/bv ppc/delfina/wifi/indivision sd+ff/AOS 3.9-4.0
a600/68000 7mhz/8mb fast/wifi/AOS 3.0
Аватара пользователя
easy_john
Менеджер
Менеджер
 
Сообщения: 4296
Зарегистрирован: 03 мар 2006, 15:24
Откуда: SPb

Re: Os4.1 для peg2 part 2

Сообщение easy_john 17 окт 2013, 13:50

Да, т.о. надо гарантированно знать какая кодировка у нас в шрифтах (например utf8), какая кодировка используется в системных сообщениях (например cp1251). Забить в раскладку клавиатуры именно коды cp1251.
Тогда тебе нужна всего 1 таблица перекодировки, из cp1251 в utf8 и все будет показываться, пока эта перекодировка работает.
Исключение может быть со старым софтом, старыми шрифтами и страницах в браузере на нестандартных кодировках.
PegasosII G4 1.0/1Gb/80Gb/Ati 9200/MorphOS unreg/Debian
a4000/PPC 233mhz/68060 50mhz/128mb/cv ppc/toccata/x-surf/kickflash/indivision/AOS3.9-4.0
a1200/PPC 200mhz/68040 25mhz/256mb/bv ppc/delfina/wifi/indivision sd+ff/AOS 3.9-4.0
a600/68000 7mhz/8mb fast/wifi/AOS 3.0
Аватара пользователя
easy_john
Менеджер
Менеджер
 
Сообщения: 4296
Зарегистрирован: 03 мар 2006, 15:24
Откуда: SPb

Re: Os4.1 для peg2 part 2

Сообщение easy_john 17 окт 2013, 13:54

anny писал(а):Другой вариант, это делать для каждого кирилик языка еще по language драйверу (locale:languages) в котором будет установки локали в 1251 как оно сейчас и есть, но без опции о траслейте всей оси (тоесть оставить english допустим). Но это как то странно будет, типа "russian_Amiga-1251_no_system_translate_only_codepage.language" :) И такое же надо для все кирилик языков (сербский и тд).

Надо два отдельных выбора:
1) выбор предпочитаемого языка для отображения системных сообщений.
2) Если выбран английский язык - то дополнительно выбор системной перекодировки
Если выбран русский, то жестко ставить перекодировку 1251 (если системные сообшения на русском хранятся в 1251)
PegasosII G4 1.0/1Gb/80Gb/Ati 9200/MorphOS unreg/Debian
a4000/PPC 233mhz/68060 50mhz/128mb/cv ppc/toccata/x-surf/kickflash/indivision/AOS3.9-4.0
a1200/PPC 200mhz/68040 25mhz/256mb/bv ppc/delfina/wifi/indivision sd+ff/AOS 3.9-4.0
a600/68000 7mhz/8mb fast/wifi/AOS 3.0
Аватара пользователя
easy_john
Менеджер
Менеджер
 
Сообщения: 4296
Зарегистрирован: 03 мар 2006, 15:24
Откуда: SPb

Re: Os4.1 для peg2 part 2

Сообщение anny 17 окт 2013, 14:05

@easy
По сути у меня же доступа к коду ос4 нет, я больше как 3d party кодер + бетатестер что могу заебывать головы им что-то добавить-сделать. Поэтому по первому варианту (добавить опцию в prefs:locale) они хз раздуплятся или нет, а вот сделать наши language драйверы можно, т.к. в SDK их сорцы есть и тд.

Только я пока конечно кодесы эти не смотрел драйверов, и хз как там делать "выставить codepage так, а перевод системы в tak". Если интересно, качни свежий SDK с хиперионского форума, и чекни SDK/Examples/Locale/Languages/ . Например какойнить там чешский, вот тут по идее и можно выставлять во что переводить мессаги и какая кодепага. Правда русских экамплов там хер, но по сути Crhis на amigans.net сказал что мол "по идее только пару мест подправить чтобы сделать это ворк".

Надо два отдельных выбора:
1) выбор предпочитаемого языка для отображения системных сообщений.
2) Если выбран английский язык - то дополнительно выбор системной перекодировки
Если выбран русский, то жестко ставить перекодировку 1251 (если системные сообшения на русском хранятся в 1251)


В смысле 2 отдельных драйвера ? или ты про опции в prefs:locale ? Потому что языковый драйвера и заботятся установкой переводить или нет системные мессаги, и какая кодепага ставится. Т.е. сейчас у нас скажем есть locale:language/russian_Amiga-1251.language. Он заставляет и переводить систем мессаги, и врубает кодепагу. Надо нам теперь либо такой же, но не переводить систем мессаги, либо English, и в нем кодепагу только ставить (но называться будет один фиг что тот, что этот "russian_Amiga-1251_no_system_message_translate.language"
anny
Беспардонный Амигофлуд
Беспардонный Амигофлуд
 
Сообщения: 1267
Зарегистрирован: 05 дек 2004, 01:22

Re: Os4.1 для peg2 part 2

Сообщение easy_john 17 окт 2013, 14:23

anny писал(а):В смысле 2 отдельных драйвера ? или ты про опции в prefs:locale ?

Я про prefs/locale.
Но в крайнем случае можно просто пока подправить английскую.
russian_Amiga-1251_no_system_message_translate.language - слишком длинно как-то. Можно сделать russian_cp1251_rus_messages.language и russian_cp1251_eng_messages.language ?
PegasosII G4 1.0/1Gb/80Gb/Ati 9200/MorphOS unreg/Debian
a4000/PPC 233mhz/68060 50mhz/128mb/cv ppc/toccata/x-surf/kickflash/indivision/AOS3.9-4.0
a1200/PPC 200mhz/68040 25mhz/256mb/bv ppc/delfina/wifi/indivision sd+ff/AOS 3.9-4.0
a600/68000 7mhz/8mb fast/wifi/AOS 3.0
Аватара пользователя
easy_john
Менеджер
Менеджер
 
Сообщения: 4296
Зарегистрирован: 03 мар 2006, 15:24
Откуда: SPb

Re: Os4.1 для peg2 part 2

Сообщение anny 17 окт 2013, 14:31

@Easy
Можно сделать russian_cp1251_rus_messages.language и russian_cp1251_eng_messages.language ?


Тогда:
russian_cp1251_sys-messages-eng.language и russian_cp1251_sys-messages-rus.language ?

кстати, только что скомпилял чешский language.driver. Теперь надо врубиться как сделать то что нам надо в английском.
anny
Беспардонный Амигофлуд
Беспардонный Амигофлуд
 
Сообщения: 1267
Зарегистрирован: 05 дек 2004, 01:22

Re: Os4.1 для peg2 part 2

Сообщение anny 17 окт 2013, 14:52

Только вот смотрю в sdk:examples/locale/languages/english_ISO08859-15.c, и не понимаю где тут делается "переводить системные мессаги" и где делается "делаем вот такую codepage".
anny
Беспардонный Амигофлуд
Беспардонный Амигофлуд
 
Сообщения: 1267
Зарегистрирован: 05 дек 2004, 01:22

Re: Os4.1 для peg2 part 2

Сообщение anny 17 окт 2013, 16:29

@Easy
Пездатые новости ! Сделал драйвер который в english систему , а codepage 1251 ! Только не совсем сам, а при помощи Chris на amigans.net, но главное что делает то что нам надо.

Качай: http://kas1e.mikendezign.com/aos4/engli ... a-1251.lha
Бери отсюда english_Amiga-1251.language и ложи в locale:languages/
Далее в prefs:locale появится "english (rus)" c чарсетом Amiga 1251.
Его выбираешь в preffered, save, reboot => пишем-видем в 1251, и все система english как и была.

Тоесть юзаем его уже по умолчанию (и его можно в ос4 включить).

Далее кеймапы... Нам же не надо "alt" держать, т.к. это омига какая-то, надо чтобы мы переключись - опа english, переключиль - опа русский. Может сделать наоборот, типа если выбрана русская кеймапа то пишется по дефолту русским, а вот нажал alt - и по английски. Тоесть чтобы кеймапы свитчить можно было и они работали сразу без всяких удерживаний альтов.
anny
Беспардонный Амигофлуд
Беспардонный Амигофлуд
 
Сообщения: 1267
Зарегистрирован: 05 дек 2004, 01:22

Re: Os4.1 для peg2 part 2

Сообщение anny 17 окт 2013, 16:55

@easy
И как раз свежака от Javier'а получил. Пока оно конечно in progress. Тоесть это вот меню должно быть по другую кнопку (без всяких Docky/Keymapswitcher/Remove, онли языки и сеттинги). Также может там и сям марафета, плюс чтобы актуальный флаг отображался и все собственно.
Вложения
screen2.jpg
screen2.jpg (43.63 KiB) Просмотров: 17674
screen.jpg
screen.jpg (13.98 KiB) Просмотров: 17684
anny
Беспардонный Амигофлуд
Беспардонный Амигофлуд
 
Сообщения: 1267
Зарегистрирован: 05 дек 2004, 01:22

Re: Os4.1 для peg2 part 2

Сообщение anny 19 окт 2013, 15:20

@Easy
Собственно базовый кеймап свитчер готов. Фактически у меня он весит в tray-kind-dock, и вот что он делает:

-- при буте от устанавливает по дефолту кеймап что установлен в input.prefs, и рендерит флаг этого кеймапа в трей-док. также есть тултайп для второга флага по дефолту, но это так, просто чтобы при первом будет были оба кейпама.
-- нажимаешь lbm на этот флаг (можно тултайпом выставить нажимать по 1клику, или по 2м кликам) , вылезает меню с 2мя кеймапами (и их флагами) и settings. В сеттингс можешь выбрать кейпам#2 (первый кеймап берется с input.prefs, что в целом логично и его выставлять именно там).

Ну и все, выбираешь любой и они щелкаются. Вот только что с моим новым language драйвером попробовал : запускаю notepad, в нем пишу по английски, мышкой жмыкаю на флаг, выбираю русский, и пишу по русский в нотепаде, жмыкаю опять, выбираю english, и опять по английски.

Конечно кое-что еще надо пофиксить, подполировать, добавить commodity брокера чтобы хоткеи выставлять и что-бы свитчиться можно было ок. Но база уже есть, уже можно юзать.

Русский кейпам взял твой c amiwiki.spb.ru, но единственное что мне не нравится, это то, что буква "й" чето не пишется. Т.е. большая "Й" ок, а маленькая пишет цифру "7". Посмотрел к keymap, в натуре там цифра 7 стоит. Поставил "й" стало все ок. Или так было задумано для classic клав или просто пропустил момент этот ?

Также было бы гуд, чтобы в русском кейпаме когда жмешь alt , мог бы писать по английски, ну или еще что .. а то щас получается, что если в русском кейпаме работаешь, то скажем amiga+c/v (copy+paste) не работает (а в винде вот пробую работает даже когда русский включен). Может поможешь ? В итоге можем весь набор потом выложить на amiwiki: keymap_switcher, новый language драйвер, и кейпамы.
anny
Беспардонный Амигофлуд
Беспардонный Амигофлуд
 
Сообщения: 1267
Зарегистрирован: 05 дек 2004, 01:22

Пред.След.

Вернуться в Софт Amiga NG

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

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

cron