アカウント名:
パスワード:
初心者にはUbuntuがおすすめ
Linuxのデスクトップはマウスドライバが糞すぎるよく使ってられるな?マウスで円を描くように動かすと、ドンドンとカーソルがどこかに寄っていく、糞ドライバ
今時のLinuxにマウスドライバなんてものはねえぞ。evdev一択だ。つまり、カーネル → libevdev → xf86-input-evdev → Xサーバ → クライアント。Waylandなら、カーネル → libevdev → libinput → コンポジター → クライアント。
利用者はあらゆるイベントデバイスに対し、libevdev通して文字通りただ単にreadするだけ。Linux上のすべてのイベントデバイスにドライバなどもはや存在しない。ps2mouseだの、joystickだのと、大量のデバドラ抱えてたのは過去のこと。
百歩譲って、おまえのいってる挙動が真実なら。それはおまえの使ってるマウス自体がぶっ壊れてるだけの話。
X のマウスが WinやMacと比べて、まともなレベルの反応で使えた時代なんていまだかつてないけどな。メーカーがドライバを用意しないってのは、とりあえず最低限度の稼動はするけど、ハードウェアの設計に依存する動作の差異や特性が一切無視されてるってことなんですよ。結果として、現実に素直な反応をしないマウスを使わされてるわけじゃん。
マウスドライバはない
> マウスドライバはない
無いわけないじゃん。ドライバが無いとデバイスは動かない
そもそも根本的認識が間違ってる。正しくは
マウス → マウス用ドライバ → カーネル → libevdev → xf86-input-evdev → Xサーバ
具体的にいうと、たとえばUSB接続のマウス用ドライバだとほぼ100%HIDという仕組みを使っている
HIDベースのマウスドライバのソースコードは drivers/hid というディレクトリ下にあるhttps://github.com/torvalds/linux/blob/master/drivers/hid/ [github.com]ドキュメントはここhttps://github.com/torvalds/linux/blob/master/Documentation/hid/hiddev.rst [github.com]設定ファイルはこれhttps://github.com/torvalds/linux/blob/master/drivers/hid/Kconfig [github.com]
Kconfigのなかを"mouse"で検索すると判るように、大量にオプションが用意されている
HIDドライバのソースコードは大体こんな感じhttps://github.com/torvalds/linux/blob/master/drivers/hid/hid-input.c [github.com]
これでマウスのボタンが押されたみたいなハードウェアレベルのイベントをhid_input構造体を使ってカーネル側に通知している
これが「マウス → マウス用ドライバ → カーネル 」の処理
「カーネル → libevdev」の処理はカーネル内部にあるhid_input構造体の情報をユーザー空間に渡してるだけ
evdevだけみればマウスドライバが無くなったように見えるけどそれは貴方の勘違い。実際にはマウスドライバがないと evdev にイベントが通知されない
> メーカーがドライバを用意しないってのはの流れで言ってるので、(専用の)ドライバはなくて、汎用ドライバしかないって言いたいのかもですね。でもそれはWindows/Macもだいたいそうだし、
> 結果として、現実に素直な反応をしないマウスを使わされてるわけじゃんそもそも、元コメが本当の話なのか、ただの釣りって気がしますが。。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
計算機科学者とは、壊れていないものを修理する人々のことである
これを期に乗り換えてほしい (スコア:2, 興味深い)
初心者にはUbuntuがおすすめ
Re: (スコア:-1)
Linuxのデスクトップはマウスドライバが糞すぎる
よく使ってられるな?
マウスで円を描くように動かすと、ドンドンとカーソルがどこかに寄っていく、糞ドライバ
なにいってだこいつ (スコア:-1)
今時のLinuxにマウスドライバなんてものはねえぞ。evdev一択だ。
つまり、カーネル → libevdev → xf86-input-evdev → Xサーバ → クライアント。
Waylandなら、カーネル → libevdev → libinput → コンポジター → クライアント。
利用者はあらゆるイベントデバイスに対し、libevdev通して文字通りただ単にreadするだけ。
Linux上のすべてのイベントデバイスにドライバなどもはや存在しない。
ps2mouseだの、joystickだのと、大量のデバドラ抱えてたのは過去のこと。
百歩譲って、おまえのいってる挙動が真実なら。
それはおまえの使ってるマウス自体がぶっ壊れてるだけの話。
Re: (スコア:0)
X のマウスが WinやMacと比べて、まともなレベルの反応で使えた時代なんていまだかつてないけどな。
メーカーがドライバを用意しないってのは、とりあえず最低限度の稼動はするけど、ハードウェアの設計に依存する動作の差異や特性が一切無視されてるってことなんですよ。
結果として、現実に素直な反応をしないマウスを使わされてるわけじゃん。
Re:なにいってだこいつ (スコア:0)
マウスドライバはない
Re:なにいってだこいつ (スコア:2, 参考になる)
> マウスドライバはない
無いわけないじゃん。ドライバが無いとデバイスは動かない
そもそも根本的認識が間違ってる。正しくは
マウス → マウス用ドライバ → カーネル → libevdev → xf86-input-evdev → Xサーバ
具体的にいうと、たとえばUSB接続のマウス用ドライバだとほぼ100%HIDという仕組みを使っている
HIDベースのマウスドライバのソースコードは drivers/hid というディレクトリ下にある
https://github.com/torvalds/linux/blob/master/drivers/hid/ [github.com]
ドキュメントはここ
https://github.com/torvalds/linux/blob/master/Documentation/hid/hiddev.rst [github.com]
設定ファイルはこれ
https://github.com/torvalds/linux/blob/master/drivers/hid/Kconfig [github.com]
Kconfigのなかを"mouse"で検索すると判るように、大量にオプションが用意されている
HIDドライバのソースコードは大体こんな感じ
https://github.com/torvalds/linux/blob/master/drivers/hid/hid-input.c [github.com]
これでマウスのボタンが押されたみたいなハードウェアレベルのイベントを
hid_input構造体を使ってカーネル側に通知している
これが「マウス → マウス用ドライバ → カーネル 」の処理
「カーネル → libevdev」の処理は
カーネル内部にあるhid_input構造体の情報をユーザー空間に渡してるだけ
evdevだけみればマウスドライバが無くなったように見えるけど
それは貴方の勘違い。実際にはマウスドライバがないと evdev にイベントが通知されない
Re:なにいってだこいつ (スコア:1)
> メーカーがドライバを用意しないってのは
の流れで言ってるので、(専用の)ドライバはなくて、汎用ドライバしかないって言いたいのかもですね。
でもそれはWindows/Macもだいたいそうだし、
> 結果として、現実に素直な反応をしないマウスを使わされてるわけじゃん
そもそも、元コメが本当の話なのか、ただの釣りって気がしますが。。