HJKL을 ARROWS로 사용하는 사용자 정의 키보드 레이아웃이 제대로 작동하지 않습니다.

HJKL을 ARROWS로 사용하는 사용자 정의 키보드 레이아웃이 제대로 작동하지 않습니다.

, , , /usr/share/X11/xkb/symbols/키를 화살표 , , 세 번째 및 네 번째 교대 수준으로 사용 하도록 키보드 레이아웃을 설정했습니다 . 대부분 내가 따라갔어HJKLLeftDownUpRight이 게시물. 내 R. Alt대체 문자 키입니다.

이 사용자 정의는 "기본적으로" 작동하지만 와 함께 입력하여 텍스트를 선택할 수는 없습니다 Shift. 예를 들어, + 와 마찬가지로 Alt Gr+ Shift+ 를 눌러 텍스트를 선택할 수 없습니다 . 하지만 .HShiftLeftCtrl

H, J, 는 Firefox의 화살표( 및 포함)와 정확히 K동일 하게 작동 하지만 Gedit, Rhythmbox 또는 Chrome 등에서는 작동하지 않습니다.LShiftCtrl

어떤 아이디어가 있나요? 우분투 14.04를 사용하고 있습니다.


편집: 저는 독일어 키보드를 사용하고 있습니다 AltGr. 파일은 다음과 같습니다.

키보드 레이아웃 링크

(이제 링크가 작동하길 바랍니다)

답변1

이동하여 유형을 추가하여 xkb/types/iso9995편집하세요."THREE_LEVEL"

  preserve[Shift+LevelThree] = Shift;

그래서 이렇게 생겼어

  partial default xkb_types "default" {

// A key type which can be used to implement
// an ISO9995-style level-three shift.

virtual_modifiers LevelThree;

type "THREE_LEVEL" {
    modifiers = Shift+LevelThree;
    map[None] = Level1;
    map[Shift] = Level2;
    map[LevelThree] = Level3;
    map[Shift+LevelThree] = Level3;
    preserve[Shift+LevelThree] = Shift;
    level_name[Level1] = "Base";
    level_name[Level2] = "Shift";
    level_name[Level3] = "Level3";
    };
};

그런 다음 기호 파일로 이동하여 이 형식을 사용하십시오.

    key <AC06>  { type="THREE_LEVEL", [               h,               H,            Left ]     }; 
    key <AC07>  { type="THREE_LEVEL", [               j,               J,            Down ]     }; 
    key <AC08>  { type="THREE_LEVEL", [               k,               K,              Up ]     }; 
    key <AC09>  { type="THREE_LEVEL", [               l,               L,           Right ]     }; 

이것귀하의 답변을 알아낼 수 있는 관련 질문입니다.

관련 정보