Bash'in meta anahtarı aslında şu şekilde tanımlandı ( lib/readline/ChangeLog
):
Mon Jul 13 11:34:07 1992 Brian Fox (bfox@cubit)
* readline.c: (rl_variable_bind) New variable "meta-flag" if "on"
means force the use of the 8th bit as Meta bit. Internal variable
is called meta_flag.
Ncurses ve xterm ile yorumlanma şekli budur . Bir kaç Bu özellik isteğe yapmak için sağlanan terminaller (yani boy yaygın değildi terminalleri çoğu, kullanımı kodlanmış davranışı (ve çok ilginç değil) karşılaşacak.. Terminfo'ya manuel sayfa belgelerde bu uç yetenekleri:
has_meta_key km km Has a meta key
(i.e., sets 8th-bit)
meta_off rmm mo turn off meta mode
meta_on smm mm turn on meta mode
(8th-bit on)
ve özelliği açıklar:
Terminalde, iletilen herhangi bir karakterin 8. bitini ayarlayan bir üst karakter tuşu görevi gören bir "meta anahtar" varsa, bu durum ile belirtilebilir km
. Aksi takdirde, yazılım 8. bitin eşlik olduğunu varsayar ve genellikle silinir. Dizeleri bu "meta mod" ve kapatmak için varsa, bunlar da verilebilir smm
ve rmm
.
Alt
Bazı terminal öykünücülerine anahtara yanıt olarak bir kaçış karakterini önekleyen farklı bir özellik eklenmiştir. Bash (aslında readline
kütüphane) 2004'teki değişim günlüğünde kullanılan belgeleri :
lib/readline/callback.c
- use _rl_dispatch_callback and a chain of _rl_keyseq_contexts to
simulate the recursion used to decode multicharacter key sequences
(even things like ESC- as meta-prefix
Meta, değiştirici anahtarın özel bir halidir . Gibi controlve shift, başka bir tuşla aynı anda basarsınız ve tuşa tek başına basmaktan farklı bir şey görmeyi beklersiniz. X, anahtarın X olayında iletilen değiştirici değerine bir bit atayarak değiştirici anahtarlar sağlar. Tuşa basma birden çok X olayı olabilir; X, değiştiricileri korurken bu olayları birleştirmek için işlevler sağlar.
X ayrıca klavyenizde görünebilecek tuşların her biri için semboller tanımlar. Olayları birleştiren işlevlerde özel işlemlerle diğer değerleri (Unicode gibi) sağlar.
Ancak "meta" özel bir durumdur.
X uygulamalarının metakural dışında bir anahtarı yoktur . X'in meta anahtar veya meta değiştirici için bir tanımı yoktur. Geleneksel olarak terminaller, Alt-key ve / veya xmodmap
örn mod2
. Daha sonraki xkb özelliği, Altanahtarı bulmak için başka bir bilgi katmanı sağlayarak işleri karmaşıklaştırır (ancak bu tartışmaya göre hiçbir iyileştirme sağlamaz) .
Konvansiyon, meta hakkında özellikle hiçbir şey bilmediği xmodmap
veya xkb
bilmediği göz önüne alındığında, sizi şimdiye kadar alabilir . Örneğin, xterm yapılandırılabilir ve tüm kullanıcılar metaları aynı şekilde yapılandırmak istemez . Örneğin , amaçlanan meta anahtar olmayabilir, örneğin kaynakta kullanılıyorsa . Başka bir anahtar meta anahtar olabilir, ancak kullanıcılar (özellikle bash'da kaçış dizileri kullananlar), basıldıklarında bir kaçış karakteri gönderilmesini isteyebilir . Ancak, değiştirici olarak yapılandırılmadığı sürece bunların hiçbirinin gerçekleşmeyeceğini unutmayın: xterm olayları tek başına birleştirmez.Alttranslation
Alt
xterm çeşitli kaynak ayarlarına sahiptir ( manuel sayfada belgelenmiştir ):
altIsNotMeta
ve altSendsEscape
( 2007'de eklendi ).
eightBitInput
2006'dan beri orijinal meta mod hissine karşılık gelir ve bunun için smm
ve rmm
(meta modu ayarla / kaldır) terminal yeteneklerini sağlayan bir kaçış dizisi vardır .
eightBitInput
modifiye edilmiş 2003 yerine çiğ girdi bayt'tan 128 tarafından deşifre Unicode değerleri kaydırarak dikkate UTF-8 çekin.
metaSendsEscape
1999 tarihleri
eightBitInput
daha yaşlı metaSendsEscape
. Bu, meta mod (sekizinci bitin eklenmesi) veya escapeX11R4'ten (1989) beri bir tuşun ön eki arasında bir seçim gerçekleştirdi . Ancak özellik başlangıçta belirlendi: Başlatma sırasında girişin 8 bit veya sadece 7'ye izin verecek şekilde ayarlanıp ayarlanmadığı kontrol edildi. Bundan sonra değişmedi.
Bazı insanlar ikisini ( 8. bit ve kaçış öneki) eşitler, ikincisine meta mod olarak bahseder . Konuya ilişkin bakış açınıza bağlı olarak eightBitInput
, xterm'in kaynak ayarı, uygulanabilir bir meta anahtar elde etmenin çözümünün bir parçasıdır.
Daha fazla okuma:
MENU
anahtar bile X tarafından fark? Hangi pencere yöneticisini kullanıyorsunuz - bazıları anahtarlarınızı yeniden tanımlamanıza yardımcı olabilir.