명령 행에서 현재 선택된 키보드 레이아웃을 어떻게 변경합니까?


12

키보드 레이아웃 (두 개)이 있고 다음 명령을 통해 구성된 키보드 레이아웃을 전환했습니다.

setxkbmap -layout us,ru -option -option "grp:lctrl_lshift_toggle,ctrl:nocaps"

이제 us명령 행 명령을 사용하여 레이아웃 으로 전환하고 싶습니다 . 가능합니까?

답변:


13

xkb-switch를 사용할 수 있습니다 ( -n다음 레이아웃으로 전환).

xkb-switch -n

또는 xkblayout-state ( set +1경우에 따라 줄 바꿈) :

xkblayout-state set +1

또는 xte에서 xautomation 시뮬레이션 Control_L+ Shift_L키 누름 / 해제를 :

xte 'keydown Control_L' 'keydown Shift_L' 'keyup Shift_L' 'keyup Control_L'

xkblayout-state는 훌륭합니다! 방금 사용 xkblayout-state set 1하고 즉시 us레이아웃을 얻습니다 .
Rogach

2

대한 스택 거래소의 검색 kbdmap은 이 페이지를 찾을 수 없는 그 단어의 언급. 명확하게하기 위해 여기에 답이 있습니다 ( 질문 의 X11 태그 와 정확히 일치 하지는 않지만 누군가를 도울 것입니다) ...

가상 콘솔로 제한되는 경우

- 없이 X.

kbdmap (1)

kbdmap, vidfont-syscons 및 vt의 프론트 엔드

… 사용 가능한 키맵을 쉽게 설정할 수 있습니다…

정말 쉽고 간단합니다 (영국 키보드 레이아웃으로 변경).

X를 사용할 때

– 예를 들어 FreeBSD 기반 TrueOS Desktop을 사용합니다.

에서 포스트 5 에서 키보드 레이아웃 변경? | FreeBSD 포럼 (2015-08-03) :

kbdmap콘솔 용입니다. setxkbmapX11에 필요한 유틸리티입니다. …

로 변경할 때 경고가 예를 들어,있다 U nited 왕국 :

$ kbdmap
kbdcontrol: getting keymap: Inappropriate ioctl for device
You are not on a virtual console - expect certain strange side-effects
lang_default = en
dialect = en_...UTF-8
lang_abk = en

…

keymap="uk.kbd"
$ 

1

키보드 레이아웃의 배포판에 따라 명령은

loadkeys <path/to/file>

loadkey /lib/kbd/keymaps/i386/qwerty/pt_PT.map.gz

내가 올바르게 기억한다면. 특정 키를 특정 동작에 할당하려면 맨 페이지에서로드 키를 확인하십시오.


문제는 (예를 들어) loadkeys us내가 setxkbmap으로 만든 설정을 재설정한다는 것입니다 (2 개의 레이아웃과 그 사이의 전환)
Rogach

내가 아는 한 레이아웃을 변경하는 명령입니다. 특정한 경우 쉘에 별명을 설정하여로드 키를 호출하는 설정이 가장 좋은 방법이라고 생각합니다. 예 : load_us는 us 키보드를로드하고 실제로 loadkey /lib/kbd/keymaps/i386/qwerty/us.map.gz 또는 이와 유사한 것을 호출합니다. 다른 레이아웃에서도 마찬가지입니다.
BitsOfNix

그러나 나중에 키보드 설정을 어떻게 변경합니까? 현재는 Ctrl-Shift를 눌러 레이아웃을 변경합니다.
Rogach

tty 터미널을 언급하고 있다고 가정하고 명령 줄에서 한 단계 뒤로 물러서 봅시다. xterm / terminology / gnome-terminal 또는 다른 에뮬레이터를 사용하지 않지만 실제로는 X 서버가없는 환경에 있음을 의미합니다. 이것을 취하면로드 키를 사용해야합니다. 질문에 따라 명령 줄을주었습니다. 실제로 원하는 것은 키 바로 가기 인 것 같습니다. 매핑 할 특정 키가있는 경우 고유 한 레이아웃을 생성 한 다음 요청시로드 키로 요청에 따라로드해야합니다. 바로 가기를 원하면 질문을 업데이트하십시오.
BitsOfNix

아니요, 실제로 그래픽 환경과 특히 그놈 터미널을 사용하고 있습니다. 일부 이벤트에 반응하여 X 레이아웃 프로그래밍 방식을 변경해야한다는 것입니다. 따라서 tty 기능이 작동하지 않습니다.
Rogach

0

다양한 배포판에서 키보드 레이아웃을 변경하기위한 다양한 명령에 대한 다양한 배포판 에서 언어 및 키보드 레이아웃 변경 이라는 제목의이 하우투 기사를 살펴보십시오 .

이러한 명령의 대부분은 GUI로 표시되지만 대부분의 경우 명령 행에서 실행할 수도 있습니다. 예를 들어 Fedora (Red Hat 기반 배포판)를 사용하고 있습니다. 명령 system-config-keyboard나 GUI를 인수 쇼와 함께 실행할 때.

그러나 내가 실행 system-config-keyboard --help하면 명령 줄에서도 실행할 수 있습니다.

$ system-config-keyboard --help
Usage: system-config-keyboard [--help] [--noui] [--text] [<keyboardtype>]
       --help            Print out this message.
       --noui            Run in command line mode.
       --text            Run in text interface mode.

       <keyboardtype> options are: ar-azerty, ar-azerty-digits, ar-digits, ar-qwerty, ar-qwerty-digits, be-latin1, ben, ben-probhat, bg_bds-utf8, bg_pho-utf8, br-abnt2, cf, croat, cz-lat2, cz-us-qwertz, de, de-latin1, de-latin1-nodeadkeys, dev, dk, dk-latin1, dvorak, es, et, fi, fi-latin1, fr, fr-latin1, fr-latin9, fr-pc, fr_CH, fr_CH-latin1, gr, guj, gur, hu, hu101, ie, is-latin1, it, it-ibm, it2, jp106, ko, la-latin1, mk-utf, nl, no, pl2, pt-latin1, ro, ro-cedilla, ro-std, ro-std-cedilla, ru, sg, sg-latin1, sk-qwerty, slovene, sr-cy, sr-latin, sv-latin1, tj, tml-inscript, tml-uni, trq, ua-utf, uk, us, us-acentos

키보드 레이아웃을 러시아어로 변경하려면 다음 명령을 실행할 수 있습니다.

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