데스크톱 수준에서 자동 완성


11

여러 응용 프로그램에서 종종 같은 단어를 입력합니다.

  • 편집자 (emacs, vi)
  • 웹 브라우저
  • 포탄

지난 주에 입력 한 단어를 위의 모든 응용 프로그램에서 자동 완성하는 것이 좋습니다.

그들 각각은 타이핑 속도를 향상시키는 방법을 가지고 있습니다. 그러나 데스크탑 수준의 것이 가장 좋습니다.

예 : "연속 통합" 입력을받는 프로그램을 변경하지 않고이 단어를 입력하는 빠른 방법을 원합니다.

이미 이와 같은 것이 있습니까?


Synapse ( lifehacker.com/5704221/… ) 와 같은 Soetihng ?
Salem

나는 이것이 LibreOffice의 자동 완성과 같은 것을 의미한다고 생각합니다. 입력 한 단어를 저장합니다 (사용자 정의 가능 길이 요구 사항을 충족). 저장 한 단어의 처음 몇 글자를 입력하면 나머지 단어를 입력 할 수 있으며 Tab 키를 눌러 입력하거나 계속 입력하여 거부 할 수 있습니다.
Andy Castille

답변:


7

귀하의 요청에 대한 해결책은 입력 방법입니다.

당신이 설명한 것은 대부분의 CJK 언어 사용자에게 친숙한 것입니다. 현재 Linux 시스템에서 입력 방법이 작동하는 방식을 살펴 보겠습니다.

입력기 시스템

다음은 일반적인 입력 방법 시스템을위한 간단한 아키텍처입니다.

참고 :이 이미지를 X 입력 방법 프로토콜 에서 스냅 샷합니다 . 일부 화살표는 다음 토론과 관련이 없습니다.

역사적으로 XIM (X Input Method 프로토콜)이 유일한 프로토콜이었습니다. 지나치게 복잡하고 원하는 기능이 없습니다. GTK, Qt와 같은 인기있는 툴킷에 의해 호환성이 여전히 제공되지만, 대부분 버려진 것입니다.

최신 입력 방식 시스템에는 여러 부분이 포함되어 있습니다.

  1. 클라이언트 측 라이브러리 지원

    • 일반적으로 툴킷에 의해로드 된 모듈로 구현됩니다 (예 : GTK의 경우 참조 /usr/lib/x86_64-linux-gnu/gtk-3.0/3.0.0/immodules/).
  2. 입력기 서버
  3. X 서버

이 부품들은 어떻게 맞습니까?

사용자는 키를 입력합니다. X 서버는 evdev 인터페이스에서 하드웨어 이벤트를 수신하고 XEvent를 작성하며 키보드 초점을 사용하여 애플리케이션으로 보냅니다. 응용 프로그램 툴킷 (GTK, Qt) 입력 메소드 모듈은 이벤트를 인터셉트하고 정보를 입력 메소드 서버로 전달합니다. 입력 방법 서버는 사용자가 원하는 것을 파악하고 일부 텍스트를 IM 모듈로 다시 전달합니다.

이제 IM 서버의 아키텍처에 대해 이야기하겠습니다.
IM 서버는 일반적으로 두 부분으로 구성됩니다.

  1. 플랫폼 별 복잡성을 처리하고 IM 엔진 및 툴킷 IM 모듈에 대한 훌륭한 인터페이스를 제공하는 IM 프레임 워크입니다. IM 모듈, 서버 및 엔진에서 사용하는 IPC 메커니즘을 제공합니다.
  2. 다양한 IM 엔진이 사용자 유형 키를 원하는 텍스트로 변환하는 실제 작업을 수행합니다. IM 엔진은 IM 서버 또는 IM 서버와 통신하는 독립 프로세스에 의해로드 된 공유 라이브러리 일 수 있습니다.
  3. 보조 입력기 구성 프로그램은 IM 서버 및 엔진 동작을 사용자 정의하기위한 친숙한 사용자 인터페이스를 제공합니다.

IM이하는 일은 입력 한 것을 다른 것으로 변환하고 선택적으로 예측을 제공하는 것입니다.

ibus-pinyin여기서는 한자를 입력 할 때 사용 합니다.

汉语拼音의 로맨스는 han yu pin yin입니다. 먼저 네 글자를 모두 입력하려면이 문자를 모두 입력해야합니다. 그러나 몇 번 후에 h y p y한자 만 입력하려면 첫 4 개의 문자 만 입력하면 됩니다.

ibus-pinyin경우 han yu pin yin으로 단축됩니다 h y p y.
고급 IM 엔진은 통계 학습 기술을 활용하여 더 나은 예측을 제공합니다. 타이핑 향상을 위해 영어 입력기 엔진을 작성하는 것을 막을 수있는 것은 없습니다.

보너스로, 모든 툴킷은 일부 오래된 X 프로그램을 제외한 입력 방법을 지원합니다. 따라서 이것은 매우 보편적 인 솔루션입니다.


Anders FU Kiær에게 감사합니다. 특징 / 타이핑 부스터 | Fedora Project Wiki 가 답이되어야합니다


1
가장 일반적으로 사용되는 IM 프레임 워크는 ibus 입니다. 시간이 있으면 IM 엔진을 작성하여 작업하겠습니다. 개념 증명 코드가 있으면 누구나 시도해보고 링크를 남길 수 있습니다.
sgx1



당신의 대답은 최고입니다. 나는 당신에게 현상금을줍니다 :-)
guettli

3

내 스크립트 인 TextSuggest를 살펴보십시오 .

행동 :

임 구르

설치:

다음 패키지를 설치하십시오.

  • xdotool
  • xclip
  • suckless-tools(의 경우 dmenu)

그런 다음 키보드 단축키 2 개를 지정하십시오.

  • 1 ~`python3 /path/to/TextSuggest.py --noselect
  • 다른 python3 /path/to/TextSuggest.py

첫 번째 단어는 검색 가능한 모든 단어 목록을 제공합니다. 일부 텍스트를 선택하고 제안 / 완료를 원하는 경우 두 번째를 사용하십시오.

수락 된 제안은 파일에 기록으로 저장되어 먼저 제안됩니다 ~/.textsuggest_history.txt.

에서 맞춤 단어 및 확장 / 별칭을 정의 할 수 있습니다 ~/.Custom_Words.txt.


0

오토 키를 살펴보십시오 . 그것은 당신의 필요에 맞을 수도 있습니다. 그들의 사이트에서 C / P :

AutoKey는 Linux 및 X11 용 데스크탑 자동화 유틸리티입니다. 스크립트 및 구문 모음을 관리하고 약어 및 단축 키를 지정할 수 있습니다. 이를 통해 사용중인 모든 프로그램에서 스크립트를 실행하거나 요청시 텍스트를 삽입 할 수 있습니다.

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