From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Date: Fri, 28 May 2010 18:38:58 +0400 From: "George V. Kouryachy" To: ALT Linux Sisyphus discussions Message-ID: <20100528143858.GB15998@imap.altlinux.org> Mail-Followup-To: ALT Linux Sisyphus discussions Mime-Version: 1.0 Content-Type: text/plain; charset=koi8-r Content-Disposition: inline Content-Transfer-Encoding: 8bit User-Agent: Mutt/1.4.2.3i Subject: [sisyphus] =?koi8-r?b?687P0MvJIFBvd2Vy?= X-BeenThere: sisyphus@lists.altlinux.org X-Mailman-Version: 2.1.12 Precedence: list Reply-To: ALT Linux Sisyphus discussions List-Id: ALT Linux Sisyphus discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 28 May 2010 14:38:59 -0000 Archived-At: List-Archive: List-Post: Добрый день. С некоторых не вполне отфиксированных пор перестала корректно обрабатываться кнопочка Power на корпусе. Просто давно не выключал компьютер таким способом. А тут вот нажал. Теперь кнопочка Power запускает у меня ещё одну версию XTerm-а, а совсем не компьютер выключает. Именно так. Не пользуюсь ни KDE, ни Gnome, и кнопочки Power, Sleep, Wake, которые на некоторых моих клавиатурах расположены аккурат под Delete, End, PgDown, замаплены у меня в окноводе на, соответственно, xterm, экран вправо, экран влево. Что показало бурение: 1. Файл /etc/acpi/events/power переименован у нас в /etc/acpi/events/power.conf . Это название файла не соотвествует формату, и потому при старте acpid этот файл не читается: http://git.altlinux.org/srpms/a/acpid.git?p=acpid.git;a=blob;f=acpid/event.c;h=57092bc479d3305f5f4207504ca5d1cfe8cd161f;hb=HEAD#l125 Соотетственно, сколько бы ни бросала кнопка Power на корпусе ACPI-сообщений "button/power PBTN 00000080 00000000", они acpid-ом игнорируются. 2. Кнопка Power на клавиатуре бросает точно такое же ACPI-сообщение. Так что если бы acpi работал как раньше, по ней бы всё выключалось. Я знаю людей, которые в w2k решили для себя эту проблему с помощью плоскогубцев. X-овый scancode она тоже генерирует. 3. Поведение кнопок на клавиатуре можно изменить, назначив им другое соответствие ещё в ядре с помощью setkeycodes. Тогда Xorg прозрачно начинает считать их _другими_ кнопками, но только другими. 4. Посылкой сообщения от кнопки на корпусе ведает модуль kernel/drivers/acpi/button.ko Теперь вопросы: 1. Кто при нажатии кнопки на корпусе посылает scancode в иксы? Можно ли это выключить? это, вообще-то, не дело. 2. Кто при нажатии кнопки на клавиатуре посылает ACPI-сообщение? Точнее, где прибито, что 116-й сканкод -- это button/power? 3. Какие есть мысли по грамотному разруливанию всего этого? То есть, чтобы кнопка на корпусе обрабатывалась безо всяких иксов, а кнопки на клавиатуре безо всяких ACPI, или, наоборот, через ACPI, но все (есть клавиатуры с диким количеством кнопок, и далеко не все из них порождают в резултате ACPI-сообщение) и чтобы это могли быть сообщения, неравные сообщению от кнопки на корпусе. -- George V. Kouryachy (aka Fr. Br. George) mailto:george at altlinux_org