Форум русскоязычного сообщества Ubuntu


Получить помощь и пообщаться с другими пользователями Ubuntu можно
на irc канале #ubuntu-ru в сети Freenode
и в Jabber конференции ubuntu@conference.jabber.ru

Автор Тема: Vaio cr35 + Ubuntu 10.04  (Прочитано 1394 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн GPP

  • Автор темы
  • Новичок
  • *
  • Сообщений: 30
    • Просмотр профиля
Vaio cr35 + Ubuntu 10.04
« : 06 Мая 2010, 02:06:17 »
Здравствуйте! Проблема такого плана. Имеется ноутбук Sony Vaio CR35. Все отлично работает! Но перестала работать регулировка подсветки дисплея Fn+F5-F6. Вернее работает, но не так как надо... всегда показывает максимальный уровень, т.е невозможно изменить уровень подсветки. Самое интересное что на 9.10 все замечательно работало Smiley. Заметил что если изменить в "Управление питанием" уровень подсветки, то потом при нажатии на любое сочетание клавиш Fn+F5 или F6 появляется окошко в правом верхнем углу экрана с выбранным уровнем подсветки. Но изменить уровень нельзя.  Куда копать? Заранее огромное спасибо!

Оффлайн Shed

  • Новичок
  • *
  • Сообщений: 1
    • Просмотр профиля
Re: Vaio cr35 + Ubuntu 10.04
« Ответ #1 : 08 Июля 2010, 11:57:54 »
Тоже Vaio только FS115ZR Клавиша Fn под Ubuntu 10.04 вообще не работает. У Гентушников нашел вот:

Вступление

Большинство современных клавиатур оснащено мультимедийными клавишами (кнопками). Это руководство обьясняет, что и как нужно сделать, чтобы использовать эти клавиши.
[править]
Определить коды клавиш

Какую бы клавишу вы не нажали на вашей клавиатуре ядро выдает скан-код клавиши, который может быть привязан к коду клавиши. В тоже время, это происходит на уровне ядра, а X использует собственный способ привязки клавиш. При загрузке читается таблица кодов клавиш ядра, затем код клавиши привязывается к собственной таблице кодов. Каждый код клавиши может быть привязан к символу клавиши, строке, которая представляет эту клавишу.

Определить коды для ваших мультимедийных клавиш очень просто. Нужно лишь ввести команду в X терминале
xterm/konsole/eterm):
xev

Note: если вы используете модульный (т.е. распространяющийся по частям) X сервер версии >=7.0.0, то возможно вам для начала понадобится поставить (emerge) и раскрыть (unmask) x11-apps/xev, примерно так:
echo x11-apps/xev | tee -a /etc/portage/package.keywords /etc/portage/package.unmask
# -a ВАЖНО, это точно заставляет tee не перезаписывать файл

Теперь нажмите каждую мультмедийную клавишу на вашей клавиатуре и запомните сгенерированные коды, которые будут выводиться в окне терминала и выглядеть так:

Code: Вывод xev

KeyRelease event, serial 31, synthetic NO, window 0x2800001,
root 0x7d, subw 0x0, time 2792224, (-22,86), root:(565,101),
state 0x10, keycode 160, same_screen YES,
XLookupString gives 0 bytes:

Значение "keycode" - это то, что нам нужно. В этом пример это 160. Запомните значение для каждой дополнительной клавиши.

Если после нажатия все клавиши выдают информацию, тогда вы можете перейти к настройке xmodmap или создать свою модель клавиатуры, что считается более эстетичным=) Если нажатие какой-то клавиши не дает ничего, введите в X терминал:
dmesg

Вы можете увидеть строки вроде этих:
Code: Вывод dmesg

atkbd.c: Unknown key released (translated set 2, code 0x96 on isa0060/serio0).
atkbd.c: Use 'setkeycodes e016 <keycode>' to make it known.


Это значит, что ядро не имеет кодов клавиш привязанных к сканкодам вашей клавиатуры. Вы должны добавить одну строку в /etc/conf.d/local.start для каждой отсутствующей клавиши, вот так:

Файл: /etc/conf.d/local.start

setkeycodes e008 136
setkeycodes e016 150
... и так далее ...

Где первое число - это то, которое вы видели в выводе dmesg, и второе (136) - неиспользуемый код клавиши вашего ядра. В общем случае, вы можете дать хороший код для клавиши взяв последние 2 знака первого числа, преобразовав их из шестнадцатиричного представления в десятичное и прибавив 128.

Кроме того, неиспользуемые коды клавиш вы можете посмотреть с помощью getkeycodes, только выполнять эту программу нужно не в x-терминале. Например, вы можете перейти в tty2, нажав кнопки [Ctrl]+[Alt]+[F2], залогиниться и выполнить getkeycodes. Вы увидите таблицу, где нули - клавиши с неиспользуемыми кодами. Результат может быть примерно такой: Code: Вывод getkeycodes
<tt>
Собственно скан-коды xx (hex) и, соответственно, коды клавиш (десятичные)
for 1-83 (0x01-0x53) scancode equals keycode

 0x50:   80  81  82  83  99   0  86  87
 0x58:   88 117   0   0  95 183 184 185
 0x60:    0   0   0   0   0   0   0   0
 0x68:    0   0   0   0   0   0   0   0
 0x70:   93   0   0  89   0   0  85  91
 0x78:   90  92   0  94   0 124 121   0

Скан-коды с `Escape' e0 xx (hex)

e0 00:    0   0   0   0   0   0   0   0
e0 08:    0 204 167 170   0   0   0   0
e0 10:  165   0 237   0   0   0   0   0
e0 18:    0 163   0   0  96  97   0   0
e0 20:  113 140 164   0 166   0   0   0
e0 28:    0   0 255   0   0   0 114   0
e0 30:  115   0 150   0   0  98 255  99
e0 38:  100   0   0   0   0   0   0   0
e0 40:    0   0   0   0   0 119 119 102
e0 48:  103 104   0 105 112 106 118 107
e0 50:  108 109 110 111   0   0   0   0
e0 58:    0   0   0 125 126 127 116 142
e0 60:    0   0   0 143   0 217 156 173
e0 68:  128 159 158 157 155 226   0 112
e0 70:    0   0   0   0   0   0   0   0
e0 78:    0   0   0   0   0   0   0   0
</tt>


Посмотреть, используется ли код клавиши, который вы хотите установить с помощью setkeycodes, можно с помощью небольшого конвеера:
getkeycodes | grep <код клавиши>

Добавив setkeycodes и полученные значения аргументов в /etc/conf.d/local.start, вы поставите в соответствие связи "сканкод - код клавиши" при каждой загрузке. Чтобы выставить их без перезапуска, выполните следующую команду как рут:
sh /etc/conf.d/local.start

После того, как правильные связи будут выставлены, перезапустите X и снова воспользуйтесь xev, чтобы узнать коды для каждой мультимедийной клавиши, которую вы хотите использовать

Note: с мультимедийными клавишами, действующими только при нажатой функциональной клавишей (Fn), проблемы, возможно, будут продолжаться.


xev мою Fn не видит, dmesg показал:

atkbd.c: Unknown key released (translated set 2, code 0x96 on isa0060/serio0).
atkbd.c: Use 'setkeycodes e075 <keycode>' to make it known.

Далее куда прописывать полученное где потправить? local.start в убунте не могу найти.
Подскажите люди добрые...

 

Страница сгенерирована за 0.016 секунд. Запросов: 19.