상황에 맞는 메뉴를 리눅스의 다른 키에 다시 매핑하는 방법은 무엇입니까?


19

방금 레노버 씽크 패드를 구입했으며 그 안에있는 모든 것을 자랑스럽게 생각합니다. Linux 커널 : P와 마찬가지로 견고합니다.

문제는 Lenovo가 마우스 오른쪽 단추 클릭 작업을 수행하는 키인 컨텍스트 메뉴 키를 제거하기로 결정했다는 것입니다. 그들은 그것을 인쇄 화면 키로 대체했습니다. 키보드에는 숫자 버튼이 있고 그 위에 몇 개의 버튼이 있습니다. 상황에 맞는 메뉴를 열거 나 마우스 오른쪽 버튼을 클릭하기 위해 다시 매핑하려는 돋보기 키가 있습니다. 이것을 할 수 있습니까?

다른 관련 질문을 검색하려고 시도했지만 노틸러스 상황에 맞는 메뉴에 옵션을 추가하는 방법에 대한 Q & A 만 발견했습니다. 이 메뉴를 열려면 키보드의 물리적 키를 매핑하고 싶습니다. 예전처럼. 또한 Dell에서이 키를 inspiron 키보드에 떨어 뜨린 것으로 보입니다. 마우스보다 키보드를 더 많이 사용하기 때문에 무슨 일이 일어나고 있는지 모르겠습니다.

미리 감사드립니다.


3
로 xbindkeys를 설치하십시오 sudo apt-get install xbindkeys. 그런 다음 터미널 실행 xbindkeys -k에서 변경하려는 키를 입력하십시오. 질문에 출력을 추가 할 수 있습니까?
세스

"NoCommand"m : 0x50 + c : 46 Mod2 + Mod4 + l
Jhonnytunes

메뉴 키가 필요한 곳에 인쇄 화면 키를 원하는 사람은 누구입니까? 레노버에서 술에 취한 모습이 얼마나 궁금하십니까? 어쨌든, 노트는 당신이 필요하지 않습니다 .Xmodmap에 의해 생성 xmodmap -pke으로 시작하는을, 당신은뿐만 아니라 당신의 빈 파일에 바인딩을 넣을 수 있습니다. 또한 @Baha_hi가 아래에서 찾은 것을 살펴보십시오.
J. Katzwinkel

답변:


13

조금 복잡하지만 할 수 있습니다. 다음과 같이하세요:

키 코드 감지

  1. xev키 코드를 감지하려면 실행하십시오 .

    xev | grep keycode
    
            state 0x0, keycode 36 (keysym 0xff0d, Return), same_screen YES,
            state 0x0, keycode 107 (keysym 0xff67, Menu), same_screen YES,
            state 0x0, keycode 64 (keysym 0xffe9, Alt_L), same_screen YES,
    
  2. 재구성하려는 키를 누르십시오. 터미널의 출력에 keycode(여러 가지가있을 수 있습니다)를 표시합니다.

테스트 매핑

  1. 새 매핑을 임시로 설정하십시오 keycode 107.

    xmodmap -e "keycode  107 = Return NoSymbol Return"
    

키가 예상대로 작동하면 구성을 저장할 수 있습니다.

설정 저장

  1. $HOMEdefau를 재정의하려면 현재 키맵 테이블을에 저장하십시오 .

    xmodmap -pke > ~/.Xmodmap
    
  2. ~/.xinitrc구성을로드하도록 작성하거나 편집 하십시오.

    $EDITOR ~/.xinitrc
    
  3. 다음 줄 추가

    if [ -f $HOME/.Xmodmap ]; then
            /usr/bin/xmodmap $HOME/.Xmodmap
    fi
    

즐겨

위의 정보의 대부분은 ArchWiki 기사 에서 온 것 입니다.


문제가 있습니다. 버튼을 누르면 'l'이 표시됩니다. xev에서 확인했으며 L l 문자에 할당 된 46 키 코드를 제공합니다. 키 코드가 없을 수도 있습니다.
Jhonnytunes

@Jhonnytunes. 키보드 레이아웃이 올바른지 확인하십시오. `sudo dpkg-reconfigure keyboard-configuration`을 입력하여 모델을 변경할 수 있습니다.
Ed Villegas

여전히 같은 행동입니다. 나는 다른 Thinkpad 모델을 시도했지만 아무것도하지 않았습니다.
Jhonnytunes

BTW 내 Thinkpad는 E530c이며 키보드 목록에 나타나지 않습니다.
Jhonnytunes

경우 에«삭제»«상황에 맞는 메뉴»실제로 옆에 아마 키 키보드 레이아웃입니다 (함수는 당신이 찾고있는 사람이있다). 그렇지 않으면, 다른 키를 재구성하거나 어떤 레이아웃을 선택해야하는지 Lenovo 데스크에 직접 문의하십시오.
Ed Villegas

12

내가 발견 여기에 사용한다 : shift+ F10컨텍스트 메뉴를 엽니 다.

나는 그것이 최선의 해결책은 아니지만 임시 사용에 도움이 될 것이라고 생각했습니다!

추신 : 나는 e530c도 가지고 있으며 데비안 7 (Wheezy)에서 이것을 테스트했습니다.


3

나는 몇 시간의 테스트 후에이 작업을 수행하는 방법을 마침내 찾았고 실패했습니다.

우선 설치 xautomation을 설치하십시오.

sudo apt-get install xautomation

그런 다음 Ubuntu 시스템 설정에서 키보드 섹션의 바로 가기 탭으로 이동하십시오. 먼저 스크린 샷 항목으로 이동하여 작업을 다른 키에 다시 매핑하거나 원하는 경우 비활성화하십시오. PrtSc (Print) 키를 Thinkpad 검정색 버튼 (Launch1)으로 교체했습니다.

이제 사용자 정의 바로 가기 섹션으로 이동하여 바로 가기를 추가하십시오. 예를 들어 Menu와 같이 원하는 이름을 지정하십시오. 명령 필드에 다음을 삽입하십시오.

xte 'keydown Shift_L' 'key F10' 'keyup Shift_L'

작업이 완료되었습니다! 기적처럼 작동합니다.)


2

이것은 나를 위해 속임수를했다. 저에게 Thinkpad의 "PrtSc"버튼에 대한 키코 드는 107입니다. 우분투의 "xev"도구로 찾았습니다.

xmodmap -e "keycode  107 = Menu"

일시적인 변경입니다.

이 명령을 / etc / profile에 추가하여 영구적으로 만들 수 있으며 부팅 할 때마다 실행되며 영구적으로 변경됩니다.


1

최근에 Lenovo E550을 구입했으며 같은 문제가 발생했습니다 . 와 함께 xte(에서 xautomation)를 사용하여 해결했습니다 xmodmap.

다른 답변이 완전히 작동하지 않는 이유는 무엇입니까?

  1. 숫자 부분 위에 위치한 일부 키는 자체적으로 고유 키가 아니기 때문에 @Ed Villegas (또는 @Null Pointer ) 답변이 작동하지 않습니다 ( 예 : 잠금 키는 Super+ L조합 과 관련이 있습니다 ). 시 xev는 모두 반환하는 잠금 키의 키 코드를 발견하려고 노력하는 데 사용되는 SuperL키 코드, 당신은 단지 해석 할 필요가 xev라인으로 출력 라인을.

  2. 들어 @Bahax@ 존 Finegan : Shift+ F10그것은 모든 응용 프로그램에서 작업을하지 않는 그것은 같은 기능을 제공하지 않습니다, 컨텍스트 메뉴 키입니다 Menu. 파일 탐색기에서 파일을 선택 Menu하고 파일 자체에 대한 컨텍스트 메뉴를 누르면 팝업이 표시됩니다. Shift+ F10조합에서는 발생하지 않으며 대신 윈도우에 대한 컨텍스트 메뉴를 제공합니다.

  3. @Danial Behzadi 는 두 번째 항목의 사람들과 비슷한 접근 방식을 취하지 만 키 조합 시뮬레이터를 통해 키보드 조합을 하나의 키에 연결하면 키를 Shift+에 연결 F10하고 동일한 결과를 제공합니다.

작동하는 답

ThinkPad 키보드에없는 키는 Menu(즉, 이름) 키이며 다음 그림과 같습니다.

메뉴 키

키가 없지만 키 코드는 컴퓨터에 있어야하며 키 코드 테이블을 인쇄하여 찾을 수있는 키 코드 xmodmap -pke | grep Menu는 다음과 같습니다.

xmodmap 출력

이를 염두에두고 @Danial Behzadi 답변 과 같이 (키 입력 시뮬레이션 xautomation에 사용하기 위해) 설치하십시오 .xte

sudo apt-get install xautomation

그리고 사용자 정의 단축키를 작성하십시오. 트리거 에서 단축키가 될 키를 누르고 Action붙여 넣기 에서을 누르십시오 xte 'key Menu'. 적용 하고 테스트하십시오.

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