ProHoster > Blog > Pulega > Fa'atusa fou o Punto Switcher mo linux: xswitcher
Fa'atusa fou o Punto Switcher mo linux: xswitcher
O le i'uga o le lagolago a le xneur na mafua ai ona ou mafatia i le ono masina talu ai. (faatasi ai ma le oʻo mai o OpenSUSE 15.1 i luga o laʻu komipiuta: faʻatasi ai ma le xneur ua mafai, windows le taulaʻi ma faʻafefe malie i le taimi ma faʻaoga keyboard).
“Oi, leaga, na amata ona ou toe taina i se faatulagaga sese” - e tupu soona tupu lenei mea i laʻu galuega. Ma e le faʻaopoopoina se mea lelei.
I le taimi lava e tasi, o aʻu (o se inisinia mamanu) e mafai ona faʻamalamalama manino le mea ou te manaʻo ai. Ae na ou manaʻo (muamua mai Punto Switcher, ona, faʻafetai i Windows Vista, mulimuli ane sui i Linux, mai xneur) e tasi lava le mea. I le iloaina o lapisi i luga o le lau o loʻo i totonu o le faʻatulagaga sese (e masani ona tupu i le faaiuga o le taina o se upu fou), tuʻu i luga o le "Taofi/Mata". Ma maua mea na e lolomiina.
I le taimi nei, o le oloa o loʻo i ai le sili ona lelei (mai loʻu manatu) faʻatinoga / faʻalavelave faʻalavelave. Ua oo i le taimi e faasoa atu ai.
TL.DR
O le ai ai ituaiga uma o faʻamatalaga faʻapitoa mulimuli ane, muamua - so'oga "ia pa'i" mo e le onosai.
I le taimi nei, o amioga nei e fa'amalo:
“Taofi/Tapu”: fa'asolo i tua le upu mulimuli, sui le fa'atulagaina i le fa'amalama malosi (i le va o le 0 ma le 1) ma toe vili.
"Auvale Ctrl e aunoa ma se mea": sui le faatulagaga i le faamalama galue (i le va o le 0 ma le 1).
“Left Shift e aunoa ma se mea”: fa'aali le fa'asologa Numera 0 i le fa'amalama o lo'o galue.
“Sili Taumatau e aunoa ma se mea”: fa'aola le fa'asologa Numera 1 i le fa'amalama o lo'o galue.
Mai le taimi nei ou te fuafua e faʻavasega le amio. A aunoa ma se manatu faaalia, e le manaia (ou te lelei lava i ai). Ou te talitonu i luga o Habré o le a lava le pasene o le au maimoa e iai faʻafitauli tutusa.
NB Aua i le lomiga o loʻo iai nei, o loʻo faʻapipiʻi le keylogger i le "/ dev / input /", xswitcher e tatau ona faʻalauiloa ma aia tatau:
chown root:root xswitcher
chmod +xs xswitcher
Faamolemole ia matau: O lē e ona le faila ma suid e tatau ona a'a, aua o ai lava e ona o le a liua i suid pe a amata.
Paranoids (e le o aʻu) e mafai ona faʻapipiʻi mai GIT ma faʻapotopoto i luga o le saite. E pei o lena:
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
Fa'aopoopo le autostart e tofo (fa'alagolago ile DE).
E aoga, "e le fesili mo le porridge" (≈30 sekone PPU i le aso, ≈12 MB i RSS).
Vaʻai faʻamatalaga
Ole taimi nei - fa'amatalaga.
O le fale teu oloa atoa na muai tuuto i laʻu galuega fagafao, ma ua ou paie e amata se isi. O lea la, o mea uma e faʻaputuina (naʻo totonu o faila) ma ufiufi e le AGPL ("pateni faʻaliliu").
O le xswitcher code o loʻo tusia i le golang, faʻatasi ai ma le faʻaogaina o le C. E manatu o lenei auala o le a maua ai le itiiti ifo o le taumafaiga (e oʻo mai i le taimi nei). A'o fa'atumauina le mafai ona fa'afeso'ota'i mea o lo'o misi e fa'aaoga ai le cgo.
O lo'o iai fa'amatalaga i le tusitusiga po'o fea na nono mai ai ma pe aisea. Aua le xneur code "e leʻi musuia aʻu", na ou avea o se amataga loloswitcher.
O le fa'aaogaina o le "/dev/input/" e iai uma ona itu lelei (o lo'o va'aia mea uma, e aofia ai le ki fa'a-auto toe fai) ma fa'aletonu. O mea le lelei o:
Toe fai otometi (mea tutupu i le fa'ailoga “2”) e le fa'atasi ma le toe fai fa'atasi ma le x.
E le o va'aia le fa'aogaina e ala i feso'ota'iga X11 (o le auala lea e galue ai le VNC, mo se fa'ata'ita'iga).
Manaomia a'a.
I le isi itu, e mafai ona lesitala i X mea tutupu e ala i le "XSelectExtensionEvent()". E mafai ona e tilotilo i ai xinput code. Ou te leʻi mauaina se mea faʻapenei mo le alu, ma o le faʻatinoga faigata na vave ona ave le selau laina o le C code. Tuu ese mo le taimi nei.
O lo'o fa'atinoina nei le galuega fa'atino e ala i le viliina o le keyboard virtual. Fa'afetai i le tusitala o le keybd_event, ae o le va'aiga o lo'o i ai e maualuga tele ma e tatau ona toe faia atili. Mo se faʻataʻitaʻiga, ou te faʻaogaina le ki Win saʻo e filifili ai le laina lona 3. Ma na'o le agavale Win e toe fa'afo'i i tua.
Ta'uta'ua Bugs
Matou te le iloa se mea e uiga i le "composite" input (faataitaiga: ½). E le o mana'omia i le taimi nei.
O lo'o tatou ta'alo le sa'o Manumalo. I lo'u tulaga, e gau ai le faamamafa.
E leai se fa'avasegaga fa'aoga manino. Ae, e tele galuega tauave: Fa'atusatusa (), CtrlSequence (), RepeatSequence (), SpaceSequence (). Спасибо nsmcan mo lau tausiga: faʻasaʻo i le code ma iinei. Fa'atasi ai ma se fa'alavelave fa'apitoa, e mafai ona e pu'eina ni pusi pe a sui. I le taimi nei ou te le iloa "pe faapefea" ma o le a talia soʻo se fautuaga.
O le code o le faiga sili ona faigofie. Ma faavalevalea pei o au. O lea, ou te faʻamalo aʻu lava ma le faʻamoemoe e toetoe lava o soʻo se tekinisia o le a mafai ona faʻamaeʻaina le mea e manaʻo ai. Ma faʻafetai i lenei mea, o lenei oloa o le a le faʻaumatia e aunoa ma le lagolago, pei o le tele-mo-mea malie.