저는 openSuse를 사용하고 있습니다. 이번 주에 작업을 진행 중인 IT 팀이 저를 위해 설치해 주었습니다. 저는 보통 Shift+Ctrl+화살표 키 중 하나를 사용하여 텍스트를 강조 표시하고, 강조 표시된 텍스트를 바꾸기 위해 간단히 입력하는 데 익숙합니다.
마우스로 텍스트를 강조 표시하고 입력을 시작하면 모든 것이 잘 작동합니다. 키보드 조합을 사용하여 텍스트를 강조 표시하면 내가 입력한 첫 번째 문자가 강조 표시된 텍스트를 삭제하고 두 번째 문자는 아무 작업도 수행하지 않은 다음 입력한 나머지 문자가 강조 표시된 텍스트를 대체합니다. 이 동작은 응용 프로그램에 관계없이 발생하는 것 같습니다. Google 크롬(URL 표시줄은 아님), Firefox 및 Eclipse 텍스트 편집기에서 본 적이 있습니다.
무슨 일이 일어나고 있는지 모르겠지만 이것은 정말 짜증나고 Eclipse에서 속도가 느려집니다.
고쳐 쓰다:난 난쟁이에요. Open Office 작가, Google Chrome, Firefox, Eclipse, Thunderbird에서 이러한 동작을 본 적이 있습니다. 내가 해냈어아니요Tomboy Notes나 gedit에서 확인해 보세요.
답변1
이것은 한동안 나를 괴롭히기도 했습니다.
오른쪽 Ctrl 대신 왼쪽 Ctrl을 사용하면(화살표 키에 더 가깝기 때문에 이 방법을 사용해 왔습니다) 이 문제가 해결되었습니다.
이유와 구성 어딘가에서 변경할 수 있는지 알고 싶습니다. 나는 또한 openSuse와 Eclipse를 사용합니다.
편집: 여기에 설명된 대로 .Xmodmap 파일을 사용하여 문제를 해결했습니다. http://forums.opensuse.org/showthread.php/450727-How-to-change-or-disable-compose-key-in-OpenSuse-11-3
기본적으로 오른쪽 Ctrl은 멀티키 문자의 키 조합이므로 이런 문제가 발생합니다.
EDIT2: 위의 수정 사항은 얼마 전에는 작동하지 않았습니다. Xmodmap을 사용하여 문제를 해결하는 다른 방법을 찾았습니다. 이번에는 내 홈 디렉터리의 .Xmodmap 파일에 활성 줄이 하나만 있습니다.
키 코드 105 = Control_R Control_R Control_R Control_R Control_R Control_R
이전에는 키 105가 다음과 같이 매핑되었습니다.
Control_R 다중 키Control_R 다중 키Control_R 다중 키
즉, Control_R과 함께 Shift, Alt 또는 Meta를 누르면 Multi_Key가 되어 이 문제가 발생합니다.
답변2
그러면 첫 번째와 두 번째 문자가 선택한 텍스트를 덮을 것이라고 예상할 수 있습니다. 그렇죠?
무엇을 인쇄할까요 xev
?
(터미널에서 실행한 후 창 위로 마우스를 이동하고 키를 누릅니다
Ctrl Shift Left Left a b.)
나에게는 그것이 바로 그런 일이다.
길게 누른 Ctrl다음 Shift...
KeyPress event, serial 33, synthetic NO, window 0x4c00001,
root 0x109, subw 0x4c00002, time 143718968, (47,65), root:(48,147),
state 0x10, keycode 37 (keysym 0xffe3, Control_L), same_screen YES,
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False
KeyPress event, serial 33, synthetic NO, window 0x4c00001,
root 0x109, subw 0x4c00002, time 143719024, (47,65), root:(48,147),
state 0x14, keycode 50 (keysym 0xffe1, Shift_L), same_screen YES,
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False
그 다음에 Left, Left...
KeyPress event, serial 33, synthetic NO, window 0x4c00001,
root 0x109, subw 0x4c00002, time 143720176, (47,65), root:(48,147),
state 0x15, keycode 113 (keysym 0xff51, Left), same_screen YES,
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False
KeyRelease event, serial 33, synthetic NO, window 0x4c00001,
root 0x109, subw 0x4c00002, time 143720280, (47,65), root:(48,147),
state 0x15, keycode 113 (keysym 0xff51, Left), same_screen YES,
XLookupString gives 0 bytes:
XFilterEvent returns: False
KeyPress event, serial 33, synthetic NO, window 0x4c00001,
root 0x109, subw 0x4c00002, time 143720952, (47,65), root:(48,147),
state 0x15, keycode 113 (keysym 0xff51, Left), same_screen YES,
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False
KeyRelease event, serial 33, synthetic NO, window 0x4c00001,
root 0x109, subw 0x4c00002, time 143721040, (47,65), root:(48,147),
state 0x15, keycode 113 (keysym 0xff51, Left), same_screen YES,
XLookupString gives 0 bytes:
XFilterEvent returns: False
그럼 놓아 Ctrl주고 Shift...
KeyRelease event, serial 33, synthetic NO, window 0x4c00001,
root 0x109, subw 0x4c00002, time 143723304, (47,65), root:(48,147),
state 0x15, keycode 37 (keysym 0xffe3, Control_L), same_screen YES,
XLookupString gives 0 bytes:
XFilterEvent returns: False
KeyRelease event, serial 33, synthetic NO, window 0x4c00001,
root 0x109, subw 0x4c00002, time 143723304, (47,65), root:(48,147),
state 0x11, keycode 50 (keysym 0xffe1, Shift_L), same_screen YES,
XLookupString gives 0 bytes:
XFilterEvent returns: False
그런 다음 을 누르세요 a.b
KeyPress event, serial 33, synthetic NO, window 0x4c00001,
root 0x109, subw 0x4c00002, time 143724576, (47,65), root:(48,147),
state 0x10, keycode 38 (keysym 0x61, a), same_screen YES,
XLookupString gives 1 bytes: (61) "a"
XmbLookupString gives 1 bytes: (61) "a"
XFilterEvent returns: False
KeyRelease event, serial 33, synthetic NO, window 0x4c00001,
root 0x109, subw 0x4c00002, time 143724672, (47,65), root:(48,147),
state 0x10, keycode 38 (keysym 0x61, a), same_screen YES,
XLookupString gives 1 bytes: (61) "a"
XFilterEvent returns: False
KeyPress event, serial 33, synthetic NO, window 0x4c00001,
root 0x109, subw 0x4c00002, time 143725048, (47,65), root:(48,147),
state 0x10, keycode 57 (keysym 0x62, b), same_screen YES,
XLookupString gives 1 bytes: (62) "b"
XmbLookupString gives 1 bytes: (62) "b"
XFilterEvent returns: False
KeyRelease event, serial 33, synthetic NO, window 0x4c00001,
root 0x109, subw 0x4c00002, time 143725136, (47,65), root:(48,147),
state 0x10, keycode 57 (keysym 0x62, b), same_screen YES,
XLookupString gives 1 bytes: (62) "b"
XFilterEvent returns: False
Ctrl나는 마지막 두 블록을 놓을 때 와 Shift눌렀을 때 a b차이점이 있는지 확인하기 위해 특별한 주의를 기울였습니다 .
다른 아이디어:
- 접착식 열쇠가 있나요?
- 키보드 레이아웃이나 언어를 변경하도록 Ctrl설정 하셨나요 ?Shift