2016-09-19 5 views
2

입력 실시간을 따르는 애플리케이션에서 readline을 사용하고 있습니다. 사용자가 Enter 키, Control + J 키 또는 다른 키를 누르는 것을 허용하지 않으므로 의도하지 않게 필드를 지울 수 있습니다.readline 라인 제출 금지

실제로 키를 직접 전달하므로 특정 키 입력을 포착하고 차단할 수 있지만 역방향 검색 (Control-R)도 처리해야하기 때문에이 방법이 적합하지 않다고 생각합니다.

나는 GNU 문서를 살펴 봤지만 유용한 것은 아무것도 발견하지 못했습니다.

내 코드와 유사하다이 https://github.com/ulfalizer/readline-and-ncurses이 키 libreadline의 초기화 파일에서 키 바인딩을 구성 억제 할 수

+0

저는 전문가가 아니지만 [대체 인터페이스] (http://www.delorie.com/gnu/docs/readline/rlman_41.html) 도움말에있는 내용은 무엇입니까? – JAL

+0

불행히도 링크를 가져 주셔서 감사합니다. – vise

답변

1

:

~/.inputrc에서
  1. 구성 /etc/inputrc에서 현재 사용자
  2. 에 대해 구성 모든 사용자에게.

를 입력 억제하고 컨트롤 + J, 당신은 초기화 파일에 추가 할 수

RETURN :
CJ :

하기 원하는 경우 당신이 할 수있는 프로그래밍 방식으로 rl_unbind_key을 사용하여 코드에 추가 :

rl_unbind_key('\r'); // unbind Enter 
rl_unbind_key('\n'); // unbind Control+J 
+0

이것은 내가 찾고 있었던 것이다. 감사! – vise