수정 자의 홀드 키


23

나는 안드로이드에서 키를 약 100ms 동안 누르고 있으면 구두점 키가 '아래에'(다른 방법으로 메뉴에 있음)를 얻기 위해 사랑에 빠졌으며 우분투에 대해서도 동일한 기능을 갖고 싶습니다. 문자를 반복 할 필요가 없으므로 빠진 것이 없습니다. 이것이 가능합니까? 그렇다면 가능합니까? 고맙습니다 :)


늦었지만 Ubuntu에 구현하려는 기능에 대해 자세히 설명해 주시겠습니까?
Harshit

1
@Harshit, sure : Android에서 Google 키보드를 사용하면 별도의 메뉴로 이동하지 않고도 -oft 키보드의 키를 길게 눌러 구두점을 입력하는 기능을 선택할 수 있습니다. 이것은 이상적으로는 우분투에서 옵션으로 구현되어 100ms 유형의 '2'키 '@', '-'유형 '_'등을 누르고 있습니다.
Patrick

답변:


3

현재 데스크톱 버전의 Ubuntu에서 이러한 종류의 기능을 활성화 하는 빠르고 쉬운 방법 은 없습니다 .

개인적으로 나는 기본 작성 키 바로 가기를 좋아합니다 . 모바일 스타일의 긴 프레스 선택 (♥)보다 더 빠르고 직관적입니다. 그러나 시간과 결정이 있다면 기본 핵심 Universal Access 애플리케이션에서 slowkeys 옵션 을 피기 백 하여 모바일 옵션과 유사한 것을 빌드 할 수 있습니다.

자신이 주위 파고, XKB는 느린 키 컨트롤과 관련된 것으로 보인다. XKB를 사용하여 우분투의 키보드 바인딩을 구성하고 향상시킬 수 있으며, 내가 알 수있는 한이 섹션 에는 필요한 것이 있습니다. 따라서 키를 오래 누르고있을 때 대체 문자 인쇄를하는 것이 상대적으로 어렵지 않아야합니다.

상황이 복잡해지면 여러 특수 문자를 키 입력에 할당하는 것입니다 (예 : "a"를 누르고 ä, à, á, â 등의 옵션을 가져옵니다). 옵션을 어떻게 순환합니까? 대화창에 문자가 나타나고 마우스, 탭 또는 화살표 키를 사용하여 문자를 선택합니까? 시간이 걸리는 것 같습니다.

또는 다른 홀드 길이를 다른 문자에 할당 할 수 있습니다. 100ms는 à를, 200ms는 á를, 300ms는 â ... 300ms를 유지하는 것은 문자가 까다로워 질 수있는 시간을 몇 초 동안 기억 하는가에 대한 것입니다. 또한 더 긴 문자 목록에 들어가면 3-4 초 동안 키를 들고 앉아있을 수 있습니다. 훨씬 더 많은 시간이 걸린 것 같습니다.

느린 키 대신 반복 키 옵션을 사용하여 키를 여러 번 탭하여 특수 문자를 제공 할 수 있습니다. 예를 들어, "a"를 3 번 ​​탭하는 경우가 있습니다. 그러나 "good", "eerie"또는 "aaaaaaahhh!"등을 입력하면 원하지 않는 특수 문자가 나타날 위험이 있습니다.

내가 생각하지 않은 다른 더 효율적인 구현 방법을 생각해 냈을 수도 있습니다. 그러나 여전히 키 조합을 작성하는 것이 좋습니다. ☺


1
링크를 살펴보면 각 키를 구두점에 대한 수정 자 키로 지연과 함께 설정할 수 있습니다. 정확히 내가 찾는 것입니다! 나중에 이것으로 땜질을 시도해야합니다.
Patrick

0

ISR (키보드 인터럽트 서비스 루틴)을 수정하여이 작업을 수행 할 수 있다고 확신합니다. 키를 누를 때마다 인터럽트 신호가 CPU로 전송됩니다. 그런 다음 CPU는 키보드 ISR을 실행하여 해당 인터럽트를 처리합니다.

ISR은 하드웨어를 직접 처리하고 속도가 빠르기 때문에 일반적으로 어셈블리 언어로 코딩 된 저수준 프로그램입니다. 다음 은 인텔 프로세서의 하드웨어 인터럽트 및 사용 방법에 대한 자세한 정보입니다.

키보드는 원래 IBM-PC 시절부터 자체 프로세서를 가지고 있었으며 키를 누르고 있으면 문자를 매우 빠르게 생성 할 수 있습니다.

여기서 몇 가지 정의가 유용 할 수 있습니다.

반복 지연 : 키를 누르고 반복을 시작할 때까지 경과 된 시간입니다.

반복 속도 : 키를 누르면 키보드가 해당 키를 반복합니다. 반복 속도는 반복 속도입니다. 때로는 형식적 비율이라고도합니다.

'대체 문자'기능 대신 반복 지연 기능을 대체하려면 키보드 ISR 루틴을 수정해야합니다. 키를 눌렀다가 놓는 시점이 핵심입니다. 키 누름 지속 시간을 측정하여 ISR (또는 인터럽트 처리기)은 대체 문자의 일반 문자 ( "아래"키)를 전달하는 것을 알게됩니다.

기본적으로 키보드 의 장치 드라이버 를 수정하거나 다시 작성합니다 .

이것은 내가 원하는 것을 달성하는 데 필요할 것이라고 생각하는 접근법에 대한 높은 수준의 견해입니다.


0

터치 패드는 Android의 터치 스크린과 유사하게 작동하므로 키보드보다 더 나은 인터페이스를 제공합니다. 실제로 엄지 손가락과 집게 손가락을 함께 움직여 줌으로 완전히 새로운 루틴 세트를 구현하고 반전 방향으로 줌아웃 할 수 있습니다.

터치 패드는 이미 한 손가락, 두 손가락을 감지 할 수 있으며 실수로 손바닥이 터치 패드를 향해 움직이므로 무시됩니다. 가속 및 감속 속도가 인식됩니다. 길게 누르면 강조 표시하려는 텍스트의 마우스 포인터를 이미 제어하고 있습니다.

프로그래머가 측정 터치 프레스 길이에 코드의 여분의 비트를 추가하기위한 상황에 맞는 메뉴를 표시하는 것은 케이크 한 조각이어야한다 select, copy, paste, 등의 스마트 폰과 같은 오늘 않습니다.

귀하의 질문은 내장 터치 패드가있는 소프트웨어 및 키보드를 완전히 새로운 수준으로 발전시킬 수있는 좋은 아이디어라고 생각합니다. 키보드에 내장 된 일부 터치 패드에는 컬러 LCD 화면이있어 아이디어를 더욱 발전시킬 수 있습니다. 즉, 강조 표시되는 화면 텍스트를 터치 패드 LCD에 미러링하고 미세하게 움직일 수 있습니다.

Apple, Google, Microsoft 및 Linus는 모두 귀하의 아이디어에 흥분 할 수 있습니다. 확실히 내 관심을 끌었다!


나는 풍자를 감지합니까 아니면 이것이 진짜입니까?
Amit Gold

좋은 생각이라고 생각합니다. 스마트 폰의 장점 중 일부를 데스크탑으로 가져옵니다.
WinEunuuchs2Unix
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.