Klavyenin OSX System Wide gibi çalışması nasıl yapılır?


111

Sürekli olarak iki bilgisayar arasında geçiş yapıyorum:

  • OSX Kar Leoparı
  • Ubuntu 10.10

Ubuntu’nun OSX System Wide ile aynı klavye kısayollarını kullanmasını sağlamak istiyorum , yalnızca aşağıdaki klavye dizileri için (Ctrl Super gibi davranmak istemiyorum)

  • Super+C -> Kopyala

  • Super+V -> Yapıştır

  • Super+T -> Bulunduğum tarayıcıda yeni bir sekme aç.

  • Super+W -> Bulunduğum tarayıcıdaki sekmeyi kapat.

Kısacası, bu klavye dizilerini sadece aşağıdaki sistem genişliğiyle eşleştirmem için bir yol var mı?

  • Super+C -> Ctrl+C
  • Super+V -> Ctrl+V
  • Super+T -> Ctrl+T
  • Super+W -> Ctrl+W

Bunu vim ve Firefox için yapmamın bir yolu olduğunu biliyorum ve özellikle çoğu uygulama için eminim ... ama bunu bir kez yapmam ve sistemin bu şekilde çalışmasını tercih ederim !

Ubuntu'da standart bir PC klavyesi kullanıyorum, yani "Genel 105 tuşlu (intl) PC". Aynı zamanda Mac mini'mde aynı klavyeyi kullanıyorum.


4
Tüm Mac klavye kısayolları için bu numarayı tuşladıysanız, config dosyanızı paylaşmak harika olurdu! Teşekkürler
Dolan Antenucci 19:13

Hey! Keşke hala yapabilseydim, ama şimdi Mac'te çalışıyorum, işleri değiştirdim ;-) Yani eski konfigürasyonum hiçbir yerde yok ...
brad parkları

çözümler temel işletim sistemi üzerinde çalışmıyor. '
Paschalis

Yanıtlar:


38

Xautomation paketini kurarsanız, Sistem / Tercihler / Klavye Kısayolları / Özel gibi:

xte "keyup Meta_L" "keyup c" "keydown Control_L" "key c" "keyup Control_L"

ve onu Meta-C'ye eşleyin.


Alternatif çözüm:

AutoKey'i kurun (apt-get install autokey-gtk) ve şu ifadeyi ayarlayın:

Phrase Text: <ctrl>+C (actually type out the <ctrl>+ here)
Paste Using: Keyboard
Abbreviation: None
Hotkey: <super>+v
Window Filter: None

Hey! bu çok umut verici görünüyor ... kurdum ve yukarıdaki xte komutunu terminalden çalıştırabilirim ve terminalde "^ C" çıktılar ... ki bu bana çok yakışmış! ama onu Klavye Kısayollarında eşleştirdiğimde hiçbir şey yapmıyor ... Başka bir programı Meta-C ile eşlemeye çalıştım ve iyi çalışıyor (yani Meta-C'ye bastığımda gayet iyi çalışıyor). Ayrıca xte'ye (/ usr / bin / xte) giden tam yolu belirlemeyi de denedim ve bu da işe yaramadı ... bunu sisteminizde deneyebilir ve çalışıp çalışmadığını görebilir misiniz? Teşekkürler!
Brad

1
Bu yüzden xte, anahtar kodları doğru şekilde gönderir, ancak görünüşe göre uygulamalar kısayol ile xte tarafından gönderilen tuşlara birleşimini görür (örneğin, Meta-Control-C). Tuşa basmadan önce kısayol tuşlarını bırakmayı simüle etmek için cevabımı güncelledim .
Cscarney,

2
Çabuk kontrolde benim için işe yarıyor, ancak muhtemelen xte'den daha güvenilir olacak bir çözüm buldum (çalıştırsanız bile). Değiştirilen cevabı kontrol et.
Oscar

1
Hey! teşekkürler @cscarney! AutoKey için "Alternatif Çözüm" tamamen çalışıyor! Bu konuda gösterdiğiniz çaba için teşekkür ederiz!
brad parkları

1
Çözümler Ubuntu 18.04
JZ

17

Ubuntu 14 veya daha yenisi için bunu yapabilirsiniz:

sudo apt-get install gnome-tweak-tool

Daha sonra, Tweak Aracı> Yazma> Alt / Win tuş davranışını arayın

Ve kontrol edin: Ctrl, Win tuşlarıyla eşleştirilir (ve her zamanki Ctrl tuşlarıyla)


Hiçbir şey yapmıyor gibi görünüyor veya Mac davranışı değil
chovy

Ubuntu 16'nın yeni kurulumunda bunun kurulması, gnome-settings-daemon gerektiriyor gibi görünüyor.
Tom Lianza

Yalnızca en düz ileri seçenek, yalnızca kopyalama ve yapıştırma için komut tuşunun mac'taki cmd tuşu gibi olmasını istiyorsanız.
Ubuntu

Bu, kopyala yapıştır komutları için harika çalışıyor ve beni Ubuntu’daki arama menüsünü sürekli açmaktan alıkoyuyor. Şimdi sadece Command-Tab'i Alt-
Ron Smith

1
Uygulamalarımda Tweak Aracı göremiyorum. Ne yapmalıyım?
Jadda

13

Eşlemek için bir yol yoktur Ctrliçin Win/ Superanahtar:

  1. gidin > Tercihler-> klavyeyi system- ,

  2. sekmeyi aç Düzenler ,

  3. tıklayın Options ... ,

  4. açık Alt/ Winanahtar davranış ,

  5. ve Control tuşunu kullanarak Win tuşlarına eşlenir.

Ve konsol için burada bunun nasıl yapılacağı hakkında bir forum yazısı var .

Daha kazma onay genel Linux klavye NASIL belgesi için buraya .

Saygılarımızla


3
hey @danizmax - Cevabınız için teşekkürler ... ama özellikle Ctrl'nin davranışını değiştirmekten kaçınmak istiyorum ... Yaparsam diğer şeylerle birlikte vidalar buluyorum ... Yaparsam ... Ben yazıda bahsettiğim klavye kısayolları ... teşekkürler!
brad parkları

Ctr + olduğu gibi kalır. Sadece tüm Ctrl + 'yı Super +' a kopyalar, böylece sadece davranışı eklersiniz. Gerçekten sadece bahsettiğinizi değiştirmek istemediğiniz sürece, xmodmap ve loadkeys ile çok fazla kazma yapmanız gerekir. Linki genel Linux klavye NASIL'a ekledim.
Yardımcı

1
Bu, önerilenlerin hepsinden kolay çözümdü.
Datageek

1
Sistem ayarlarında daha fazla Ubuntu 15.10'da sistem ayarlarında "seçenekler" veya "alt / win key davranışı" seçeneğini göremiyorum.
user29020,

1
şimdi gnome tweaks, "klavye ve fare"
Yrogirg

8

Genişletmek için cscarney en AutoKey ipucu , benim geliştiriyorum AutoKey (OS X benzeri Ubuntu tüm Bunu başarmak için yapılandırmayı <cmd>+c, <cmd>+v... Emacs tarzı <ctrl>+f, <ctrl>+bbenim de, ...) dotfile repo .

Emacs, Eclipse, Vim, gnome-terminal ... gibi uygulamalarda AutoKey'i devre dışı bırakmak için temel cümleleri kullanmıyorum (pencere filtrelemesinin şu anda bozulduğu yerde ), ancak Python komut dosyaları varolan kısayolları açma.

READMENasıl kurulacağına ilişkin talimatlar için alt kısımdaki bilgileri kontrol edebilirsiniz .


bağlantı uygulaması için kesildi
chifliiiii

@ chifliiiii bağlantıları düzeltti, ancak nokta dosyalarımdaki linkli config'in muhtemelen eski olduğunu hatırlattı, çünkü yıllardır kullanmıyordum.
metakermit

5

Yukarıdaki çözümlerden bazıları eski ve Ubuntu 18.04 ile çalışmıyor. İşte güncellenmiş bir cevap

  1. Sistemde yüklü değilse gnome-tweaks'i takın

    sudo apt-get install gnome-tweaks

  2. Sol alt kısımdaki Uygulamaları Göster seçeneğine basarak uygulama listesini açın .

  3. Bunun yalnızca WINDOWS anahtarının davranışını CMD anahtarına değiştireceğini ve CTRL anahtarını öncekiyle aynı tutacağını unutmayın (2 CTRL anahtarınız olacaktır). Bunu beğenmediyseniz, 4. adımı atlayın ve 5. adıma gidin.

  4. İçin bak Tweaks application --> Keyboard and Mouse --> Additional Layout options --> Alt/Win behavior --> Select Control is mapped to Win keys and the usual Ctrl Keys.

  5. 4. adımı tamamladıysanız bu adımı atlayın. Bu adım Windows anahtarının Davranışını Ctrl ve tam tersi olarak değiştirir. AramakTweaks application --> Keyboard and Mouse --> Additional Layout options --> Ctrl Position --> Select Swap Left Win with Left Ctrl

  6. MacOS'ta özlediğim bir şey daha pencereleri CMD + Tab ile değiştirebilme yeteneği. (Bu durumda Windows + Tab). Bunu başarmak için gitmekSettings --> Keyboard --> Look for Switch Windows under navigation section --> Double Click it and press Windows+Tab when pop up appears


5

Herhangi bir masaüstü ortamında / pencere yöneticisinde çalışacak bir çözüm istedim, bu yüzden Sscarh'ın xautomation'unu SXHKD (basit X kısayol tuşu daemon) ile kullanmak için önerisini birleştirdim .

İşte ~/.config/sxhkd/sxhkdrcürettiğim temel yapılandırma dosyası.

Gelişmiş: Son sürümüm daha tamamlandı ve farklı uygulamalar için farklı tuş vuruşları gönderebilir, ancak harici bir komut dosyası gerektirir ve muhtemelen istemediğiniz bazı bağları vardır.

İşte bir snippet:

# Reload this config
control + alt + shift + r
  killall -USR1 -u "$USER" sxhkd && echo 'sxhkd config reloaded'

# Cut, copy and paste
alt + x
  xte "keyup x" "keyup Meta_L" "keydown Control_L" "key x" "keyup Control_L" "keydown Meta_L"
alt + c
  xte "keyup c" "keyup Meta_L" "keydown Control_L" "key c" "keyup Control_L" "keydown Meta_L"    
alt + v
  xte "keyup v" "keyup Meta_L" "keydown Control_L" "key v" "keyup Control_L" "keydown Meta_L"

# Open tab, close tab, restore closed tab
alt + t
  xte "keyup t" "keyup Meta_L" "keydown Control_L" "key t" "keyup Control_L" "keydown Meta_L"
alt + w
  xte "keyup w" "keyup Meta_L" "keydown Control_L" "key w" "keyup Control_L" "keydown Meta_L"    
alt + shift + t
  xte "keyup t" "keyup Meta_L" "keydown Control_L" "key t" "keyup Control_L" "keydown Meta_L"

# Move to home/end
alt + Left
  xte "keyup Meta_L" "keyup Left" "key Home" "keydown Meta_L"
alt + Right
  xte "keyup Meta_L" "keyup Right" "key End" "keydown Meta_L"
alt + shift + Left
  xte "keyup Meta_L" "keyup Left" "key Home" "keydown Meta_L"
alt + shift + Right
  xte "keyup Meta_L" "keyup Right" "key End" "keydown Meta_L"

# Move one word
super + Left
  xte "keyup Super_L" "keyup Left" "keydown Control_L" "key Left" "keyup Control_L" "keydown Super_L"
super + Right
  xte "keyup Super_L" "keyup Right" "keydown Control_L" "key Right" "keyup Control_L" "keydown Super_L"
super + shift + Left
  xte "keyup Super_L" "keyup Left" "keydown Control_L" "key Left" "keyup Control_L" "keydown Super_L"
super + shift + Right
  xte "keyup Super_L" "keyup Right" "keydown Control_L" "key Right" "keyup Control_L" "keydown Super_L"

Not:

  • Gördüğünüz gibi, sanal konturu gerçekleştirmeden önce orijinal değiştirici tuşunu kilitlersem, daha sonra tekrar tuşlarım. Bu, kullanıcının değiştirici tuşunu tekrar serbest bırakmak ve basmak zorunda kalmadan, tuşa tekrar basabileceği anlamına gelir. Başka bir deyişle, Alt-W tuşuna basıldıktan sonra, sistem Alt tuşuna basıldığını görür.

Uyarılar:

  • Xte komutu hala çalışıyorken Alt tuşunu serbest bırakırsanız, bu sorun olabilir (özellikle yavaş makinelerde) . Bir "yapışkan" Alt tuşu ile biteceksin, çünkü xte senin için bastırdı!

  • Bu yaklaşımı kullanarak , tuşa basılı tutulursa tetikleyiciler tekrar etmez . (Yani, Süper Sol tuşunu basılı tutarak 12 kelimeyi hareket ettiremezsiniz.)


Eskiden kullanırdım bbkeys, ama ne yazık ki bugünlerde pek çok dağıtımda paketlenmiyor.
joeytwiddle

4

Bunu nasıl yapacağınızı öğrendikten sonra bu kolay bir iştir.

1) Anahtarınızın şifresini kontrol edin. Bu programı terminalde çalıştırın.

xev


Bu örnekte, terminal benim için anahtar kodunun k"45" olduğunu gösterir.

2) Bu dosyayı oluştururken istediğiniz gibi değiştirin:

gedit ~ / .Xmodmap

İçeriği bu örnek gibi görünmelidir:

anahtar kodu 64 = Alt_L Meta_L Alt_L Meta_L anahtar kodu
108 = ISO_Level3_Shift NoSymbol ISO_Level3_Shift

(Anahtar kod numarasını gerektiği gibi değiştirin - "1" adımına bakın)

Ilustration:
(Obs .: değiştirmek kistersem "1" adımında gösterildiği gibi "keycode 45" kullanmalıyım).

4) Oturumu kapatıp tekrar açın veya yeniden başlatın veya şunu çalıştırın:

xmodmap ~ / .Xmodmap

Beğeneceğinizi umuyoruz ;-)



1

Önce
Konuk Eklemeleri CD'sini ( Devices->Insert Guest Additions CD image) yükleyin .

Paylaşım panoya etkinleştirme
, yeniden başlatma işlemlerinin ardından Sonra Virtualbox'da içinde gidip Machine->Settings->General->Advancedve set
Shared Clipboard: Bidrectional

Değişim VirtualBox Sunucu Anahtar
In Vitualbox/Preferences/Input/Virtual Machine/Host Key Combination
sonra sth farklı seçim

Anahtar Haritalama :
For cmd/ctrlme İngilizce (Macintosh) klavye eklemek için haritalama en rahat çözüm olarak görünmektedir :)

Git Ubuntu Settings->Text Entry
(Ben Klavye Düzeni Ayarlar olabilir eski sürümlerde sanırım)
altında Input sources to use:artı (+) isabet
eklemekEnglish (Macintosh)

VirtualBox 5.0.4'te Ubuntu 14.04.3 LTS 64bit kullanıyorum


1

İşte çok daha basit bir çözüm, Kinto. 3 yıldır bu konuda çalışıyorum .. ve son 2 denememden farklı olarak, ne kadar iyi çalıştığından dolayı bir şeylere katkıda bulunabileceğimi hissediyorum. Bu, x11 ve sistem tabanlı dağıtımlara yöneliktir, ancak çalışmayı zorlaştıran güvenliği artırmasına rağmen, konsept uygulamam için iyi bir yol bulduğumda Wayland'a taşınır.

1) Gist (öncülünü görmek isteyenler veya kendi alternatif çözümlerini uygulamak isteyenler için, kapsanmayan kenar kasaları).

https://gist.github.com/rbreaves/f4cf8a991eaeea893999964f5e83eebb

2) systemd, bash ve xprop öğelerini kullanan tam yükleyici. (Chromebook'lar da dahil olmak üzere Edge kasaları desteklemesi şaşırtıcı bir şekilde zordu, ancak herkesin faydalanabilmesi için benimkileri beğeniyorum!)

https://github.com/rbreaves/kinto

Japonca çevirmek için Kinto'nun nedeni budur - başka bir yöntem kullanarak her normal GUI uygulaması için bir anahtar hatırlatsa bile, Linux'ta olduğu gibi kolayca aynı Terminal tür deneyimine sahip olmayacaksınız. Mac’te. Ve bu talihsiz bir durum - Mac'ler bizi geliştiricilere Terminal uygulamaları için şaşırtıcı derecede iyi çalışan bir anahtar eşlemeyle bozuyor. Yaptığım nokta, anahtar haritanızı setxkbmap ve kullanılan etkin uygulama aracılığıyla 2 mizanpaj seçeneğinin 1’ine değiştirerek, herhangi bir uygulamaya özel en az ek kısayol tuşu oluşturmanız gerekmesine neden olmasıdır.

Temel olarak, bu çözümle, Terminal uygulamalarınızda GUI uygulamalarınızın geri kalanına karşı yeni kısayol tuşlarını nasıl düzgün şekilde oluşturacağınız veya kısayol çakışmalarından kaçınmaya çalıştığınız için mücadele etmiyorsunuz. Her iki kelimenin de en iyisini elde edersiniz ve olabildiğince sorunsuz çalışır - daha sonra ekleyebileceğim çeşitli terminaller ve popüler metin editörleri için varsayılan kısayol yapılandırma dosyaları dahil. Sublime gibi metin editörleri bile her kısayolda Cmd tuşunu kullanarak Cmd tuşunu değiştirmez, ancak söylediğim zamanın% 95 veya daha fazlasına uygun şekilde uyar.

Ve Wayland hakkında konuşurken, bu keymap keywap hilesinin KDE Plasma 5 üzerinde uygulama adlarını çeken mevcut bir widget ile çalışmasını sağlamanın bir kanıtı var. Herhangi birinin daha iyi bir çözümü varsa, o zaman tüm kulaklarım, özellikle de x11'de çalışabilirse. Xprop, x11'de tamamen yeterli, ancak açıkça Wayland'da kullanılamıyor.

https://github.com/rbreaves/applet-window-title/commit/ff17e694579a52a9848d6bea87b2d11f22033718


0

Elimde Ubuntu yok (Mac burada, Ubu ofiste.) Ama orada bir Mac klavyesi kullanıyorum ve seninle aynı nedenlerle bunu yapmak istedim.

İlk şey, klavyenizin bir Mac klavye olarak yüklendiğinden emin olmaktır. Bunu sistem-> tercihler-> klavyede değiştirebileceğinizi düşünüyorum. Siz oradayken sekmelerden biri sizi cmd tuşunun nasıl çalıştığını ayarlayabileceğiniz bir anahtar haritalama sayfasına yönlendirecektir.

Dediğim gibi, tam olarak hatırlayamıyorum - Buradaki ekranımdaki bitlere işaret edebilirim ama bu işe yaramıyor çünkü orada değilim.

Hala yarın sıkışıp kalırsan, tekrar bakarım.


sistem-> tercihler-> klavye-> düzenler-> seçenekler
Leo

merhaba leo ... Ben olsa Ubuntu ile Mac klavye kullanmıyorum ... Standart bir PC klavyesi kullanıyorum, yani "Genel 105 tuş (intl) PC" "klavye modelimi" Vendor Apple / Model Apple, ancak bunun bir fark yaratmadığı görülüyor ... Ayrıca Satıcı Apple / Model Macbook'u da denedim ve bu da hiçbir şeyi değiştirmedi ...
brad parkları

Ve buna değer olarak, aynı bilgisayar klavyesini macmini üzerinde de kullanıyorum, ikinci elden aldığım için ve bir mac klavyesiyle gelmedi. Tekrar teşekkürler.
brad parkları

0

Autokeys benim için çalıştı. Şimdi kazan + c (v, x, a) tıpkı beklediğim gibi sistemimde çalışın.

1. Otomatik anahtarları yükleyin

sudo apt install autokey-gtk

2. Otomatik anahtarları yapılandırma

  1. Kök klasör ekleyin, MacKeys veya benzeri bir şey arayın
  2. Burada ctrl-c, v, x ve a için 4 script oluşturacaksınız.
  3. her betiğe ata kısayol tuşu super-c, super-v etc
  4. komut dosyalarını aşağıdaki kodla doldurun (diğer kombinasyonlar için c harfini değiştirin)

winClass = window.get_active_class() keys = "<ctrl>+c" if winClass == "gnome-terminal-server.Gnome-terminal": keys = "<ctrl>+<shift>+c"; keyboard.send_keys(keys)

4a. CmdZ için, CmdA veya CmdX gibi daha basit bir script ile çalışmakkeyboard.send_keys("<ctrl>+x")

3. Başlangıç ​​uygulamalarına / usr / bin / autokey-gtk komutunu ekleyin.

4. Klavye ayarlarında Win-A'yı devre dışı bırakın

Normalde win-a, genel bakışa geçiş yapar.

5. İsteğe bağlı, genel görünümü değiştirmek için kazanmanın tamamen önlenmesi

Muhtemelen onu çıkarmak isteyeceksiniz. GNOME tweak aracını kurun, klavyeye gidin ve masaüstünden genel görünüme geçişi yeniden bağlayın. Bu benim gnome ubuntu 16.04 için çalıştı.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.