LINUX.ORG.RU
ФорумTalks

[ru,us] Линакс не готов для десктопа


0

0

У кого из присутвующих работают шорткаты в гноме и KDE если первой поставить русскую раскладку?

<merge key="input.xkb.layout" type="string">ru,us</merge>

А у кого работают шорткаты хоть где-нибудь если оставить толкьо русскую раскладку?

<merge key="input.xkb.layout" type="string">ru</merge>

А в винде между тем все работает в обоих вариантах. Единственное приложение которое работает с ru,us это огнелис, потому что там другой механизм обработки шорткатов.

Информация к размышлению:

https://bugzilla.gnome.org/show_bug.cgi?id=162726 с 2005 года!!!

http://helgo.net/simon/hacking/shortcut.html

можете говорить что толсто и никому не нужно ставить первой русскую раскладку, но пока пользователь не сможет настроить порядок раскладок так. как это удобно ему, линаксу на десктопе делать нечего

Ответ на: комментарий от madcore

Вы есть тут немножечко бредить.
Там только кейсимволы, там нет кейкодов. Вопрос был задан как раз о том, что без маппинга нельзя перевести кейсим s в кейкод.

svu ★★★★★
()
Ответ на: комментарий от svu

Зачем перводить кейсим в кейкод? Снова ссылаясь на SDL, кейкод "кнопки s" известен заранее, это константа. Точнее это не совсем кейкод, а то что SDL выдает на основе кейкода. А формирует он это значение в том числе через XKeycodeToKeysym().

madcore ★★★★★
()
Ответ на: комментарий от madcore

В SDL, по вашему объяснению, кейкод выполняет ту же роль, что кейсим в иксах. Поэтому переводить не надо - все работают с этими "высокоуровневыми" кейкодами. В иксах по нормальному так и надо. Но не всегда получается. Особенно когда маппинг нетривиальный.

Да, так как с вводом русского в SDL? Откуда берутся раскладки?

svu ★★★★★
()
Ответ на: комментарий от svu

>Иногда это рулит, иногда сосет.

Это всегда сосёт. Потому что в результате для того, что бы всё работало правильно, разработчику каждой программы надо специально постараться, а для того, чтобы всё поломать, как раз ничего делать не надо. А должно быть наоборот.

anonymfus ★★★★
()
Ответ на: комментарий от svu

>В SDL, по вашему объяснению, кейкод выполняет ту же роль, что кейсим в иксах. Поэтому переводить не надо - все работают с этими "высокоуровневыми" кейкодами.

В SDL свои таблицы кодов, иначе бы он не был абстагирован от x11/win32/etc

>Да, так как с вводом русского в SDL? Откуда берутся раскладки?


Конкрентно SDL_Event для ввода особо не предназначен, но при желании:

typedef struct SDL_keysym {
Uint8 scancode; /* hardware specific scancode */
SDLKey sym; /* SDL virtual keysym */
SDLMod mod; /* current key modifiers */
Uint16 unicode; /* translated character */
} SDL_keysym;

В том unicode содержится как раз код символа со всеми раскладками и модификаторами. Правда, utf16..

madcore ★★★★★
()
Ответ на: комментарий от HighwayStar

> так вот может кто-то знает другой способ задания дефолтной раскладки, тоесть ставим первой английскую, а русскую второй, но вторая становится дефолтной

Есть такие варианты:

1. зайти в апплете индикатора раскладок клавиатуры -> параметры->раскладки
Далее,вы брать мышкой требуемую раскладку и перетащить ее на первое место в списке раскладок, я проверил это в Gnome 2.28:
это работало всегда , и работает и здесь (пока еще:)).

2.В редакторе конфигурации зайти:
desktop -> gnome -> peripherals -> keyboard -> kbd -> layouts
и поменять значение ключа переместив ru на второе место в менюшке (для случая ru ,us).

3. От пользователя в терминале выполнить команду:

$gconftool-2 --type List --set /desktop/gnome/peripherals/keyboard/kbd/layouts --list-type String [us,ru]
---------------------------------

Выбирай :))

elipse ★★★
()
Ответ на: комментарий от anonymfus

Нефиг разработчикам приложений использовать голые иксы. Они для этого не предназначены (выбирайте сами, кто именно "они": разработчики, приложения или иксы).
С иксами должны работать разработчики тулкитов-фреймворков.

svu ★★★★★
()
Ответ на: комментарий от madcore

> В SDL свои таблицы кодов
Ну я их и называю "высокоуровневыми кейкодами". Они даже называтся у вас также, как в иксах - virtual _keysym_. А нижнеуровневый - scancode - и никто обычно без особой нужды его не использует, правильно? Только Вы все мне никак не можете рассказать, где лежат таблицы, переводящие первое во второе...

svu ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.