USB統合スレat LINUX
USB統合スレ - 暇つぶし2ch33:login:Penguin
01/10/13 22:01 Q/kw9Cxc
たぶん結構知られた問題。

本当にそれでいいのかどうかわからんが、
linux/driver/input/keybdev.cのx86_keycodesのテーブルを
修正すると直る。
こんな感じのパッチを当ててkeybdev.oをリコンパイル。
モジュールにしてないなら、カーネル全体を再make

--- linux.org/drivers/input/keybdev.c Thu Apr 26 06:35:25 2001
+++ linux/drivers/input/keybdev.c Wed Aug 22 22:27:41 2001
@@ -59,7 +59,7 @@
360, 93, 94, 95, 98,376,100,101,357,316,354,304,289,102,351,355,
103,104,105,275,281,272,306,106,274,107,288,364,358,363,362,361,
291,108,381,290,287,292,279,305,280, 99,112,257,258,113,270,114,
- 118,117,125,374,379,259,260,261,262,263,264,265,266,267,268,269,
+ 118,117,125,374,379,115,112,125,121,123,264,265,266,267,268,269,
271,273,276,277,278,282,283,295,296,297,299,300,301,302,303,307,
308,310,313,314,315,317,318,319,320,321,322,323,324,325,326,330,
332,340,341,342,343,344,345,346,356,359,365,368,369,370,371,372 };

でも、カーネルにパッチを当てるのを良く忘れるので、

#!/usr/bin/perl
@ARGV == 1 || die "No file specified";
open(IN, $ARGV[0]) || die "Read open error";
read(IN, $target, 100000) || die "Read error";
close(IN);
$match = pack("v*", 118,117,125,374,379,
259,260,261,262,263,
264,265,266,267,268,269);
($p = index($target, $match)) >= 0 || die "Search error";
$p == rindex($target, $match) || die "Search error";
substr($target, $p + 10, 10, pack("v*", 115,112,125,121,123));
open(OUT, ">$ARGV[0]") || die "Write open error";
print OUT $target;
close(OUT);

のようなスクリプトを書いて気が付いたら
keybdev.oを直接書き換えてる。


次ページ
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch