Hoʻohālikelike hou o Punto Switcher no linux: xswitcher
ʻO ka hopena o ke kākoʻo xneur ua hoʻopilikia iaʻu i nā mahina ʻeono i hala. (me ka hiki ʻana mai o OpenSUSE 15.1 ma kaʻu mau papapihi: me ka xneur i hoʻohana ʻia, windows nalowale ka manaʻo a me ka ʻakaʻaka ʻakaʻaka i ka manawa me ka hoʻokomo keyboard).
"Auē, hoʻopaʻi, hoʻomaka wau e paʻi hou i ka hoʻonohonoho hewa" - i kaʻu hana e hana pinepine ʻia kēia. A ʻaʻole ia e hoʻohui i kekahi mea maikaʻi.
I ka manawa like, hiki iaʻu (ma ke ʻano he mea hoʻolālā hoʻolālā) ke hoʻonohonoho pono i kaʻu makemake. Akā makemake wau (mai Punto Switcher mua, a laila, mahalo iā Windows Vista, hoʻololi hope i Linux, mai xneur) hoʻokahi mea. Ma hope o ka hoʻomaopopo ʻana aia ka ʻōpala ma ka pale i kahi hoʻonohonoho hewa (e hana pinepine ʻia kēia ma ka hope o ke kākau ʻana i kahi huaʻōlelo hou), e hehi i ka "Pause/Break". A e kiʻi i kāu mea i paʻi ai.
I kēia manawa, ʻoi aku ka maikaʻi o ka huahana (mai koʻu manaʻo) hana / paʻakikī. ʻO ka manawa kēia e kaʻana like.
TL.DR
E loaʻa nā ʻano kikoʻī ʻenehana āpau ma hope, no laila ʻo ka mua - loulou "to touch" no ka poe hoomanawanui.
I kēia manawa ua hoʻopaʻa inoa ʻia kēia ʻano hana:
"Pause/Break": hoʻihoʻi i ka huaʻōlelo hope, hoʻololi i ka hoʻolālā ma ka puka makani ikaika (ma waena o 0 a me 1) a kelepona hou.
"Haʻalele iā Ctrl me ka ʻole o kekahi mea": hoʻololi i ka hoʻolālā ma ka puka makani ikaika (ma waena o 0 a me 1).
"Left Shift me ka ʻole o kekahi mea": hoʻohuli i ka hoʻolālā No. 0 i ka puka aniani.
"Hoʻololi pololei me ka ʻole o kekahi mea": hoʻohuli i ka hoʻolālā No. 1 ma ka puka aniani.
Mai kēia manawa, hoʻolālā wau e hoʻopilikino i ke ʻano. Me ka ʻole o ka manaʻo manaʻo, ʻaʻole hoihoi ia (ua maikaʻi nō wau me ia). Ke manaʻoʻiʻo nei au ma Habré e loaʻa ka hapa pakeneka o ka lehulehu me nā pilikia like.
NB No ka mea i ka mana o kēia manawa, pili ka keylogger i "/ dev / input /", pono e hoʻokuʻu ʻia ka xswitcher me nā kuleana kumu:
chown root:root xswitcher
chmod +xs xswitcher
Please e hoailona oukou: Pono ka mea nona ka faila me ka suid, no ka mea ʻO ka mea nona ka mea e lilo i suid i ka hoʻomaka ʻana.
Hiki i nā Paranoids (ʻaʻole wau he ʻokoʻa) ke clone mai GIT a hui ma ka paena. E like me kēlā:
go get "github.com/micmonay/keybd_event"
go get "github.com/gvalkov/golang-evdev"
### X11 headers for OpenSUSE/deb-based
zypper install libX11-devel libXmu-devel
apt-get install libx11-dev libxmu-dev
cd "x switcher/src/"
go build -o xswitcher -ldflags "-s -w" --tags static_all src/*.go
Hoʻohui i ka autostart e ʻono (ma muli o DE).
Hana ia, "ʻaʻole noi i ka porridge" (≈30 kekona CPU i kēlā me kēia lā, ≈12 MB ma RSS).
Nānā i nā kiko'ī
I kēia manawa - nā kiko'ī.
Ua hoʻolaʻa mua ʻia ka waihona holoʻokoʻa i kaʻu papahana pipi, a ua palaualelo wau e hoʻomaka i kahi ʻē aʻe. No laila, ua ahu nā mea a pau (ma nā waihona wale nō) a uhi ʻia e AGPL ("reverse patent").
Ua kākau ʻia ka code xswitcher ma golang, me ka liʻiliʻi o ka hoʻokomo ʻana o C. Ua manaʻo ʻia e hopena kēia ala i ka liʻiliʻi o ka hoʻoikaika ʻana (a hiki i kēia manawa). ʻOiai e mālama ana i ka hiki ke hoʻohui i ka mea i nalowale me ka cgo.
Aia i loko o ka kikokikona nā manaʻo no hea ia i ʻaiʻē ʻia ai a no ke aha. No ka mea ʻo ka xneur code "ʻaʻole i hoʻoulu iaʻu", ua lawe wau i kahi hoʻomaka loloswitcher.
ʻO ka hoʻohana ʻana i "/ dev/input/" ʻelua mau mea maikaʻi (ʻike ʻia nā mea a pau, me ke kī hoʻihoʻi hou i kaomi ʻia) a me nā hemahema. ʻO nā hemahema:
ʻAʻole pili ka hana hou ʻana (nā hanana me ke code “2”) me ka hana hou ʻana me x.
ʻAʻole ʻike ʻia ka hoʻokomo ʻana ma o nā kikowaena X11 (peia ka hana ʻana o VNC, no ka laʻana).
Pono ke kumu.
Ma kekahi ʻaoʻao, hiki ke kau inoa i nā hanana X ma o "XSelectExtensionEvent ()". Hiki iā ʻoe ke nānā xinput code. ʻAʻole i loaʻa iaʻu kekahi mea e like me kēia no ka hele, a ua lawe koke ka hoʻokō koʻikoʻi i hoʻokahi haneli mau laina o ka code C. E hoʻokaʻawale i kēia manawa.
Ke hana ʻia nei ka "hoʻohuli" i kēia manawa ma o ka wili ʻana i ka keyboard virtual. Mahalo i ka mea kākau o keybd_event, akā ʻoi aku ka kiʻekiʻe o ka abstraction ma laila a pono e hana hou ʻia. No ka laʻana, hoʻohana wau i ke kī Win kūpono e koho i ka lālani 3rd. A ʻo ka Win hema wale nō e hoʻihoʻi ʻia.
ʻIke ʻia nā Bugs
ʻAʻole mākou ʻike i kekahi mea e pili ana i ka hoʻokomo "composite" (laʻana: ½). ʻAʻole pono i kēia manawa.
Ke pāʻani hewa nei mākou i ka Win kūpono. I koʻu hihia, ua haki ia i ka manaʻo nui.
ʻAʻohe hoʻopuka hoʻokomo maopopo. Akā, aia kekahi mau hana: Hoʻohālikelike (), CtrlSequence (), RepeatSequence (), SpaceSequence (). Спасибо nsmcan no kou mālama: hoʻoponopono ʻia ma ke code a ma aneʻi. Me kahi kūpono, hiki iā ʻoe ke hopu i nā pōpoki ke hoʻololi. I kēia manawa ʻaʻole wau ʻike "pehea" a makemake wau i nā manaʻo.
(E ke Akua) hoʻohana hoʻokūkū i nā ala (keyboardEvents, miceEvents).
hopena
ʻO ke code ke kaʻina hana maʻalahi. A hūpō e like me aʻu. No laila, ʻoluʻolu wau iaʻu iho me ka manaʻolana e hiki i nā mea ʻenehana ke hoʻokō i kāna makemake. A mahalo i kēia, ʻaʻole e pau kēia huahana me ke kākoʻo ʻole, e like me ka hapa nui o ka leʻaleʻa.