Làm cách nào để làm cho bàn phím hoạt động như OSX System Wide?


111

Tôi chuyển đổi qua lại giữa hai máy tính liên tục:

  • Báo tuyết OSX
  • Ubuntu 10.10

Tôi muốn có thể khiến Ubuntu sử dụng các phím tắt tương tự như OSX System Wide , chỉ cho các chuỗi bàn phím sau (nghĩa là tôi không muốn làm cho Ctrl hoạt động như Super)

  • Super+C -> Sao chép

  • Super+V -> Dán

  • Super+T -> Mở một tab mới trong bất kỳ trình duyệt nào tôi đang ở.

  • Super+W -> Đóng một tab trong bất kỳ trình duyệt nào tôi đang ở.

Vì vậy, trong ngắn hạn, là có anyway cho tôi để lập bản đồ chỉ những chuỗi bàn phím để điều sau đây, hệ thống rộng?

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

Tôi biết có nhiều cách để tôi làm điều này cho vim và Firefox, và tôi chắc chắn cụ thể cho hầu hết các ứng dụng ... nhưng tôi muốn làm điều này chỉ một lần và để nó hoạt động theo cách rộng của hệ thống !

Tôi đang sử dụng bàn phím PC tiêu chuẩn, đó là "Chung 105 phím (intl) PC" trên Ubuntu. Tôi cũng đang sử dụng cùng một bàn phím trên máy Mac mini của mình.


4
Nếu bạn đã quay số này cho tất cả các phím tắt trên bàn phím Mac, việc chia sẻ tệp cấu hình của bạn sẽ rất tuyệt vời! Cảm ơn
Dolan Antenucci

Chào! Tôi ước tôi vẫn làm, nhưng hiện tại tôi chỉ làm việc trên Mac, vì tôi đã chuyển việc ;-) Vì vậy, tôi không có cấu hình cũ của mình ở bất cứ đâu ...
brad park

các giải pháp không hoạt động trên hệ điều hành cơ bản. '
Paschalis

Câu trả lời:


38

Nếu bạn cài đặt gói xautomation, bạn có thể thêm một lệnh trong Hệ thống / Tùy chọn / Phím tắt / Tùy chỉnh như:

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

và ánh xạ tới Meta-C.


Giải pháp thay thế:

Cài đặt AutoKey (apt-get install autokey-gtk) và đặt cụm từ thành:

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

Chào! điều này có vẻ rất hứa hẹn ... tôi đã cài đặt và có thể chạy lệnh xte ở trên từ thiết bị đầu cuối và nó xuất ra "^ C" trong thiết bị đầu cuối ... có vẻ tốt với tôi! nhưng khi tôi ánh xạ nó trong Phím tắt, nó không làm gì cả ... Tôi đã thử ánh xạ một chương trình khác sang Meta-C và nó hoạt động tốt (tức là khởi chạy tốt khi tôi nhấn Meta-C). Tôi cũng đã thử chỉ định đường dẫn đầy đủ đến xte (/ usr / bin / xte) và nó cũng không hoạt động ... bạn có thể thử điều này trên hệ thống của mình và xem nó có hoạt động không? cảm ơn!
công viên brad

1
Vì vậy, xte gửi mã khóa chính xác, nhưng rõ ràng các ứng dụng thấy sự kết hợp giữa phím tắt và phím nhấn được gửi bởi xte (ví dụ: Meta-Control-C). Tôi đã cập nhật câu trả lời của mình để mô phỏng việc nhả các phím tắt trước khi gửi các phím bấm.
cscarney

2
Khi kiểm tra nhanh, nó hoạt động với tôi, nhưng tôi đã tìm thấy một giải pháp có thể đáng tin cậy hơn xte (ngay cả khi bạn làm cho nó hoạt động). Kiểm tra câu trả lời sửa đổi.
cscarney

1
Chào! cảm ơn @cscarney! "Giải pháp thay thế" cho AutoKey hoàn toàn hoạt động! cảm ơn rất nhiều vì nỗ lực liên tục của bạn trong việc này!
công viên brad

1
Giải pháp không làm việc cho Ubuntu 18,04
JZ.

17

Đối với Ubuntu 14 hoặc mới hơn, bạn có thể làm điều này:

sudo apt-get install gnome-tweak-tool

Hơn, hãy tìm Công cụ Tweak> Nhập> Hành vi phím Alt / Win

Và kiểm tra: Ctrl được ánh xạ tới các phím Win (và các phím Ctrl thông thường)


Dường như không làm gì hoặc không phải là hành vi của Mac
chovy

Trong bản cài đặt mới của Ubuntu 16, việc cài đặt này dường như đòi hỏi gnome-settings-daemon dường như dẫn đến một loạt các gói không cảm thấy như chúng được cài đặt.
Tom Lianza

Cho đến nay, tùy chọn chuyển tiếp thẳng nhất nếu bạn chỉ muốn phím lệnh giống như phím cmd trong mac, chủ yếu để sao chép và dán. Tôi đang sử dụng Ubuntu-gnome-desktop
lxm7

Điều này hoạt động rất tốt cho các lệnh sao chép-dán và ngăn tôi liên tục mở điều menu tìm kiếm trong Ubuntu. Bây giờ tôi chỉ cần ánh xạ Command-Tab sang Alt-Tab
Ron Smith

1
Tôi không thấy Tweak Tool trong ứng dụng của mình. Tôi nên làm gì?
Jadda

13

Có một cách để ánh xạ Ctrltới Win/ Superkey:

  1. đi đến hệ thống-> tùy chọn-> bàn phím ,

  2. mở tab Bố cục ,

  3. bấm Tùy chọn ... ,

  4. hành vi mở Alt/ Winchính ,

  5. và chọn Control được ánh xạ tới các phím Win

Và đối với giao diện điều khiển có một bài viết diễn đàn làm thế nào để làm điều đó ở đây .

Để biết thêm chi tiết, hãy kiểm tra bàn phím Linux nói chung tại đây .

Trân trọng


3
này @danizmax - cảm ơn vì đã trả lời ... nhưng tôi đặc biệt muốn tránh thay đổi hành vi hoàn chỉnh của Ctrl ... Tôi thấy nó rất khó chịu nếu tôi làm ... Tôi thực sự muốn lập bản đồ phím tắt mà tôi đã đề cập trong bài viết ... cảm ơn mặc dù!
công viên brad

Vâng, Ctr + vẫn như cũ. Nó chỉ sao chép tất cả Ctrl + thành Super + để bạn chỉ cần thêm hành vi. Trừ khi bạn thực sự chỉ muốn thay đổi những người bạn đã đề cập, bạn sẽ phải thực hiện nhiều hoạt động đào bới với xmodmap và loadkey. Tôi đã thêm liên kết đến bàn phím Linux nói chung. Hy vọng nó sẽ giúp: P
danizmax

1
Đây là giải pháp dễ nhất từ ​​tất cả các đề xuất.
Datageek 16/03/13

1
Tôi không thấy tùy chọn "tùy chọn" hoặc "alt / win key" trong cài đặt hệ thống nữa trong Ubuntu 15.10.
dùng29020

1
bây giờ trong các chỉnh sửa gnome, "bàn phím và chuột"
Yrogirg

8

Mở rộng trên AutoKey gợi ý cscarney của , Tôi đang phát triển của tôi AutoKey cấu hình để đạt được tất cả điều này trong Ubuntu (OS X giống như <cmd>+c, <cmd>+v, ... Emacs-phong cách <ctrl>+f, <ctrl>+b...) trong tôi repo dotfile .

Tôi không sử dụng các cụm từ cơ bản (hiện tại quá trình lọc cửa sổ bị hỏng ), nhưng các tập lệnh Python, để có thể tắt AutoKey trong các ứng dụng như Emacs, Eclipse, Vim, gnome-terminal ... nơi tôi không muốn gây rối lên các phím tắt hiện có.

Bạn có thể kiểm tra READMEphía dưới để biết hướng dẫn về cách thiết lập.


liên kết bị hỏng cho ứng dụng
chifliiiii

@chifliiiii đã sửa các liên kết, nhưng lưu ý rằng cấu hình được liên kết trong dotfiles của tôi rất có thể đã lỗi thời, vì tôi đã không sử dụng nó trong nhiều năm.
metakermit

5

Một số giải pháp trên đã cũ và không hoạt động với Ubuntu 18.04. Đây là một câu trả lời cập nhật

  1. Cài đặt gnome-chỉnh nếu không được cài đặt trong hệ thống

    sudo apt-get install gnome-tweaks

  2. Mở danh sách các ứng dụng bằng cách nhấn Show Application ở phía dưới bên trái.

  3. Lưu ý rằng điều này sẽ chỉ thay đổi hành vi của khóa WINDOWS thành khóa CMD và giữ phím CTRL như trước (bạn sẽ có 2 phím CTRL). Nếu bạn không thích điều này, hãy bỏ qua bước 4 và chuyển sang bước 5

  4. Hãy tìm Tweaks application --> Keyboard and Mouse --> Additional Layout options --> Alt/Win behavior --> Select Control is mapped to Win keys and the usual Ctrl Keys.

  5. Bỏ qua bước này nếu bạn hoàn thành bước 4. Bước này sẽ hoán đổi phím Windows Hành vi thành Ctrl và ngược lại. Tìm kiếmTweaks application --> Keyboard and Mouse --> Additional Layout options --> Ctrl Position --> Select Swap Left Win with Left Ctrl

  6. Một điều nữa tôi nhớ từ macOS là khả năng chuyển đổi các cửa sổ với Thẻ CMD + (Trong trường hợp này là Windows + Tab). Để đạt được điều này đi đếnSettings --> Keyboard --> Look for Switch Windows under navigation section --> Double Click it and press Windows+Tab when pop up appears


5

Tôi muốn một giải pháp sẽ hoạt động trong bất kỳ trình quản lý cửa sổ / môi trường máy tính để bàn nào, vì vậy tôi đã kết hợp đề xuất của cscarney để sử dụng xautomation với SXHKD (trình nền phím nóng X đơn giản).

Đây là ~/.config/sxhkd/sxhkdrctập tin cấu hình cơ bản tôi sản xuất.

Nâng cao: Phiên bản mới nhất của tôi hoàn thiện hơn và có thể gửi các tổ hợp phím khác nhau cho các ứng dụng khác nhau, nhưng nó yêu cầu một tập lệnh bên ngoài và có thể có một số ràng buộc mà bạn không muốn.

Đây là một đoạn:

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

Ghi chú:

  • Như bạn có thể thấy, nếu tôi khóa phím bổ trợ gốc trước khi thực hiện hành trình ảo, thì tôi sẽ khóa lại nó sau đó. Điều này có nghĩa là người dùng có thể lặp lại phím bấm mà không cần phải nhả và ấn lại phím bổ trợ. Nói cách khác, sau khi nhấn Alt-W, hệ thống sẽ thấy phím Alt bị ấn xuống.

Hãy cẩn thận:

  • Đó có thể là một vấn đề (đặc biệt là trên các máy chậm hơn) nếu bạn nhả phím Alt trong khi lệnh xte vẫn đang chạy . Bạn sẽ kết thúc với một phím Alt "dính", vì xte đã nhấn nó xuống cho bạn!

  • Sử dụng phương pháp này, các kích hoạt sẽ không lặp lại nếu phím được giữ. (Vì vậy, bạn không thể di chuyển 12 từ bằng cách giữ Super-Left.)


Tôi đã từng sử dụng bbkeystrong quá khứ, nhưng thật đáng buồn là nó không được đóng gói trên rất nhiều bản phát hành ngày nay.
joeytwiddle

4

Đây là một nhiệm vụ dễ dàng một khi bạn biết cách thực hiện nó.

1) Kiểm tra mã khóa của khóa của bạn. Chạy chương trình này tại thiết bị đầu cuối.

xev


Trong ví dụ này, thiết bị đầu cuối cho thấy mã khóa cho tôi klà "45".

2) Thay đổi chúng khi bạn muốn tạo tệp này:

gedit ~ / .Xmodmap

Nội dung của nó sẽ giống như ví dụ này:

mã khóa 64 = Alt_L Meta_L Alt_L Meta_L
mã khóa 108 = ISO_Level3_Shift NoSymbol ISO_Level3_Shift

(Thay đổi số mã khóa nếu cần - xem bước "1")

Ilustration:
(Quan sát: nếu tôi muốn thay đổi, tôi knên sử dụng "mã khóa 45" như được hiển thị ở bước "1").

4) Đăng xuất và đăng nhập lại hoặc khởi động lại hoặc chạy này:

xmodmap ~ / .Xmodmap

Hy vọng bạn thích ;-)



1

Đầu tiên
Cài đặt CD Bổ sung khách ( Devices->Insert Guest Additions CD image).

Kích hoạt chia sẻ clipboard
Sau khi khởi động lại, trong Virtualbox đi đến Machine->Settings->General->Advancedvà đặt
Shared Clipboard: Bidrectional

Thay đổi khóa máy chủ VirtualBox
Trong Vitualbox/Preferences/Input/Virtual Machine/Host Key Combination
chọn sth khác nhau sau đó

Ánh xạ khóa :
Đối với cmd/ctrlánh xạ đối với tôi, thêm bàn phím tiếng Anh (Macintosh) dường như là giải pháp thoải mái nhất :)

Chuyển đến Ubuntu Settings->Text Entry
(Tôi đoán trong các phiên bản cũ hơn có thể là trong Cài đặt bố cục bàn phím)
Dưới Input sources to use:nhấn cộng (+)
thêmEnglish (Macintosh)

Tôi đang dùng Ubuntu 14.04.3 LTS 64 bit trong VirtualBox 5.0.4


1

Đây là một giải pháp đơn giản hơn nhiều, Kinto. Tôi đã làm việc này được 3 năm rồi .. và cuối cùng tôi cảm thấy mình có thể đóng góp một cái gì đó vì nó hoạt động tốt như thế nào, không giống như 2 lần thử trước của tôi. Nó được dành cho x11 và các bản phân phối dựa trên systemd, nhưng khái niệm này sẽ được chuyển sang Wayland một khi tôi tìm thấy một cách tốt để thực hiện nó, mặc dù tăng cường bảo mật gây khó khăn khi làm việc.

1) Gist (đối với những người chỉ muốn xem tiền đề hoặc thực hiện giải pháp xen kẽ của riêng họ, các trường hợp cạnh không được bảo hiểm).

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

2) Trình cài đặt đầy đủ sử dụng systemd, bash và xprop. (Các trường hợp cạnh, như chromebook được bảo hiểm, rất khó để hỗ trợ, nhưng tôi thích của tôi để mọi người đều có lợi!)

https://github.com/rbreaves/kinto

Lý do cho Kinto, tiếng Nhật là lật, là vì - ngay cả khi bạn đã hoàn thiện một bản ánh xạ chính cho mọi ứng dụng GUI thông thường bằng một số phương pháp khác, bạn sẽ không có cùng loại trải nghiệm Terminal, trên Linux như bạn làm trên máy Mac. Và điều đó thật đáng tiếc - vì máy Mac làm hỏng các nhà phát triển của chúng tôi với một sơ đồ phím hoạt động tốt đáng ngạc nhiên cho các ứng dụng Terminal. Quan điểm của những gì tôi đã làm, bằng cách thay đổi sơ đồ bàn phím của bạn thành 1 trong 2 tùy chọn bố cục thông qua setxkbmap và ứng dụng đang sử dụng, là kết quả là bạn phải tạo ra một vài phím tắt bổ sung cụ thể cho bất kỳ ứng dụng cụ thể nào.

Về cơ bản, với giải pháp này, bạn không đấu tranh làm thế nào để tạo đúng các phím tắt mới hoặc cố gắng tránh xung đột phím tắt trong các ứng dụng Terminal so với các ứng dụng GUI còn lại. Bạn chỉ cần có được cả hai từ tốt nhất và nó hoạt động hoàn hảo nhất có thể - ngoài việc bao gồm các tệp cấu hình lối tắt mặc định cho các thiết bị đầu cuối và trình soạn thảo văn bản phổ biến, mà tôi có thể bao gồm sau này. Ngay cả các trình soạn thảo văn bản như Sublime cũng không chỉ trao đổi phím Cmd bằng Ctrl trên mỗi phím tắt, nhưng nó sẽ căn chỉnh đúng khoảng 95% hoặc hơn thời gian tôi nói.

Và nói về Wayland, tôi có một bằng chứng về khái niệm làm thế nào để thủ thuật keyswap keymap này hoạt động trên KDE Plasma 5 với một tiện ích hiện có có tên ứng dụng. Nếu bất cứ ai có một giải pháp tốt hơn thì tôi đều là tai, đặc biệt là nếu nó có thể hoạt động trên x11. Xprop là hoàn toàn đủ trên x11, nhưng rõ ràng không sử dụng trên Wayland.

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


0

Tôi không có Ubuntu để giao (Mac ở đây, Ubu tại văn phòng) nhưng tôi sử dụng bàn phím Mac ở đó và vì những lý do tương tự như bạn, muốn làm điều này.

Điều đầu tiên là đảm bảo bàn phím của bạn đã được cài đặt dưới dạng bàn phím Mac. Tôi nghĩ bạn có thể thay đổi điều này trong hệ thống-> tùy chọn-> bàn phím. Trong khi bạn ở đó, một trong các tab sẽ đưa bạn đến trang ánh xạ khóa nơi bạn có thể thiết lập cách hoạt động của phím cmd.

Như tôi nói, tôi không thể nhớ chính xác - tôi có thể chỉ vào các bit trên màn hình của mình ở đây, nhưng điều đó không hoạt động vì tôi không ở đó.

Nếu bạn vẫn bị mắc kẹt vào ngày mai, tôi sẽ tìm lại.


hệ thống-> tùy chọn-> bàn phím-> bố cục-> tùy chọn
Leo

hi leo ... Tôi không sử dụng bàn phím Mac với Ubuntu mặc dù ... Tôi đang sử dụng bàn phím PC tiêu chuẩn, tức là "PC chung 105 phím (intl)" đã thử chuyển "mô hình bàn phím" của tôi sang Nhà cung cấp Apple / Mô hình Apple nhưng điều đó dường như không tạo ra bất kỳ sự khác biệt nào .... Tôi cũng đã thử Nhà cung cấp Apple / Model Macbook và điều đó dường như không thay đổi bất cứ điều gì cả ...
brad park

và với giá trị của nó, tôi cũng sử dụng cùng một bàn phím PC trên macmini của mình, vì tôi đã mua nó và nó không đi kèm với bàn phím mac. cảm ơn lần nữa
công viên brad

0

Autokey đã làm việc cho tôi. Bây giờ win + c (v, x, a) hoạt động xung quanh hệ thống của tôi giống như tôi mong đợi.

1. Cài đặt autokeys

sudo apt install autokey-gtk

2. Cấu hình autokeys

  1. Thêm thư mục gốc, gọi nó là MacKeys hoặc bất cứ thứ gì
  2. Bạn sẽ tạo 4 tập lệnh trong đó cho ctrl-c, v, x và a
  3. gán cho từng tập lệnh hotkey super-c, super-v vv
  4. điền các tập lệnh với mã bên dưới (thay thế chữ c cho các combo khá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. Đối với CmdZ, CmdA hoặc CmdX hoạt động với tập lệnh đơn giản hơn nhưkeyboard.send_keys("<ctrl>+x")

3. Thêm / usr / bin / autokey-gtk vào các ứng dụng khởi động

4. Vô hiệu hóa win-A trong cài đặt bàn phím

Thông thường win-a làm cho chuyển sang tổng quan.

5. Tùy chọn, ngăn chặn hoàn toàn chiến thắng để chuyển đổi tổng quan

Có lẽ bạn sẽ muốn loại bỏ nó. Cài đặt công cụ gnome-chỉnh-công cụ, đi đến bàn phím và rebind chuyển từ máy tính để bàn sang tổng quan. Điều đó đã làm việc cho Ubuntu 16.04 của tôi.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.