OSX System Wide와 같은 키보드 작동 방법


111

나는 두 컴퓨터 사이를 끊임없이왔다 갔다한다

  • OSX 스노우 레오파드
  • 우분투 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 키보드, 즉 우분투에서 "Generic 105 key (intl) PC"를 사용하고 있습니다. 또한 Mac mini에서 동일한 키보드를 사용하고 있습니다.


4
모든 Mac 키보드 단축키에 대해 전화를 걸었다면 설정 파일을 공유하는 것이 좋습니다! 감사합니다
Dolan Antenucci

야! 나는 아직도 그랬지만, 나는 일자리를 옮겼을 때, 맥에서만 독점적으로 일하고있다 ;-) 그래서 나는 어디에서나 오래된 설정을 가지고 있지 않다 ...
brad parks

기본 OS에서는 솔루션이 작동하지 않습니다. '
Paschalis

답변:


38

xautomation 패키지를 설치하면 시스템 / 환경 설정 / 키보드 바로 가기 / 사용자 정의에 다음과 같은 명령을 추가 할 수 있습니다.

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

1
따라서 xte는 키 코드를 올바르게 전송하지만 응용 프로그램은 xte에서 보낸 바로 가기와 키 누르기 (예 : Meta-Control-C) 의 조합 을 볼 수 있습니다. 키 누름을 보내기 전에 바로 가기 키를 해제 하는 것을 시뮬레이션하기 위해 답변을 업데이트했습니다 .
cscarney 5

2
빠른 검사에서 그것은 효과가 있지만 xte보다 더 신뢰할 수있는 솔루션을 찾았습니다 (작동하더라도). 수정 된 답변을 확인하십시오.
cscarney

1
야! 감사합니다 @cscarney! AutoKey의 "대체 솔루션"이 완벽하게 작동합니다! 귀하의 지속적인 노력에 감사드립니다!
브래드 파크

1
Ubuntu 18.04
JZ

17

Ubuntu 14 이상에서는 다음을 수행 할 수 있습니다.

sudo apt-get install gnome-tweak-tool

Tweak Tool> 타이핑> Alt / Win 키 동작을 찾으십시오.

그리고 확인 : Ctrl은 Win 키 (및 일반적인 Ctrl 키)에 매핑됩니다.


아무것도하지 않는 것 같거나 Mac의 행동이 아닌 것
chovy

Ubuntu 16을 새로 설치할 때 이것을 설치하려면 gnome-settings-daemon이 필요한 것으로 보입니다.
Tom Lianza

명령 키가 mac의 cmd 키와 같으면 주로 복사 및 붙여 넣기를하는 경우 가장 간단한 옵션입니다. 나는 우분투 그놈 데스크탑
lxm7에

이것은 복사-붙여 넣기 명령에 효과적이며 우분투에서 검색 메뉴를 끊임없이 열지 못하게합니다. 이제 Command-Tab을 Alt-Tab에 매핑해야합니다
Ron Smith

1
앱에 Tweak Tool이 표시되지 않습니다. 어떻게해야합니까?
Jadda

13

지도 할 수있는 방법이 CtrlWin/ Super키 :

  1. 로 이동 > 환경 설정 -> 키보드 시스템 - ,

  2. 열려있는 탭 레이아웃 ,

  3. 클릭 옵션 ... ,

  4. 개방 Alt/ Win키 행동 ,

  5. Control이 Win 키에 매핑됨을 선택하십시오.

그리고 콘솔을 위해 포럼 게시물이 있습니다 .

자세한 내용은 일반적인 Linux 키보드 하우투를 확인 하십시오 .

문안 인사


3
안녕하세요 @danizmax-답장을 보내 주셔서 감사합니다 ...하지만 특히 Ctrl의 전체 동작을 변경하지 않으려 고합니다 ... 내가하면 다른 것들과 나사가 있음을 발견합니다 ... 게시물에서 언급 한 바로 가기 키 ...하지만 감사합니다!
브래드 파크

Ctr +는 그대로 유지됩니다. 모든 Ctrl + 만 Super +에 복제하므로 동작을 추가하기 만하면됩니다. 당신이 정말로 언급 한 것만 정말로 바꾸고 싶지 않다면, xmodmap과로드 키로 많은 것을 파헤쳐 야합니다. 일반적인 리눅스 키보드 하우투에 대한 링크를 추가했습니다. 희망이 도움이 : P는
danizmax

1
이것은 제안 된 모든 것 중에서 가장 쉬운 솔루션이었습니다.
Datageek

1
Ubuntu 15.10에서 더 이상 시스템 설정에 "옵션"또는 "alt / win 키 동작"옵션이 더 이상 표시되지 않습니다.
user29020

1
그 그놈 개조하면 되겠 어, "키보드와 마우스"지금의
Yrogirg

8

에 확장하려면 cscarney의 자동 키 힌트 , 내 개발하고 자동 키의 (OS의 X-같은 우분투에서이 모든 것을 달성하기 위해 구성 <cmd>+c, <cmd>+v... 이맥스 스타일을 <ctrl>+f, <ctrl>+b내 년, ...) dotfile의 REPO .

Emacs, Eclipse, Vim, gnome-terminal ...과 같은 앱에서 AutoKey를 비활성화 할 수 있는 기본 문구 (창 필터링이 현재 깨진 곳 )를 사용하지 않지만 Python 스크립트는 사용하지 않습니다. 기존 바로 가기

README설정 방법에 대한 지침은 하단을 확인하십시오 .


응용 프로그램에 대한 링크가 끊어졌습니다
chifliiiii

@chifliiiii는 링크를 수정했지만 내 도트 파일의 링크 된 구성이 구식 일 가능성이 높으므로 몇 년 동안 사용하지 않았습니다.
metakermit

5

위의 솔루션 중 일부는 오래되었으며 Ubuntu 18.04에서는 작동하지 않습니다. 다음은 업데이트 된 답변입니다.

  1. 설치 그놈 - 미 조정을 시스템에 설치되어 있지 않은 경우

    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


5

데스크톱 환경 / 창 관리자에서 작동하는 솔루션을 원했기 때문에 cscarney의 제안을 xautomation을 SXHKD (간단한 X 핫키 데몬) 와 함께 사용하도록 제안했습니다 .

다음은 ~/.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가 당신을 위해 그것을 눌렀 기 때문에 당신은 "sticky"Alt 키로 끝날 것입니다!

  • 이 방법을 사용 하면 키를 누르고 있으면 트리거 가 반복되지 않습니다 . (Super-Left를 누른 상태에서 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"단계를보십시오)

Ilustration :
(Obs .: 변경하려면 k"1"단계에서 보여준 "keycode 45"를 사용해야합니다).

4) 로그 아웃 한 후 다시 로그인하거나 재부팅하거나 다음을 실행하십시오.

xmodmap ~ / .Xmodmap

즐기시기 바랍니다 ;-)



1

먼저
게스트 추가 CD ( Devices->Insert Guest Additions CD image)를 설치하십시오 .

공유 클립 보드 활성화
, 다시 부팅 한 후 다음을 버추얼에 이동 Machine->Settings->General->Advanced및 설정
Shared Clipboard: Bidrectional

변경 버추얼 호스트 키
에는 Vitualbox/Preferences/Input/Virtual Machine/Host Key Combination
다음 STH 다른 선택

키 매핑 :
를 들어 cmd/ctrl내가 영어 (매킨토시) 키보드를 추가하기위한 매핑 가장 편안한 솔루션이 될 것 같다 :)

이동 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 및 시스템 기반 배포판을 대상으로하지만, 보안을 강화하기는 어렵지만 구현하기에 좋은 방법을 찾으면 Wayland로 넘어갈 것입니다.

1) 요점 (전제를 보거나 자신의 대체 솔루션을 구현하려는 경우에는 엣지 케이스는 다루지 않습니다).

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

2) systemd, bash 및 xprop를 사용하는 완전한 설치 프로그램. (크롬 북과 같은 엣지 케이스는 엄청나게 지원하기 어려웠지만 모두가 혜택을 누릴 수 있도록 내 것을 좋아합니다!)

https://github.com/rbreaves/kinto

일본어를 사용하는 Kinto의 이유는 다음과 같습니다. 다른 방법을 사용하여 모든 일반 GUI 응용 프로그램의 키 다시 매핑을 완벽하게 수행하더라도 Linux에서 동일한 터미널 유형의 경험을 쉽게 얻을 수는 없습니다. Mac에서. Mac은 개발자들에게 터미널 앱에 놀랍도록 잘 작동하는 키맵을 제공하지 않기 때문에 불행한 일입니다. setxkbmap 및 사용중인 활성 응용 프로그램을 통해 키 맵을 2 / 2 레이아웃 옵션으로 변경하여 수행 한 요점은 특정 응용 프로그램에 가장 적은 추가 단축키를 만들어야한다는 것입니다.

기본적으로이 솔루션을 사용하면 새 바로 가기 키를 올바르게 작성하거나 터미널 응용 프로그램과 다른 GUI 응용 프로그램의 바로 가기 충돌을 피하는 방법과 싸우지 않습니다. 두 단어를 최대한 활용하면 다양한 터미널과 인기있는 텍스트 편집기에 대한 기본 바로 가기 구성 파일을 포함 할 수있을뿐만 아니라 최대한 완벽하게 작동합니다. Sublime과 같은 텍스트 편집기조차도 모든 바로 가기에서 Ctrl 키를 사용하여 Cmd 키를 단순히 스왑 아웃하지는 않지만 말한 시간의 약 95 % 이상 올바르게 정렬됩니다.

그리고 Wayland에 대해 이야기 하면서이 키 맵 키 스왑 트릭을 KDE Plasma 5에서 앱 이름을 가져 오는 기존 위젯으로 작동시키는 방법에 대한 개념 증명이 있습니다. 누구든지 더 나은 솔루션을 가지고 있다면, 특히 x11에서도 작동 할 수 있다면 나는 모든 귀입니다. Xprop은 x11에서 완전히 충분하지만 Wayland에서는 전혀 사용되지 않습니다.

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


0

나는 우분투를 가지고 있지 않지만 (Mac은 여기, Ubu는 사무실에 있음) 거기에서 Mac 키보드를 사용하며 같은 이유로 당신이하고 싶었습니다.

먼저 키보드가 Mac 키보드로 설치되어 있는지 확인하십시오. 시스템-> 환경 설정-> 키보드에서 이것을 변경할 수 있다고 생각합니다. 탭 중 하나가 있으면 cmd 키 작동 방식을 설정할 수있는 키 매핑 페이지로 이동합니다.

내가 말했듯이, 나는 정확하게 기억할 수 없습니다-여기 화면의 비트를 가리킬 수는 있지만 거기에 없기 때문에 작동하지 않습니다.

내일도 여전히 갇혀 있다면 다시 보겠습니다.


시스템-> 환경 설정-> 키보드-> 레이아웃
Leo

안녕 레오 ... 난 우분투와 맥 키보드를 사용하지 않고 있지만 ... "일반 105 키 (국제) PC"와 같은 표준 PC 키보드를 사용하고 있습니다 "키보드 모델"을 벤더 애플 / 애플 모델이지만 그다지 차이가없는 것 같습니다 .... 또한 벤더 애플 / 모델 맥북을 사용해 보았는데 그 어느 것도 바뀌지 않은 것 같습니다.
brad parks

그리고 가치가있는 것에 대해, 나는 초침을 사서 Mac 키보드와 함께 제공되지 않았기 때문에 Macmini에서도 똑같은 PC 키보드를 사용합니다. 다시 감사합니다.
브래드 파크

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을 설치하고 키보드로 이동하여 데스크탑에서 개요로 전환을 리 바인드하십시오. 그놈 우분투 16.04에서 작동했습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.