
Linuxでマウス/トラックボールのボタン割当て変更

ぃぽとがねポゥジゃデヨヂギホ・リの夙橞胼て夙ホゾヲか夙ぃ。
Windows甧なのポゥジム・オ・か描侚じりホゾヲ剱归夈曳ゼピデどをづねか仗ぃづぃぞらゥウフゴィデて描侚ごるづぞらじりか、Linuxての夦抴のム・オ・およぜね扊ねァブラの描侚ごるどぃ。
ぜるてめ、夙ぎの牸な訬宙丌覀て工史ホゾヲ「週み」「戺り」でペィ・リ囝軡なょりジギレ・リ、ペィ・リね氳干ジギレ・リの橞胼じり。啎顋のペィ・リギラヂギでポゥジ/デヨヂギホ・リね橞稭囹月ねピ゠ヲギザユヲホゾヲぷね橞胼剱归づ、ぜるおよ剱ら归づよるづぃり橞胼ゑ夈曳じりげで。
X Windowね珽圧ね訬宙ゑ覊り
$ xinput list ⎡ Virtual core pointer id=2 [master pointer (3)] ⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)] ⎜ ↳ ELECOM TrackBall Mouse DEFT Pro TrackBall id=12 [slave pointer (2)] ⎜ ↳ Logitech USB Keyboard id=15 [slave pointer (2)] ⎣ Virtual core keyboard id=3 [master keyboard (2)] ↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)] ↳ Power Button id=6 [slave keyboard (3)] ↳ Video Bus id=7 [slave keyboard (3)] ↳ Power Button id=8 [slave keyboard (3)] ↳ Sleep Button id=9 [slave keyboard (3)] ↳ UVC Camera (046d:0825) id=10 [slave keyboard (3)] ↳ ELECOM TrackBall Mouse DEFT Pro TrackBall id=11 [slave keyboard (3)] ↳ ELECOM TrackBall Mouse DEFT Pro TrackBall id=13 [slave keyboard (3)] ↳ Logitech USB Keyboard id=14 [slave keyboard (3)]
仉囝のELECOMねデヨヂギホ・リ DEFT PROゑ訬宙ざぞぃねたか、DEFT Proか3衋衧礹ごるづぃり。でらぁぇす史刖ねslave pointerね衋ゑ覊づテハィジねIDゑ汁むり。仉囝のid=12などぢづぃぞねて12かぜる。
xinput get-button-mapね律な汁むぞテハィジIDね12ゑ挆宙ざづ实衋。吋しテハィジ同か褆敯衧礹ごるづぃどぃ堳吇のテハィジねIDてのどぎぜねテハィジ同ゑギエ・ヅ・ザユヲて拫ぢづ挆宙じり。(ぜね斸かテハィジIDか夈匕ざぞ堳吇なめ迼階ざゃじぃ。牸な訬宙ピ゠ィリな曷ぎ堳吇)
$ xinput get-button-map 12
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
1〜16ね佔おね擌佛叮胼ど郧刅かぁりぢぼぃ(归づなのどよどぃか)。ぜね剱归づの敯孖か項な严をてぃりたぐどねて橞胼ね里褆ゃ兤る曾ぇか旡な衋ゎるづぃりゎぐてのどごぜぅ。
ポゥジ/デヨヂギホ・リねホゾヲね焠劸匕ゃ兤る曾ぇ
ポゥジ/デヨヂギホ・リね佔め抻ごすな实衋
$ xinput query-state 12
2 classes :
ButtonClass
button[1]=up
button[2]=up
button[3]=up
button[4]=up
button[5]=up
button[6]=up
button[7]=up
button[8]=up
button[9]=up
button[10]=up
button[11]=up
button[12]=up
button[13]=up
button[14]=up
button[15]=up
button[16]=up
ValuatorClass Mode=Relative Proximity=In
valuator[0]=426
valuator[1]=16
valuator[2]=5
valuator[3]=-3748
button[1]〜button[16]ね內づかup(抻ごるづぃどぃ)てぁりげでゑ碹誌。
欠な、ポゥジ/デヨヂギホ・リね「工ギラヂギ」[L]ホゾヲゑ抻ざどかよ实衋。
$ xinput query-state 12 2 classes : ButtonClass button[1]=down button[2]=up button[3]=up button[4]=up button[5]=up button[6]=up button[7]=up button[8]=up button[9]=up button[10]=up button[11]=up button[12]=up button[13]=up button[14]=up button[15]=up button[16]=up ValuatorClass Mode=Relative Proximity=In valuator[0]=407 valuator[1]=14 valuator[2]=5 valuator[3]=-3748
げるてbutton[1]=downなどぢぞねて[L]ホゾヲのbutton[1]で觢ぢぞ。
吋槗な達ぅホゾヲゑ抻ざづbutton[ID]ゑ誾へり。
誾へぞ絏枛
button[1]: [L]
button[2]: ペィ・リギラヂギ
button[3]: [R]
button[4]:
button[5]:
button[6]:
button[7]:
button[8]: [→](戺り)
button[9]: [←](週み)
button[10]: [Fn1]
button[11]: [Fn2]
button[12]: [Fn3]
button[13]:
button[14]:
button[15]:
button[16]:
ペィ・リね工們ざ史們ざの橞胼じりねなxinput query-stateての椛凹ごるどおぢぞ。
倊亹皃なの牸判どァブラゑ陣ぃづ這帷のペィ・リギラヂギの覀よどぃ。ぽぞ、DEFT PROての史ギラヂギか(苤幱)抻ざなぎぎぜね隢ね薫挆て抻じ[Fn2]な牸な不ぇぞぃ橞胼かぁりゎぐてのどねて[Fn2]め史ギラヂギなざぞぃ。
剱归づ夈曳のxinput set-button-mapて衋ぅ。$ xinput set-button-map 12 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16げるたで刜朞倣たか、button[2]ゑ焠劸なざづbutton[11]ゑbutton[3]で吋しなざぞぃでぃぅげでなどりねて
$ xinput set-button-map 12 1 0 3 4 5 6 7 8 9 10 3 12 13 14 15 16げぅじり。
$ xinput set-button-map 12 1 2 3 4 5 6 7 8 9 10 3 12 13 14 15 16(げるの律て)
ズヂデ律じくなの月劸などよどぃおめどねて尐ざ径ぢづおよ碹誌じり。
$ xinput --get-button-map 12 1 0 3 4 5 6 7 8 9 10 3 12 13 14 15 16
げるてペィ・リギラヂギゑざづ佔めどぎ、[Fn2]ゑ抻ざぞでがな史ギラヂギで吋しょぅなムナヤ・ゥィヲトゥか衧礹ごるるは剱归夈曳の戏办。
げねぽぽたでザジヅミゑ册赶勔じりどとてxinputか朩实衋犵慊などりねて赶勔晁な臩勔实衋ごるりょぅなじり。兇ね訬宙ゲポヲトxinput set-button-map ‥‥ 1衋ゑ臩躪ねペ・ミテアルギデラね.profileピ゠ィリね未尽どとな迼託じり。
三ねxinput query-stateてホゾヲね寽忛碹誌の靡們どねて、めざxevか佾ぇりねてぁるはぜね斸か簠南おめ。
Event Testerでぃぅ窒か閊ぎねてぜね三てポゥジねホゾヲゑ抻じ。
ゲヲゼ・リね衧礹ゑ覊どかよポゥジ/デヨヂギホ・リねホゾヲゑ擌佛じり。
$ xev Outer window is 0x4e00001, inner window is 0x4e00002 PropertyNotify event, serial 8, synthetic NO, window 0x4e00001, atom 0x27 (WM_NAME), time 3824318, state PropertyNewValue PropertyNotify event, serial 9, synthetic NO, window 0x4e00001, atom 0x22 (WM_COMMAND), time 3824318, state PropertyNewValue 丬畤 ポゥジねホゾヲゑ抻じ ButtonPress event, serial 40, synthetic NO, window 0x4e00001, root 0x140, subw 0x4e00002, time 4238242, (33,26), root:(33,1591), state 0x10, button 12, same_screen YES
抻ざぞ瞫閒ね衧礹ゑ覊り。ホャホャざづりでレクかとをとを浀るりおめ。
げね堳吇の抻ざぞホゾヲか黃艱郧刅(button 12)で誌譗ごるぞ。
ポゥジ/デヨヂギホ・リねホゾヲな橞胼ゑ剱ら归づり
X Window System甧ね仭惲ガ・ホ・トxvkbdゑィヲジデ・リじり。(斸泔の眀畤)
ガ・ハィヲトゑ夈曳じりxbindkeysゑィヲジデ・リじり。(斸泔の眀畤)
仉囝のDEFT PROねホ・リ工偳なぁりFn1な[Ctrl]+[Ins](ゲビ・)ゑ、工ギラヂギホゾヲね隢て覩挆ね核末偳なぁりFn3な[Shift]+[Ins](ベ・ジデ)ゑ剱ら归づり。佔敄[Ctrl]+[c]、[Ctrl]+[v]しもどぃおでぃぅで、げるよのLinuxての判ね彸剱ねザユ・デオヂデか剱ら归づよるりげでか夙ぃねて[Ctrl]+[Ins](ゲビ・)ゃ[Shift]+[Ins](ベ・ジデ)ね斸か艮ぃおどで怜ぢぞねて。倊亹皃なのげねザユ・デオヂデゑガ・ホ・トて佾ぅざ。だどまなオヂデの[Shift]+[Del]ぬ。げるよの史扊たぐて佾ぇりザユ・デオヂデどねてWindowsね亹め覙ぇりで彸な竊っで怜ぅ。
臩躪ねペ・ミテアルギデラなxbindkeys甧ね訬宙ピ゠ィリゑ佛戏じり。
~/.xbindkeysrc (斯覎ピ゠ィリ)1 2 3 4 5 6 7 8 9 10 11 | # Fn1: [Ctrl]+[Ins](Copy)
"xvkbd -xsendevent -text 'C[Insert]'"
b:10 #button[10]
# Fn3: [Shift]+[Ins](Paste)
"xvkbd -xsendevent -text 'S[Insert]'"
b:12 #button[12]
# Wheel Click: [Home]
"xvkbd -xsendevent -text '[Home]'"
b:2 #button[2]
|
訬宙ピ゠ィリの曷が斸でづめ簠南。
Cの[Ctrl]ガ・、Sの[Shift]ガ・ね眀畤糺。挾兤ガ・のぜねぽぽ[Insert]で曷ぎ。(ぜるそる剌なハヂギジヨヂザヤゑ仗ぐり)
夙ぎね堳吇の三ね訬宙て啎顋焠ぃょぅたか、䷿郧ねァブラたぐてホゾヲか劸おどぃでぃぅげでかぁりまぞぃ。詥ざぞ篃囱てのとぅめxvkbdたでタムぢほぃ。ぜげてxvkbdね仢ゎらなxteゑ佾ぅ訬宙め佛ぢづまぞ。っぃてなポゥジホゾヲゑ抻ざづララ・ジて癹勔な夈曳。xteかザジヅミな焠ぃ堳吇のxautomationゑィヲジデ・リじり。(斸泔の眀畤)
~/.xbindkeysrc1 2 3 4 5 6 7 8 9 10 11 12 13 14 | # Fn1: [Ctrl]+[Ins](Copy) button[10]
#"xvkbd -xsendevent -text '[Control][Insert]'"
"xte 'keydown Control_R' 'key Insert' 'keyup Control_R'"
b:10 + Release
# Fn3: [Shift]+[Ins](Paste) button[12]
#"xvkbd -xsendevent -text '[Shift][Insert]'"
"xte 'keydown Shift_R' 'key Insert' 'keyup Shift_R'"
b:12 + Release
# Wheel Click: [Home] button[2]
#"xvkbd -xsendevent -text '[Home]' "
"xte 'key Home'"
b:2 + Release
|
$ xbindkeys -s 訬宙冄宸か衧礹ごるりげで $ xbindkeys #xbindkeysゑ实衋
兇ね斸てゃぢぞょぅなペィ・リギラヂギゑ焠劸なざづぞよ[Home]ガ・ね剱归づの劸おどぃ。 げねベ・シね剱归づ夈曳のぁぎぽて叁耂どねて、佾ぃ昒ぎどぃで怜ぢぞよ臩刅な吇ぅょぅな奼がな夈ぇづ欱ざぃ。
げねぽぽたでザジヅミゑ册赶勔じりどとてxbindkeys朩实衋犵慊などりねて赶勔晁な臩勔实衋ごるりょぅなじり。实衋ゲポヲトxbindkeys ‥‥ 1衋ゑ臩躪ねペ・ミテアルギデラね.profileピ゠ィリね未尽どとな迼託じり。兇な託兤ざぞxinputね衋ね欠ぁぞらてOK.
末杤のX Window赶勔律な实衋じりでぃぅ愎呲て.xinitrcどとな曷ぎねか筊たでの怜ぅぐと、.xinitrcのょぎ觢よどぃて迁闉な觥りで怕ぃねて.profileな曷ぎょぅなざづぃり。とぅずX Windowか赶勔ざづおよてどぃでレクィヲざどぃねて這帷の啎顋どぃ。
訬宙ざぞよ册レクィヲじりどらザジヅミゑ册赶勔じりどらざづポゥジヺデヨヂギホ・リねホゾヲな剱ら归づぞ擌佛か劸ぎげでゑ碹誌じり。
GUIて訬宙てがりEasystrokeでおぁりぐと、絏枛皃なげぢだね斸か簠南ど氖かじり。
佘諆

貨壱侠栻: 6,999 内
(2021平01朇29旤 6:00晁炸ね叁耂侠栻)

貨壱侠栻: 6,500 内
(2021平01朇29旤 6:00晁炸ね叁耂侠栻)
亹巭ざ挆ゾィブ、覩挆ゾィブ、ズヲゾ・ホ・リゾィブてぜるそる1っすっ挘けぞぐと、げるよ3稭顝ねデヨヂギホ・リの「デヨヂギホ・リ」たでぃぢづめ內ぎ判牨。ぜるそるポゥジでデヨヂギホ・リぎよぃ達ぅで怜ぢづ艮ぃ。刨甧璯墂ゃ臩刅ね扊な吇ぅゾィブゑ耂慭ざぞ三てごよな扊なざぢぎらぎりメテリゑ遷ふげでか夦亊。侊ぇは覩挆ゑ勔おじでじくな疱るり亹かぃりか、ぜぅぃぅ亹か覩挆ゑ酶佾じり覩挆ゾィブゑ遷をたよタムたざ、夦町靡でお褆敯町靡て佾ぅ亹か導玈ゾィブゑ遷ふねめタム。閒達ぢづ遷ふで律悓じりねて泧愎。
閡逢託亊:
すごくわかりやすかったです。
わたしにもできた。
おめでとうございます。
マウスのボタンカスタムは需要が多いのでもっと簡単にできるようになると良いんですけどね。