2015-01-14 2 views
4

나의 할아버지는 60 년대 IBM의 APL 프로그래머였습니다. 그는 최근에 리눅스를 사용하기 시작했으며 GNU APL (http://www.gnu.org/software/apl/)을 설치하고 사용하도록 도와주었습니다.APL 키맵 Linux (GNU APL)

지금 가장 큰 골치 거리는 키맵입니다. 현재로서는 aplwrap GTK + (https://github.com/ChrisMoller/aplwrap) 편집기를 설치했지만 괜찮습니다.하지만 훌륭하지는 않습니다. LALT + 키 또는 LALT + Shift + 키를 클릭 할 때 작동하는 APL 문자에 대한 전역 키맵을 설정하고 싶습니다. 나는 GNU APL 소스 코드에서 제공되는 xmodmap 파일을 둘러 보았지만 자동으로 시작될 때 모든 것을 망쳐 놓았다.

  1. 는 APL 글로벌 keymapping 수동 설정은 할 필요가 없도록 또한 시작시에 실행하는 것이 가능하다 :

    그래서, 나는이 개 질문이?

  2. 첫 번째 질문을 할 수없는 경우 응용 프로그램마다 키맵을 설정할 수 있습니까? 예를 들어 Gnome 터미널과 gEdit은 APL 문자에 대해 LALT 키 맵핑을 사용하지만 나머지 시스템은 정상적으로 작동합니다.

대단히 감사드립니다.

답변

4

Linux (사실 Xorg)는 모든 주요 OS의 가장 다양하고 강력한 키보드 구성 시스템을 갖추고 있기 때문에 운이 좋을 것입니다. 여러 가지 APL 기호 처리 중에서 선택하여 자신의 자국어 키보드 레이아웃에 추가 할 수 있습니다. 일반 문자와 APL간에 전환하는 데 사용할 키를 선택하고 시스템 전체에서이 선택 사항을 적용 할 수도 있습니다. 당신은 apl 키보드를 추가 할 수 있습니다 당신이 당신의 배포판의 국제화 또는 키보드 레이아웃 설정을 열면

(이것은 제어 패널 같은 GUI에있을 수 있거나, 데비안 예를 /etc/default/keyboard를 들어, 설정 파일 수) 레이아웃을 기존 국가 레이아웃에 추가하십시오. APL과 레이아웃은 다소 표준 위치의 기본 APL 심벌을 포함하고 변형 상업적으로 이용 가능한 하드웨어 키보드를 포함하여 추가 기호 또는 다른 처분을 선택의 숫자 제공 : unified, sax, apl2, aplplusII, aplx, dyalog을.

APL 레이아웃은 기존 국가 레이아웃에 을 추가하고을 추가하고 그 둘 사이를 전환하거나 전환 할 수있는 키를 선택해야합니다. 국가 레이아웃과을 APL로 바꾸면 표준 문자를 더 이상 입력 할 수 없습니다!

레이아웃, 변형 및 옵션의 조합을 테스트하려면 그래픽 컨트롤 패널 (있는 경우)을 사용하거나 setxkbmap 명령을 사용할 수 있습니다. + 하는가 ⍺ 제공되도록

등,

, 이는 us 레이아웃을 선택하는 기본 변형에서, apl를 추가하고, 둘 사이의 스위치로서 윈도우 키를 나타낸다
setxkbmap us,apl grp:win_switch 

Protip : 당신은 당신이 쉽게 내부 Enter 키를 누릅니다 및 레이아웃을 재설정 할 수 있도록 키보드를 사용할 수 없게되면, 예를 setxkbmap us에 대한 몇 가지 기본 명령 준비가 열려 다른 터미널을 유지 할 수 있습니다. 더 이상 Enter를 누를 수 없으면 줄 바꿈을 복사하여 붙이면 명령을 실행할 수 있습니다.

레이아웃, 변형 및 옵션의 조합에 만족하면 전역 구성 파일에 배치하거나 영구적으로 사용할 수있는 제어판 버튼을 사용해야합니다.

특정 옵션 조합에 문제가있는 경우 XKB documentation wiki을 살펴 보거나 많은 Linux IRC 채널 중 하나에서 채팅하거나 여기에서 StackExchange에 대한보다 구체적인 질문을 게시 할 수 있습니다. Super User, Unix & Linux 또는 Ask Ubuntu 대신 StackOverflow를 사용하십시오.

2

나는 Dyalog 글꼴이 설치되어 있으며 (이 또한 Xorg에서만 작동 함)이 스크립트를 실행합니다. 그때,이 스크립트는 다음, 당신을 위해 작동하는 경우

#!/bin/bash 

if [ "$DISPLAY" >> /dev/null ] 
then 
     ## We are running Xorg 
     if ! [ `setxkbmap -query | awk '/layout/ {print $2}' | grep "apl"` ] 
     then 
       ## We have no APL layout - so lets set one up - we're going to use the Windows Key. 
       ## Setup keyboard map 
       XKBRULES=`setxkbmap -query | awk '/rules/ {print $2}'` 2>/dev/null 
       XKBMODEL=`setxkbmap -query | awk '/model/ {print $2}'` 2>/dev/null 
       XKBLAYOUT=`setxkbmap -query | awk '/layout/ {print $2}'` 2>/dev/null 
       XKBVARIANT=`setxkbmap -query | awk '/variant/ {print $2}'` 2>/dev/null 
       XKBOPTIONS=`setxkbmap -query | awk '/options/ {print $2}'` 2>/dev/null 
       setxkbmap -rules ${XKBRULES} -model ${XKBMODEL} -layout "${XKBLAYOUT},apl" \ 
         -variant "${XKBVARIANT},dyalog" \ 
         -option "${XKBOPTIONS},grp:win_switch" 2>/dev/null 
     fi 
fi 

: 그것은 메타 키 (윈도우 키), (변화를 유지하는 것은 당신이 대문자로 입력 할 수 방법 같은) APL 수정 키로 작동 할 수 있습니다 시작시 실행되도록하려면 운영 체제에 따라 달라집니다.

3

내 솔루션을 연결하고 이맥스 사용을 제안합니다. 나는 GNU APL 용 Emacs 모드를 작성했으며 현재 MELPA를 통해 사용할 수있다 (결국 ELPA 표준 저장소로 갈 것이다). 여기에서 소스를 찾을 수도 있습니다 : https://github.com/lokedhs/gnu-apl-mode

이맥스 모드는 APL 심볼을 입력하는 두 가지 방법을 제공합니다. 첫 번째 키는 일반적인 키와 함께 Super 키를 사용합니다. 예를 들어, 을 누르면 기호가 생성됩니다.

다른 방법은 수퍼 큐를 사용할 수없는 경우에 유용합니다 (예 : 터미널에서 Emacs를 사용하는 경우). C-\을 사용하고 APL-Z을 선택하여 사용 설정합니다. 이 작업을 완료하면 마침표 (.)가 접두어 char로 사용되므로 . e과 같이 기호를 생성합니다.

3

다음 조건에서 GNU APL과 Dyalog APL이 잘 작동합니다. 먼저 그래픽 서버를 사용하지 않습니다. (이것은 내 솔루션이 자신의 경우에는별로 흥미롭지 않지만 누가 알 수 있습니까?). 콘솔에서 호환 글꼴을 활성화하면 두 소프트웨어를 모두 사용할 수 있습니다. 두 가지 방법으로 그것을 달성 할 수 Unifoundry에서 헌신적 글꼴을 사용

  • (설명 here) 및 fbterm 같은 프레임 버퍼 단자 (I 자신을 무엇을)을 사용하여 setfont
  • 로 가능; 그냥 설치하고 fbterm을 콘솔에 입력하십시오. 이렇게하면 콘솔에서 전체 유니 코드 범위를 사용할 수 있습니다.

그러면 키맵 글꼴을 해킹해야합니다. 너무 어렵지 않습니다. 현재 파일에서 사본을 만들거나 파일을 사용할 준비가 된 파일을 찾아야합니다 (텍스트 파일을 해킹 할 것을 강력하게 제안합니다. 텍스트 편집기로는 1 시간 작업은되지만 아무것도 할 수 없습니다). here.

일단 완료되면 Linux 콘솔에서 APL을 사용하는 것이 매우 쉽습니다.

관련 문제