오늘 저는 Steven Losh의이 멋진 기사 에서 생산성을 높이는 키보드 매핑 몇 가지를 소개했습니다. 그중에는 왼쪽 및 오른쪽 Shift 키의 동적 매핑이 있습니다.
아이디어
추가 키없이 Shift_L 또는 Shift_R을 누르면 각각 ‘(‘및 ‘)’에 매핑됩니다. 그렇지 않으면 평소와 같이 작동합니다.
문제
그는 OSX에서이 모든 작업을 수행합니다. 나는 리눅스에서 똑같이 달성하려고합니다. xmodmap을 사용하여 Shift_L에 대해서만 하나의 키를 구성 할 수없고 수정 자 키로 사용될 때 Shift에 대해서는 다른 키를 구성 할 수 없기 때문에이 방법에 대한 간단한 방법은 없습니다.
나는 약간의 구글 검색을 한 결과 AutoHotKey를 사용하여 가능한 Windows에서 동일한 작업을 시도하는 사람들을 발견했지만 Linux를 찾을 수 없었습니다.
리눅스에서 이것을 해결할 수있는 방법이 있습니까?
답변
와! 원래 질문에 대한 사용자 teika kazura의 의견은 매우 정확합니다. 이것은 실제로 다른 질문 의 복제본 일뿐만 아니라 제공된 문제 ( “use xcape “)가이 문제를 해결합니다!
xcape 저장소를 복제하고 컴파일 한 후 (먼저 Fedora 상자에 libXtst-devel을 설치해야 함) 다음 명령으로 요청 된 정확한 동작을 얻을 수있었습니다.
xcape -e "Shift_L=parenleft;Shift_R=parenright"
명백히 커리큘럼 테스트를 한 후에는 매우 잘 작동하는 것 같습니다 . 좋은!
다른 옵션
Shift 키를 마우스 수정 자로 사용하는 경우 (즉, 아무 것도 Shift 클릭하면) xcape의 시간 초과 옵션을 포함하고 편안한 시간 초과 값을 찾아서 마우스와 함께 사용되는 독주 Shift 키 누르기를 원할 수 있습니다. 가짜 괄호를 생성하지 마십시오. xcape README에서 :
-t <timeout ms>
이 시간 초과보다 긴 키를 보유하면 xcape는 키 이벤트를 생성하지 않습니다. 기본값은 500ms입니다.
따라서 -t
시간 제한 값이 있는 플래그를 포함 시키면 Shift 키를 밀리 초 이상 누르고 있으면 마우스로 Shift 키를 누른 채 클릭 할 수 있습니다 timeout ms
.
(신용, 다시에 테이 카 kazura 다른 문제를 지적하고, 또한하기위한 don_crissti 가 원래의 대답.)
답변
그것은 흥미로운 도전이며, 나는 xinput이 완벽하게 적합하지 않은 것으로 동의합니다. 나는 xmodmap을의 능력으로 주변에 바이올린을 켜는 시간을 소요하고 절망적 그래서 온 가까운 실제로 거기까지 관리없이 … 당신이 원하는 것을 달성하기 위해.
xmodmap을 사용하면 왼쪽 시프트 키에서 parenleft를 시프트 키로 지정할 수 있습니다.
xmodmap -e 'keysym Shift_L = Shift_L parenleft Shift_L parenleft'
이는 그렇다고 만족스러운 방법으로 내 페도라 17 상자에서 테스트 적어도 작품,하지만. 이 매핑을 사용하면 Shift 키가 여전히 정상적으로 작동하고 가짜 패런을 렌더링하지는 않았지만 (매끄럽게) 왼쪽 파렌을 안정적으로 생성하지 못했습니다. 어떤 이유를 들어, 키는 안정적으로 수정 나타나지 않습니다 자체를 처음 … 그 이동 할당을 중단한다. 어떤 이유로 든, 왼쪽 교대를 연속해서 몇 번 치는 것은 결국 왼쪽 파 렌스 생산을 시작하지만 4 번 또는 5 번을 누른 후에 만 가능합니다.
하나 개의 행동 나는 한 당신이 가진 “근처 충분히”아날로그로 작업 할 수 있습니다, 그러나, 통보 : 나는 Shift_L 및 Shift_R 상에 매핑 parenleft 및 parenright 후, 나는 확실하게 모두 시프트 키를 통해 “롤링”에 의해 괄호를 입력 할 수 있습니다 발견 즉,이 매핑을 사용하면 다음과 같습니다.
xmodmap -e 'keysym Shift_L = Shift_L parenleft Shift_L parenleft'
xmodmap -e 'keysym Shift_R = Shift_R parenright Shift_R parenright'
Shift_L과 Shift_R을 차례로 누른 다음 둘 다 해제하면 오른쪽 방향 또는 왼쪽 방향으로 출력됩니다. (물론지도 매핑은 물론 역전 될 수있다. 어떤 방법이 더 “자연스러워”느껴질 지 결정할 수 없었다.)
그것은 당신이 찾고있는 정확한 행동을 달성하는 것과 비슷했습니다. xmodmap 만 사용하는 것이 가능하지 않은 것 같습니다.
나는 그것이 불가능하다는 것을 반쯤 확신했다. 그러나 나는 당신이 묘사 한대로 정확히 기능 하는 하나 이상의 키가 있다는 것을 깨달았다 . 슈퍼 ( “Windows”) 키. Gnome Shell에서이 키는 모디파이어 키 (mod4)로, 단독으로 눌렀을 때 다른 효과 (트리거 개요)를 생성합니다. 따라서 적어도 이론 상으로는 동일한 방식으로 원하는 Shift 키 오버로드를 구현할 수 있습니다.
…하지만 Shift 키를 누를 때마다 필요한 처리 과정이 어떻게 진행되는지, 또는 얼마나 침습적 일지 모릅니다. 🙂
답변
키 매핑을 변경하기 위해 xbindkeys를 보거나 vim 또는 gedit 또는 자신이 사용하거나 코딩하는 것을 좋아하는 코딩 플러그인을 찾으십시오.
키맵을 변경하는 도구
/programming/6812/mapping-my-custom-keys-in-debian
아마도 http://www.tldp.org/HOWTO/Keyboard-and-Console-HOWTO-14.html
이를 가능하게하는 스크립트를 작성하십시오.