[英]APL Keymapping on Linux (GNU APL)
我的祖父是 60 年代/ 70 年代 IBM 的 APL 程序員。 他最近開始使用 Linux,我一直在幫助他設置和使用 GNU APL ( http://www.gnu.org/software/apl/ )。
目前我最頭疼的是鍵盤映射。 目前我已經安裝了 aplwrap GTK+ ( https://github.com/ChrisMoller/aplwrap ) 編輯器,它工作正常,但並不出色。 我想為單擊 LALT + 鍵或 LALT + Shift + 鍵時工作的 APL 字符設置全局鍵盤映射。 我已經擺弄過 GNU APL 源代碼中提供的 xmodmap 文件,但是當您嘗試讓它在啟動時自動運行時,它搞砸了一切。
所以,我有兩個問題:
是否可以將 APL 鍵盤映射設為全局並在啟動時運行,因此不必手動打開?
如果第一個問題是不可能的,那么是否可以為每個應用程序設置一個鍵盤映射? 例如,Gnome 終端和 gEdit 將對 APL 字符使用 LALT 鍵映射,但系統的其余部分將正常工作。
非常感謝。
我將插入我自己的解決方案並建議使用 Emacs。 我為 GNU APL 編寫了 Emacs 模式,目前它可以通過 MELPA 獲得(它最終會進入標准的 ELPA 存儲庫)。 你也可以在這里找到源: https : //github.com/lokedhs/gnu-apl-mode
Emacs 模式提供了兩種不同的輸入 APL 符號的方法。 第一個使用 Super 鍵和常用鍵。 例如,您按se
生成∊
符號。
另一種方法是標准的 Quail 輸入法,如果您沒有可用的超級鍵(例如,您在終端中使用 Emacs),這將很有用。 您可以使用C-\\
並選擇APL-Z
啟用它。 完成此操作后,句點 ( .
) 將用作前綴字符,因此您可以按,例如, . e
. e
生成∊
符號。
你很幸運,因為 Linux(實際上是 Xorg)擁有所有主要操作系統中最通用和最強大的鍵盤配置系統。 您可以從許多 APL 符號配置中進行選擇,並將它們添加到您自己的國家鍵盤布局中。 您甚至可以選擇使用哪個鍵在普通字母和 APL 之間切換,並將此選擇應用於整個系統。
如果您打開發行版的國際化或鍵盤布局設置(它可以在類似控制面板的 GUI 中,也可以是一個設置文件,例如 Debian 中的/etc/default/keyboard
),您將能夠添加apl
鍵盤布局到您現有的國家布局。 APL 布局包括處於某種標准位置的基本 APL 符號,並提供了許多選擇附加符號或不同配置的變體,包括市售硬件鍵盤的那些: unified
、 sax
、 apl2
、 aplplusII
、 aplx
、 dyalog
。
請注意,APL 布局旨在添加到您現有的國家布局中,同時可選擇在兩者之間切換或切換的鍵。 如果您用 APL替換您的國家布局,您將無法再輸入標准字母!
要測試布局、變體和選項的組合,您可以使用圖形控制面板(如果有的話),或者您可以使用setxkbmap
命令。
例如,這選擇了us
布局,添加了apl
一個,在其默認變體中,並指定 Windows 鍵作為兩者之間的切換,以便Win + A給出 ⍺ 等。
setxkbmap us,apl -option grp:win_switch
提示:您可能希望使用准備好一些默認命令的另一個終端打開,例如setxkbmap us
,以便您可以輕松地在其中按 Enter 並重置您的布局,如果您使鍵盤無法使用。 如果您甚至不能再按 Enter,您可以復制+粘貼換行符來執行命令。
在您對布局、變體和選項的組合感到滿意后,您必須將它們放入全局配置文件中,或使用使它們成為永久選擇的控制面板按鈕。
如果您在某些特定的選項組合方面遇到問題,您可能需要查看XKB 文檔維基,在眾多 Linux IRC 頻道之一上聊天,或者在 StackExchange 上發布更具體的問題,盡管我建議使用超級用戶, Unix & Linux , 或Ask Ubuntu ,而不是 StackOverflow。
我有 GNU APL 以及 Dyalog APL 在以下條件下運行良好; 首先我不使用圖形服務器,因為我真的不喜歡它(這肯定會使我的解決方案對您自己的情況不是很有趣,但誰知道呢? )。 只要在控制台上啟用兼容字體,您就可以使用這兩種軟件; 您可以通過兩種方式實現它:
setfont
啟用它fbterm
這樣的幀緩沖終端(我自己做的); 只需安裝它並在控制台中輸入fbterm
; 這將允許您在控制台上使用完整的 Unicode 范圍;然后你必須破解一些鍵盤映射字體; 難度不大; 你要么從當前的文件中復制一份,要么找到一些現成的文件(我強烈建議你破解自己的文件;將有一個小時的工作時間,但使用文本編輯器沒有什么困難):看看在這里。
完成此操作后,在 Linux 控制台中使用 APL 非常容易。
我安裝了 Dyalog 字體(同樣,這只適用於 Xorg)並且我運行了這個腳本。 它允許元鍵(windows 鍵)充當 APL 修飾鍵(就像按住 shift 讓你輸入大寫字母一樣):
#!/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鍵盤: https : //www.dyalog.com/apl-font-keyboard.htm不是超便宜,但也不貴。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.