Linux에서 Windows의 동작을 모방 한 미국 국제 키보드 레이아웃이 있습니까?


13

키보드 레이아웃으로 US International을 사용하는 데 익숙합니다. 그러나 구현은 Windows와 Linux에서 크게 다른 것으로 보입니다 (Gnome, 제 경우에는 GTK가 Windows에서 동일하게 작동하기 때문에 GTK 문제 일 수 있습니다).

레이아웃 등의 키, 예를 들면, 데드 키를 사용하여 ', ", ^, C. 분음 부호가있는 문자를 쉽게 입력 할 수 있습니다. Windows에서 데드 키를 누른 다음 연관된 쌍이없는 키를 누르면 데드 키의 문자 (공백과 쌍을 이루는 경우)와 두 번째 키의 문자가 생성됩니다. 예 : 누르면 ", a가압하지만, 수율의 "A" ', s더 페어링가 없기 때문에, 수율 "의"을 '하고 s.

이제 영어라는 언어가 있습니다.이 두 문자를 정확하게 자주 사용하며 Windows에서 작동하므로 평소처럼 입력하면 근육 기억이됩니다. 내 문제가 발생합니다.

(Windows에서와 GTK) 리눅스에서이 을위한 페어링 's(사이 많은 결과 등) ś(이 차례로 나에게 리드 자주 "그것"을 입력). 입력 "그래서 그것의가"를 입력하라고 요구한다 ',         , s말.

작동하지 않는 몇 가지 다른 조합이 있습니다. 그중에는 존재하지 않는 쌍 의 경우 결과가 아무것도 없다는 것 입니다. "I 'd"를 입력하면 "I"가됩니다. 이 키 중 하나를 두 번 누르면 간격이없는 분음 부호가 생겨서 먼저 두 개의 따옴표를 입력하여 문자열을 입력하는 습관을 잃습니다 (이제 간격이 아닌 급성 악센트 또는 마크로가 나타남).

간단히 말해 : 제공된 미국 국제 레이아웃 중 어느 것도 Windows에서와 동일하게 작동하는 것 같지 않습니다. 동일하게 작동 하는 것이 있습니까? 아니면 그런 식으로 구성 할 수 있습니까? 악센트 또는 간격이없는 분음 부호를 사용하여 s를 입력하는 것이 좋을 수도 있지만, 나에게 꼭 필요한 것은 아닙니다.


1
왜 내가 다른 것 대신에 US International을 사용하는지 궁금해하는 사람은 : 나는 독일 출신이며 때때로 ä, ö, ü, ß와 같은 것을 입력해야합니다. 그러나 대부분의 프로그래밍 언어 디자이너는 정확히 하나의 레이아웃에 맞게 언어를 설계하므로 사람들은 중괄호 나 백 슬래시와 같은 문자를 입력하기 위해 손가락을 key 수있는 키 조합을 사용해야합니다.
Joey

핫 스크립팅을 통해 프로세스 내에서 문자열을 변환하기 위해 항상 AHK 또는 유사한 솔루션을 사용할 수 있습니까? Linux에서 얼마나 잘 작동하는지 잘 모르겠습니다. 여기 에 관한 스레드가 있습니다.
Arctiic

답변:


6

한 가지 가능성은 데드 키를 사용하지 않고 대신 작성 키를 사용하여 악센트 부호 문자를 입력하는 것입니다. 예를 들어, 입력 Compose " a하려면 입력하십시오 ä. Compose키 가 포함 된 키보드 레이아웃 옵션을 선택해야 합니다. 일반적인 선택은 오른쪽 Ctrl키 의 왼쪽에있는 키입니다 (Windows는 전화라고 생각합니다 Menu). 장점은 Compose기본 레이아웃을 변경하지 않고도 멋진 캐릭터를 많이 입력 할 수 있다는 것입니다. 단점은 악센트가있는 문자에 대해 두 번 누르는 대신 세 번 누르는 것입니다.

또는 .XCompose홈 디렉토리에 (note CApitalization) 이라는 파일을 생성하고 원하는 조합을 나열하여 데드 키의 효과를 구성 할 수 있습니다 . 다음과 같은 것 :

"/usr/share/X11/locale/en_US.UTF-8/Compose"포함

<dead_acute> <space> : " '"아포스트로피
<dead_acute> <exclam> : " '!"
<dead_acute> <quotedbl> : " '\" "
# 등 ...
<dead_acute> <a> : "á"
<dead_acute> <b> : " 'b"
# 등 ...

구문은 매우 간단합니다. 왼쪽의 키 시퀀스는 의 오른쪽 :에서 문자열로 바뀝니다 . 오른쪽에있는 여분의 단어는이 키 시퀀스에 해당하는 키심 (즉, 키 이름)입니다. 별로 중요하지 않습니다. a 에서 줄 끝까지의 모든 것은 무시됩니다."":#

배포에서 다른 위치에 배치 한 경우 시스템 파일을 가리 키도록 첫 번째 줄을 변경하십시오. 더 많은 구문 예제를 보려면이 파일을 살펴보십시오. 키의 <Multi_key>다른 이름입니다 Compose.

왼쪽에서 <꺾쇠 괄호 사이의 이름 >은 키심입니다. 키심 목록을 찾을 수 있습니다 /usr/include/X11/keysymdef.h(이 파일은 개발 패키지 (예 : x11proto-core-dev우분투)에 있습니다).

그렇습니다. 타이핑이 많지만 덩어리를 복사하여 붙여넣고 keysymdef.h몇 가지 영리한 대량 교체를 수행하여 대부분을 자동화 할 수 있습니다 . 도움이 될만한 것은 "\ x dd "구문 덕분에 오른쪽의 16 진 코드를 재사용하여 오른쪽 문자열을 만들 수 있다는 것입니다 .

#define XK_exclam 0x0021 / * U + 0021 EXCLAMATION MARK * /

으로

<dead_acute> <exclam> : " '\ x21"

마지막으로, 데드 키와 키를 사용하여 키보드 레이아웃을 설정할 수 있습니다 Compose. 독일어이기 때문에 "죽은 키로 만 설정할 수 있습니다 . 해당 경로를 사용하는 경우 가장 간단한 옵션은 GUI를 사용하여 데드 키가없는 키보드와 데드 키에 대한 .Xmodmap파일을 설정하는 것입니다.

keysym 아포스트로피 = 아포스트로피 dead_quotedbl

1
좋아, 나는 그것을 조사 할 것이다 (지금 다른 기계가 아닌). 근육 메모리를 다시 배우고 Linux는 기본 시스템이 아니기 때문에 Compose를 사용하는 것은 옵션이 아닙니다. 그리고 내가 독일인이기 때문에 움라우트 외에는 아무것도 필요 없다고 가정하지 마십시오 ;-). 다른 언어에서 가져온 많은 단어가 심각하거나 심각한 악센트를 사용합니다.
Joey

<dead_acute> <s> : "'s"
RolKau

GTK 내장 (!)이 아닌에 GTK_IM_MODULE=xim정의 된 작성 순서를 사용 하도록 설정해야 할 수도 있습니다 ~/.XCompose.
RolKau

3

이 질문이 잠시 동안 "해결"되었다는 것을 알고 있습니다. 그러나이 페이지의 결과와 많은 테스트 및 실험이 결합 된 솔루션을 제시하고 싶습니다.

Linux 용 Win US Intl 은 OP가 작성한 것처럼 Linux의 기본 미국 Intl 키보드 레이아웃 문제를 해결하기 위해 작성한 일련의 스크립트입니다. 나는 주로 모국어가 스페인어이기 때문에 주로 사용하고 있으며 (이 사이트와 같은) 많은 영어 포럼, 텍스트, 채팅 등을 사용합니다.

참고 : 이것은 실제로 Windows XP US-국제 키보드 레이아웃의 동작과 완전히 유사하지는 않습니다.

http://tamh.info/en/win-us-intl-4-linux/ 로 이동하여 확인할 수 있습니다 . 여러 변경 사항 중에서 다른 여러 경계 사례에 대해 더 많은 XCompose 항목을 추가하여 더 나은 프로세스를 만들고 있습니다.


3
링크가 작동하지 않습니다.
tink


1

: 누군가가 여기에 게시이 작업 할 수있는 github의의의 repo가 그래서 해결책은있다 https://github.com/raelgc/win_us_intl 여기에 당신이 원하는 무엇을 :

  1. zip 파일을 다운로드하십시오

  2. 원하는 곳에서 추출하면 XCompose 파일에 중점을 둡니다.

  3. 원하는 텍스트 편집기로 XCompose 파일을 연 다음 include "/usr/share/X11/locale/en_US.UTF-8/Compose"를 다음 과 같이 입력하십시오 : include "% L"

  4. XCompose 파일을 ~ / 디렉토리로 이동

  5. 편집하다:

    • 이 단계는 더 이상 필요하지 않습니다. 모든 새로운 Linux 버전에서는 작동하지 않습니다. 만약 작동하지 않는다면 XIM에 알려진 문제가 있기 때문에 수행중인 작업을 알고있는 경우에만이 단계를 수행하십시오.
    • ~ / .profile을 편집 하고 파일 끝에 export GTK_IM_MODULE = "xim"넣으십시오 .
  6. 편집하다:

    • 그놈을 사용하는 경우 : IBus는이 환경에 사전 설치되어 제공되며 다른 입력 방법으로 변경해도 아무런 영향을 미치지 않습니다. 그놈은 그 프로그램을 시작하고 중요한 변수를 구성하기 때문입니다.
    • IBus를 사용하지 않으려면 터미널에 다음 명령을 입력하십시오. im-config -n uim
  7. 재부팅

참고 : 이 솔루션은 5 단계없이 작동하지 않으므로 나와 같은 상황에서 나와 다른 사람들을 도울 수있는 방법을 알고 있다면 이것이 제기 한 다른 질문에 대한 링크 입니다. 시스템이 읽지 않습니다. XCompose 파일

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