Ubuntu에서 Ctrl + Alt를 Alt gr처럼 작동하게하려면 어떻게해야합니까?


11

나는 최근에 랩톱에서 우분투로 전환했으며 거의 ​​창으로 다시 전환하게 한 것은 Alt gr처럼 Ctrl+ Alt를 만들 수 없다는 사실입니다 .

나는 몇 년 안에 프로그램을 해왔고, 예를 들어 ctrl+ alt+ 를 눌러 "$"부호를 만드는 데 익숙해 져있다 4. 우분투에서 나는 "Alt gr + 4"마녀를 사용해야합니다.

이것에 대한 해결책이 있습니까?


1
당신은 composekey의 매핑을 가지고 놀았습니까? help.ubuntu.com/community/ComposeKey
팀 케네디

xmodmap명령을 사용 하여이 작업을 수행 할 수 있습니다 . 이 askubuntu.com/questions/5095/typing-using-key-combinations를
Bichoy

우분투의 x11-xserver-utils 패키지에있는 xmodmap을 사용해보십시오. 키 조합을 다시 매핑 할 수 있습니다.
Warren

@elitasson 자신의 질문에 대한 답변을 찾으면 별도의 답변으로 보내주십시오.
Bernhard

@Bernhard 아니요, xmodmap으로는이 작업을 수행 할 수 없습니다. Ctrl + Alt 조합을 고유 한 수정 자로 만드는 것은 지원하지 않습니다. 그러나 나는 당신 이 xkb로 할 수 있다고 생각합니다 .
Gilles 'SO- 악마 그만'

답변:


3

특수 문자를 작성하기위한 전역 바로 가기를 추가 할 수 있습니다. 우분투 (Windows에서는 즉시 작동)에서 독일어 키보드 레이아웃에 자주 사용합니다.

다음 단축키를 추가했습니다.

Shift편지를 쓰려면 + Enter+7{

Shift편지를 쓰려면 + Enter+0}

Shift편지를 쓰려면 + Enter+8[

Shift편지를 쓰려면 + Enter+9]

당신이 필요합니다 단축키 추가 xbindkeysxvkbd:

sudo apt-get install xbindkeys xvkbd

그런 다음 구성 파일을 편집하십시오.

vim ~/.xbindkeysrc

그리고 다음 줄을 추가하십시오 (원하는대로 편집하십시오).

"xvkbd -xsendevent -text '{'"
    m:0xc + c:16
    Control+Alt + 7

"xvkbd -xsendevent -text '['"
    m:0xc + c:17
    Control+Alt + 8

"xvkbd -xsendevent -text ']'"
    m:0xc + c:18
    Control+Alt + 9

"xvkbd -xsendevent -text '}'"
    m:0xc + c:19
    Control+Alt + 0

"xvkbd -xsendevent -text '\[backslash]'"
    m:0xc + c:20
    Control+Alt + ssharp

"xvkbd -xsendevent -text '\[asciitilde]'"
    m:0xc + c:35
    Control+Alt + plus

그런 다음 xbindkeys를 다시로드하십시오.

xbindkeys -f ~/.xbindkeysrc

이것을 공유 한 whiz에게 감사드립니다 ( http://forum.ubuntuusers.de/topic/strg-%2B-alt-alt-gr-wie-in-windows/ ).


1
m : 0xc + c : XX 줄이 무엇을 설명 할 수 있습니까?
elitasson

1
나는 이것이 오래된 질문과 답변이라는 것을 알고 있지만 더 많은 문자를 추가하려는 사람들을 위해 | 또는 @ 또는 € : c:XX내가 사용하는 키 코드 는 보편적이지 않기 때문에 운이 좋지 않습니다. 그러나 명령 줄에 "xev"를 설치하고 실행하여 키 코드를 로컬로 찾을 수 있습니다. 모든 키보드 및 마우스 동작을 인쇄하므로 "자신의"문자를 찾으려면 약간 스크롤해야합니다.
나노 미라 투스

1
예를 들어, xev를 실행하는 동안 <(구성 |)을 누르면 다음과 같이 인쇄됩니다. KeyRelease event, serial 40, synthetic NO, window 0x4c00001, root 0x7e, subw 0x0, time 35363548, (135,60), root:(903,472), state 0x0, keycode 94 (keysym 0x3c, less), same_screen YES, XLookupString gives 1 bytes: (3c) "<" XFilterEvent returns: False필요한 숫자는 항상 "keycode"다음의 세 번째 줄에 있습니다. 그래서이 경우에, 94.
Nano Miratus

2

xbindkeys와 xvkbd / xte의 조합으로 작동하지 않고 시도한 후에 (스칸디나비아 키보드 레이아웃을 사용하기 때문에 {, [,],}, \ 등의 특정 문자를 제대로 작동시킬 수는 없습니다), 나는 간단하고 실용적인 해결책을 찾았습니다 : Autokey. 작동시키는 정확한 지침은 다음과 같습니다.

  1. 설치 자동 키를 우분투 소프트웨어를 통해 (내가하지 KDE를 GTK 버전을 사용) 또는으로 "는 sudo apt-get을 자동 키-GTK를 설치합니다."
  2. 키당 하나의 스크립트를 구성하십시오 (예 : {이 코드 사용 keyboard.send_keys("<alt_gr>+7"):) : 단축키를 Ctrl + Alt + 7로 설정하십시오 (먼저 단축키를 7로 설정 한 다음 Ctrl 및 Alt를 수정 자로 추가). 이것은 적어도 가장 중요한 코드 작성 키 {{}}에 효과적이었습니다.
  3. 시작 응용 프로그램에 자동 키를 추가하고 (“시작”을 찾아서 찾음)“자동 키”를 명령으로 사용하여 프로그램을 추가하십시오.

이 솔루션은 현재 X 세션에서 실행되는 모든 항목에 대해 작동하지만 Ctrl + Alt + (F2-F6)을 사용하여 새 터미널 세션을 시작하면 작동하지 않습니다.


1

그래도 귀하의 질문에 대답하지는 않지만 다른 답변보다 쉬운 해결책이라고 생각합니다.

다음과 R-ALT같이 작업 하려면 AltGr다음 줄을 추가하십시오 ~/.xinitrc.

setxkbmap -option lv3:ralt_switch

3 단계 (보통 AltGr키를 사용하여 달성 ) 로 전환하는 다른 방법을 찾을 수 있으며 새로운 방법은에서 정의 할 수 있습니다 /usr/share/X11/xkb/symbols/level3.


1

다음은 L-Alt키가 키와 정확히 동일하게 작동하도록 수행 한 작업 Altgr입니다. 나는 CtrlAlt열쇠로 시도하지 않았다

level3 파일 수정으로 구성됩니다.

터미널에서 디렉토리를 변경하십시오.

cd /usr/share/X11/xkb/symbols

level3 파일의 사본을 만드십시오.

sudo cp level3 level3.old

텍스트 편집기로 level3을 편집하십시오.

sudo gedit level3 

다음과 같은 블록을 찾아야합니다.

  key <RALT> {
    type[Group1]="ONE_LEVEL",
    symbols[Group1] = [ ISO_Level3_Shift ]
    };
  modifier_map Mod5   { ISO_Level3_Shift };

RALT (altgr) 대신 LALT (왼쪽 alt)를 사용하여 블록 사본을 추가하십시오.

  key <LALT> {
    type[Group1]="ONE_LEVEL",
    symbols[Group1] = [ ISO_Level3_Shift ]
    };
  modifier_map Mod5   { ISO_Level3_Shift };

이제부터 3 개의 다른 블록이 있어야합니다. key <RALT>

그들과 똑같이하십시오.

저장하고 종료하십시오.


0

코드를 작성할 때 특수 부호 만 사용 하므로이 문제를 해결하기 위해 Sublime Text가 있습니다.

환경 설정-> 키 바인딩-사용자

다음을 삽입하십시오.

[
{ "keys": ["ctrl+alt+2"], "command": "insert", "args": {"characters": "@"} },
{ "keys": ["ctrl+alt+3"], "command": "insert", "args": {"characters": "£"} },
{ "keys": ["ctrl+alt+4"], "command": "insert", "args": {"characters": "$"} },
{ "keys": ["ctrl+alt+5"], "command": "insert", "args": {"characters": "€"} },
{ "keys": ["ctrl+alt+7"], "command": "insert", "args": {"characters": "{"} },
{ "keys": ["ctrl+alt+8"], "command": "insert", "args": {"characters": "["} },
{ "keys": ["ctrl+alt+9"], "command": "insert", "args": {"characters": "]"} },
{ "keys": ["ctrl+alt+0"], "command": "insert", "args": {"characters": "}"} },
{ "keys": ["ctrl+alt++"], "command": "insert", "args": {"characters": "\\"} },
{ "keys": ["ctrl+alt+<"], "command": "insert", "args": {"characters": "|"} }

]

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