キーボードをOSX System Wideのように動作させる方法は?


111

私は2台のコンピューターを絶えず切り替えています。

  • OSX Snow Leopard
  • Ubuntu 10.10

UbuntuでOSX System Wideと同じキーボードショートカットを使用できるようにしたいのは、次のキーボードシーケンスに対してのみです(つまり、CtrlをSuperのように動作させたくない)

  • Super+C ->コピー

  • Super+V ->貼り付け

  • Super+T ->現在使用しているブラウザで新しいタブを開きます。

  • Super+W ->どのブラウザでもタブを閉じます。

つまり、とにかく、これらのキーボードシーケンスだけを次のシステム全体にマッピングする必要がありますか?

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

私は、私はvimのためにこれを行うための方法があります知っている、とFirefox、と私はほとんどのアプリケーションのために特別に確信している...しかし、私は一度だけこの操作を行うと、それがそのように仕事持っている必要がありますことを好むだろう広いシステムを

私は、標準のPCキーボード、つまりUbuntuの「Generic 105 key(intl)PC」を使用しています。Mac miniでも同じキーボードを使用しています。


4
すべてのMacキーボードショートカットでこれをダイヤルインした場合、設定ファイルを共有するのは素晴らしいことです。ありがとう
ドーランアンテヌッチ

おい!...私はまだやった希望が、私は仕事;-)を移動してきたように、今、Macの上で独占的に働いているので、私は周りのどこにでも私の古い設定を持っていない
ブラッド・パーク

ソリューションは基本OSでは機能しません。
パスカル

回答:


38

xautomationパッケージをインストールする場合、次のようなコマンドをSystem / Preferences / Keyboard Shortcuts / Customに追加できます。

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

それをMeta-Cにマッピングします。


代替ソリューション:

AutoKeyをインストールし(apt-get install autokey-gtk)、フレーズを次のように設定します。

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

おい!これは非常に有望に見えます...私はインストールして、ターミナルから上記のxteコマンドを実行でき、ターミナルで "^ C"を出力します... しかし、キーボードショートカットでマップすると、何もしません...別のプログラムをMeta-Cにマップしようとしましたが、正常に動作します(つまり、Meta-Cを押すと正常に起動します)。また、xte(/ usr / bin / xte)へのフルパスを指定しようとしましたが、それも機能しませんでした...システムでこれを試して、機能するかどうかを確認できますか?ありがとう!
ブラッドパーク

1
そのため、xteはキーコードを正しく送信しますが、アプリケーションは、xteによって送信されたショートカットとキー押下の組み合わせ(Meta-Control-Cなど)を認識しているようです。キープレスを送信する前にショートカットキーを解放することをシミュレートするために、回答を更新しました。
cscarney

2
クイックチェックでそれは私にとってはうまくいきますが、おそらくxteよりも信頼できるソリューションを見つけました(あなたがそれを動作させても)。修正された回答を確認してください。
cscarney

1
おい!ありがとう@cscarney!AutoKeyの「代替ソリューション」は完全に機能します!これについてのあなたの継続的な努力に感謝します!
ブラッドパーク

1
ソリューションは、Ubuntu 18.04
JZ

17

Ubuntu 14以降の場合、これを実行できます。

sudo apt-get install gnome-tweak-tool

よりも、Tweak Tool> Typing> Alt / Winキーの動作を探してください

そしてチェック:CtrlはWinキー(および通常のCtrlキー)にマッピングされます


何もしていないようまたはMacの動作ではありませんん
chovyは

Ubuntu 16の新規インストールでは、これをインストールするのにgnome-settings-daemonが必要であるように見えます。
トムリアンザ

主にコピーと貼り付けのために、コマンドキーをmacのcmdキーのようにしたい場合は、これまでで最も簡単なオプションです。私はubuntu-gnome-desktopにいます
lxm7

これは、コピーと貼り付けのコマンドに最適で、Ubuntuで検索メニューを常に開くことができません。今、私はちょうどAlt + Tabキーにコマンドタブをマッピングする必要があります
ロン・スミス

1
アプリにTweak Toolが表示されません。私は何をすべきか?
ジャダ

13

マップする方法はありCtrlWin/ Superキー:

  1. system-> preferences-> keyboardに行き、

  2. オープンタブレイアウト

  3. クリックオプション...

  4. オープンAlt/ Winキー動作

  5. コントロールを選択してWinキーにマップします

そして、コンソールについては、ここでそれを行う方法に関するフォーラム投稿があります

より多くの掘削チェック一般的なLinuxのキーボードHOWTOについてはこちら

よろしく


3
ちょっと@danizmax-返信ありがとうございます...しかし、私は特にCtrlの完全な動作を変更しないようにしたいです...私がそうする場合、私はそれが他のものとネジを見つける...私は本当にちょうどマップしたいです投稿で言及したキーボードショートカット...ありがとう!
ブラッドパーク

さて、Ctr +はそのままです。すべてのCtrl +をSuper +に複製するだけなので、動作を追加するだけです。本当にあなたが言及したものだけを変更したいのでなければ、xmodmapとloadkeysで多くの調査をしなければなりません。一般的なLinuxキーボードHOWTOへのリンクを追加しました。それが役立つことを願っています:P
danizmax

1
これは、提案されたすべての中で最も簡単なソリューションでした。
Datageek

1
Ubuntu 15.10 wilyでは、システム設定に「オプション」または「alt / winキーの動作」オプションが表示されなくなりました。
user29020

1
それは現在gnomeの微調整「キーボードとマウス」にあります
Yrogirg

8

展開するにはcscarneyのオートキーヒント、私は自分の開発していますオートキー(OS XのようなUbuntuの中でこのすべてを達成するための設定を<cmd>+c<cmd>+v、... Emacsのスタイル<ctrl>+f<ctrl>+b私の中で、...)ドットファイルレポ

基本的なフレーズは使用していませんが(ウィンドウフィルタリングが現在破損している場合)、Pythonスクリプトを使用して、Emacs、Eclipse、Vim、gnome-terminalなどのアプリでAutoKeyを無効にできます...既存のショートカットを作成します。

あなたは、チェックアウトすることができREADME、それを設定する方法については、下に。


アプリのリンクが壊れている
-chifliiiii

@chifliiiiiはリンクを修正しましたが、ドットファイル内のリンクされた設定が古くなっている可能性が非常に高いことに注意してください。
metakermit

5

上記のソリューションの一部は古く、Ubuntu 18.04では機能しません。ここに更新された答えがあります

  1. システムにインストールされていない場合はgnome-tweaksをインストールします

    sudo apt-get install gnome-tweaks

  2. 左下の[ アプリケーションの表示]を押して、アプリケーションのリストを開きます。

  3. これにより、WINDOWSキーの動作がCMDキーに変更されるだけで、CTRLキーは以前と同じままになります(2つのCTRLキーがあります)。気に入らない場合は、手順4をスキップして手順5に進んでください

  4. 探してください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を完了した場合は、この手順をスキップします。この手順は、Windowsキーの動作をCtrlに、またはその逆に切り替えます。探すTweaks application --> Keyboard and Mouse --> Additional Layout options --> Ctrl Position --> Select Swap Left Win with Left Ctrl

  6. macOSでもう1つ見逃しているのは、CMD + Tab(この場合はWindows + Tab)でウィンドウを切り替える機能です。これを達成するには、Settings --> Keyboard --> Look for Switch Windows under navigation section --> Double Click it and press Windows+Tab when pop up appears


5

どのデスクトップ環境/ウィンドウマネージャーでも動作するソリューションが必要だったため、xautomationをSXHKD(単純なXホットキーデーモン)と使用するというcscarneyの提案を組み合わせました。

これが~/.config/sxhkd/sxhkdrc私が作成した基本的な設定ファイルです。

高度:私の最新バージョンはより完全であり、さまざまなアプリケーションにさまざまなキーストロークを送信できますが、外部スクリプトが必要であり、おそらく不要なバインディングがいくつかあります。

以下がスニペットです。

# 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"

注意:

  • ご覧のとおり、仮想ストロークを実行する前に元の修飾キーをキーアップした場合、その後再びキーダウンします。これは、ユーザーが修飾キーを再度放したり押したりすることなく、キーを押すことを繰り返すことができることを意味します。つまり、Altキーを押しながらWキーを押すと、システムはAltキーが押されていることを認識します。

警告:

  • xteコマンドの実行中にAltキーを離すと、問題になる可能性があります(特に低速のマシンでは)。xteが押したので、「スティッキーな」Altキーが表示されます!

  • このアプローチを使用する、キーが押されている場合、トリガーは繰り返されません。(したがって、左上を押し続けると12ワード移動できません。)


bbkeysは過去に使用していましたが、残念なことに、最近では多くのディストリビューションでパッケージ化されていません。
joeytwiddle

4

方法がわかれば、これは簡単な作業です。

1)キーのキーコードを確認します。ターミナルでこのプログラムを実行します。

xev


この例では、端末はmyのキーコードkが「45」であることを示しています。

2)このファイルの作成に合わせて変更します。

gedit〜/ .Xmodmap

内容は次の例のようになります。

キーコード64 = Alt_L Meta_L Alt_L Meta_L
キーコード108 = ISO_Level3_Shift NoSymbol ISO_Level3_Shift

(必要に応じてキーコード番号を変更します-ステップ「1」を見てください)

イラスト:(目的:
変更したい場合kは、ステップ "1"で示したように "キーコード45"を使用する必要があります)。

4)ログアウトしてログインし直すか、再起動するか、これを実行します:

xmodmap〜/ .Xmodmap

お楽しみください;-)



1

最初に
Guest Additions CD(Devices->Insert Guest Additions CD image)をインストールします。

クリップボード共有
を有効にします。その後、再起動後、Virtualboxに移動しMachine->Settings->General->Advancedて設定します
Shared Clipboard: Bidrectional

変更のVirtualBoxホストキー
では、Vitualbox/Preferences/Input/Virtual Machine/Host Key Combination
その後、STH異なる選択します

キーマッピング
についてcmd/ctrl私は英語(Macintosh版)のキーボードを追加するためのマッピング最も快適な解決策のようです:)

移動しますUbuntu Settings->Text Entry
(私はそれがキーボードレイアウト設定であるかもしれない古いバージョンでは推測)
の下ではInput sources to use:、プラス(+)のヒット
を追加English (Macintosh)

VirtualBox 5.0.4でUbuntu 14.04.3 LTS 64ビットを使用しています


1

これは、はるかに簡単なソリューション、Kintoです。私はこれに3年間取り組んでいます。そして、最後の2回の試みとは違って、それがうまく機能しているため、最終的に何かを貢献できるように感じます。x11およびsystemdベースのディストリビューションを対象としていますが、セキュリティを強化することで作業が困難になりますが、実装するための適切な方法が見つかると、コンセプトはWaylandに引き継がれます。

1)要点(前提を確認するか、独自の代替ソリューションを実装するだけの場合、エッジケースはカバーされません)。

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

2)systemd、bash、およびxpropを使用するフルインストーラー。(Chromebookのようなエッジケースがカバーされているため、サポートするのは驚くほど困難でしたが、私は自分のことを楽しんでいますので、誰もが恩恵を受けることができます!)

https://github.com/rbreaves/kinto

フリップ用の日本語のKintoの理由はこれです-他の方法を使用してすべての通常のGUIアプリのキーリマップを完成させたとしても、Linuxでは同じターミナルタイプの経験を簡単に得ることはできませんMacで。そして、それは残念です-Macが開発者をターミナルアプリに驚くほどうまく機能するキーマップで台無しにするからです。setxkbmapと使用中のアクティブなアプリを使用してキーマップを2分の1のレイアウトオプションに変更することにより、特定のアプリに固有の最小限の追加ショートカットキーを作成する必要があるということです。

基本的に、このソリューションでは、新しいショートカットキーを適切に作成する方法と戦ったり、ターミナルアプリと他のGUIアプリでのショートカットの競合を回避しようとはしていません。単に両方の単語の長所を取得するだけで、できる限りシームレスに機能します-さまざまな端末のデフォルトのショートカット構成ファイルや、後ほど説明する一般的なテキストエディターを含めるだけでなく。Sublimeのようなテキストエディタでさえ、すべてのショートカットでCmdキーとCtrlを単純に入れ替えるわけではありませんが、約95%以上の時間で適切に調整されます。

Waylandについて話すと、このキーマップキースワップトリックを、アプリ名を取り込む既存のウィジェットを使用してKDE Plasma 5で機能させる方法の概念実証があります。誰かがより良い解決策を持っているなら、特にx11でも動作するなら、私はすべての耳です。Xpropはx11では完全に十分ですが、Waylandでは明らかに使用できません。

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


0

Ubuntuを手に入れることはできません(Macはここ、Ubuはオフィスにあります)が、そこではMacキーボードを使用しています。あなたと同じ理由で、これをやりたいと思っていました。

まず、キーボードがMacキーボードとしてインストールされていることを確認します。system-> preferences-> keyboardでこれを変更できると思います。そこにいる間、タブの1つを使用すると、キーマッピングページが表示され、cmdキーの動作を設定できます。

私が言うように、私は正確に覚えていない-私はここで私の画面上のビットを指すことができますが、私はそこにいないのでうまくいきません。

明日もまだ行き詰まっている場合は、もう一度確認します。


system-> preferences-> keyboard-> layouts-> options
レオ

こんにちはleo ...私はUbuntuでMacキーボードを使用していません...標準PCキーボードを使用しています。つまり、「Generic 105 key(intl)PC」は「キーボードモデル」をベンダーAppleに切り替えようとしました/モデルのAppleそれは、私はまた、ベンダーアップル/モデルのMacBookを試してみましたが、それは...どちらか何かを変更していないようでした....任意の違いを確認していないようでした
ブラッドパーク

そして、その価値のために、macminiでもまったく同じPCキーボードを使用しています。中古品を購入し、macキーボードが付属していなかったからです。再度、感謝します。
ブラッドパーク

0

オートキーは私にとってはうまくいきました。これで、win + c(v、x、a)が期待どおりに私のシステムを回避します。

1.オートキーをインストールする

sudo apt install autokey-gtk

2.オートキーを構成する

  1. ルートフォルダーを追加し、MacKeysなどの名前を付けます
  2. ctrl-c、v、x、およびa用に4つのスクリプトを作成します
  3. 各スクリプトホットキーsuper-c、super-vなどに割り当てる
  4. スクリプトを以下のコードで埋めます(他のコンボの文字cを置き換えます)

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、CmdAまたはCmdXの場合、次のような単純なスクリプトで動作しますkeyboard.send_keys("<ctrl>+x")

3. / usr / bin / autokey-gtkを起動アプリケーションに追加します

4.キーボード設定でwin-Aを無効にします

通常、win-aは概要に切り替えます。

5.オプション、勝利を完全に防ぎ、概要を切り替える

おそらくあなたはそれを削除したくなるでしょう。gnome-tweak-toolをインストールし、キーボードに移動して、デスクトップから概要への切り替えを再バインドします。これは私のgnome ubuntu 16.04で機能しました。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.