Analogue yatsopano ya Punto Switcher ya linux: xswitcher
Kutha kwa chithandizo cha xneur kwandipangitsa kuvutika m'miyezi isanu ndi umodzi yapitayo. (ndi kubwera kwa OpenSUSE 15.1 pa desktops yanga: ndi xneur yathandizidwa, windows kutaya chidwi ndikuseka moseketsa pakapita nthawi ndikulowetsa kiyibodi).
NB Chifukwa mu mtundu wapano, keylogger imalumikizidwa ku "/dev/input/", xswitcher iyenera kukhazikitsidwa ndi ufulu wa mizu:
chown root:root xswitcher
chmod +xs xswitcher
Chonde dziwani: Mwini fayilo ndi suid ayenera kukhala mizu, chifukwa Yemwe ali mwiniwake adzasinthidwa kukhala suid poyambitsa.
Ma Paranoids (inenso sindiri wosiyana nawo) amatha kukhala nawo GIT ndi kusonkhana pamalowo. Monga choncho:
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
Onjezani autostart kuti mulawe (kutengera DE).
Zimagwira ntchito, "sapempha phala" (β30 masekondi CPU patsiku, β12 MB mu RSS).
Onani zambiri
Tsopano - tsatanetsatane.
Chosungira chonsecho chidaperekedwa ku polojekiti yanga ya ziweto, ndipo ndine waulesi kuti ndiyambe ina. Chifukwa chake, chilichonse chimawunjika (mumafoda okha) ndikukutidwa ndi AGPL ("reverse patent").
Khodi ya xswitcher imalembedwa mu golang, yokhala ndi zochepa zochepa za C. Zimaganiziridwa kuti njirayi idzapangitsa kuti pakhale khama lochepa (mpaka pano). Pokhala ndi kuthekera kolumikiza zomwe zikusowa pogwiritsa ntchito cgo.
Lembalo lili ndi ndemanga za komwe anabwereka komanso chifukwa chake. Chifukwa nambala ya xneur "siinandilimbikitse", ndinaitenga ngati poyambira loloswitcher.
Kugwiritsa ntchito "/dev/input/" kuli ndi zabwino zonse (chilichonse chikuwoneka, kuphatikiza kiyi yobwereza yokha) ndi zovuta zake. Zoyipa zake ndi:
Kubwereza-bwereza (zochitika zokhala ndi code "2") sikulumikizana ndi kubwereza ndi x.
Kulowetsa kudzera pa X11 sikukuwoneka (umu ndi momwe VNC imagwirira ntchito, mwachitsanzo).
Amafuna mizu.
Kumbali ina, ndizotheka kulembetsa ku X zochitika kudzera pa "XSelectExtensionEvent()". Mutha kuyang'ana xinput kodi. Sindinapeze chilichonse chonga ichi kuti ndipite, ndipo kukhazikitsa movutikira kudatenga mizere zana ya C code. Ikani pambali pano.
Kutulutsa kwa "reverse" pano kumapangidwa kudzera mukuboola kiyibodi yeniyeni. Tithokoze mlembi wa keybd_event, koma kutulutsa komwe kuli kokwezeka kwambiri ndipo kuyenera kukonzedwanso. Mwachitsanzo, ndimagwiritsa ntchito kiyi ya Win yoyenera kusankha mzere wachitatu. Ndipo Win yakumanzere yokha imatumizidwanso.
Zodziwika Bugs
Sitikudziwa kalikonse za kuyika kwa "composite" (chitsanzo: Β½). Sichikufunika pakali pano.
Tikusewera Win yoyenera molakwika. Kwa ine, zimaswa kutsindika.