如何让键盘像OSX System Wide一样工作?

我经常在两台计算机之间来回切换:

  • OSX Snow Leopard
  • Ubuntu 10.10

我希望能够让Ubuntu使用与OSX System Wide相同的键盘快捷键,仅适用于以下键盘序列(即我不想让Ctrl像Super一样)

  • 超级+ C – >复制

  • Super + V – >粘贴

  • Super + T – >在我所在的任何浏览器中打开一个新选项卡。

  • 超级+ W – >在我所在的任何浏览器中关闭选项卡。

简而言之,无论如何,我是否只将这些键盘序列映射到系统范围内的以下?

  • 超级+ C – > Ctrl + C.
  • Super + V – > Ctrl + V.
  • Super + T – > Ctrl + T.
  • 超级+ W – > Ctrl + W.

我知道有很多方法可以让我为vim和Firefox做这个,而且我肯定会特别针对大多数应用程序……但是我宁愿只做一次这样的事情让它在系统范围内工作

我正在使用标准PC键盘,即Ubuntu上的“Generic 105 key(intl)PC”。 我也在Mac mini上使用相同的键盘。

如果安装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: +C (actually type out the + here) Paste Using: Keyboard Abbreviation: None Hotkey: +v Window Filter: None 

对于Ubuntu 14或更新版本,您可以这样做:

 sudo apt-get install gnome-tweak-tool 

然后,查找调整工具>键入> Alt / Win键行为

并检查:Ctrl被映射到Win键(和通常的Ctrl键)

有一种方法可以将Ctrl映射到Win / Super键:

  1. 转到system-> preferences-> keyboard

  2. 打开标签布局

  3. 单击选项…

  4. 打开Alt / Win键行为

  5. 并选择控制映射到Win键

对于控制台,有一个论坛post如何在这里做。

有关更多挖掘检查一般Linux键盘HOWTO 在这里 。

问候

为了扩展cscarney的AutoKey提示 ,我正在开发我的AutoKey配置以在Ubuntu中实现所有这些(类似OS X的+c+v ,… Emacs-style +f+b我的dotfile repo中有 +b ,…)。

我不使用基本短语( 当前窗口过滤被破坏 ),但Python脚本,能够在Emacs,Eclipse,Vim,gnome-terminal等应用程序中禁用AutoKey …我不想弄乱现有的快捷方式。

您可以查看底部的README ,了解如何进行设置。

一旦您知道如何操作,这是一项简单的任务。

1)检查你的密钥的密钥。 在终端运行该程序。

  xev的 


在这个例子中,终端显示我的k的键码是“45”。

2)根据您的喜好创建此文件来更改它们:

  gedit~ / .Xmodmap 

它的内容应该如下所示:

keycode 64 = Alt_L Meta_L Alt_L Meta_L
keycode 108 = ISO_Level3_Shift NoSymbol ISO_Level3_Shift

(根据需要更改键码编号 – 查看步骤“1”)

Ilustration:
(观点:如果我想改变我的k,我应该使用“keycode 45”,如步骤“1”所示)。

4)注销并重新登录或重启或运行:

  xmodmap~ / .Xmodmap 

希望你喜欢 ;-)

第一
安装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
选择不同然后

键映射
对于我的cmd/ctrl映射添加英语(Macintosh)键盘似乎是最舒服的解决方案:)

转到Ubuntu Settings->Text Entry
(我猜在旧版本中它可能在键盘布局设置中)
Input sources to use:命中加(+)
添加English (Macintosh)

我在VirtualBox 5.0.4中使用Ubuntu 14.04.3 LTS 64位

上面的一些解决方案是旧的,不适用于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的另一件事是能够用CMD + Tab切换窗口(在这种情况下是Windows + Tab)。 要实现此目的,请转到Settings --> Keyboard --> Look for Switch Windows under navigation section --> Double Click it and press Windows+Tab when pop up appears

我没有手持Ubuntu(Mac在这里,Ubu在办公室),但我在那里使用Mac键盘,出于与你相同的原因,想要这样做。

首先要确保您的键盘安装为Mac键盘。 我想你可以在system-> preferences-> keyboard中改变它。 当您在那里时,其中一个选项卡会将您带到一个键映射页面,您可以在其中设置cmd键的工作方式。

就像我说的那样,我记不起来了 – 我可以在这里指出我屏幕上的位,但这不起作用,因为我不在那里。

如果你明天仍然陷入困境,我会再看一遍。

Autokeys确实对我有用。 现在win + c(v,x,a)就像我期望的那样围绕我的系统工作。

1.安装自动键

sudo apt install autokey-gtk

2.配置自动键

  1. 添加根文件夹,称之为MacKey等
  2. 你将在那里为ctrl-c,v,x和a创建4个脚本
  3. 分配给每个脚本热键super-c,super-v等
  4. 使用下面的代码填充脚本(替换其他组合的字母c)

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

4A。 对于CmdZ,CmdA或CmdX使用更简单的脚本,如keyboard.send_keys("+x")

3.将/ usr / bin / autokey-gtk添加到启动应用程序

4.在键盘设置中禁用win-A

通常,win-a会切换到概述。

5.可选,完全阻止win切换概述

可能你会想要删除它。 安装gnome-tweak-tool,转到键盘并重新绑定从桌面到概述的切换。 这适用于我的gnome ubuntu 16.04。