* Nilgün Belma Bugüner <[EMAIL PROTECTED]> [2003-07-02 02:56:53+0300] > Selam,
Selam > Şu delete ile ne sorununuz var? Doğrusu anlamıyorum. Delete tuşu, imlecin > sağındaki > karakteri, Backspace tuşu ise imlecin solundakini siler ve bu hem konsol > klavyesinde > hem de xkb klavyesinde benim hazırladıklarımda sorunsuzdur. > Eğer bir sorun varsa bu Debian ile ilgili olmalı. Sizden başka şikayet eden > yok. Once bazi konularda anlasalim: - Tartisma alanimiz X ortami degil, X konsolu degil, karanlik *konsol* ortami. - "Backscape" derken kursorun solundaki karakterin silinmesi eylemini kastediyoruz. - "Backspace" sozcugunu Ascii set icindeki bir kontrol karakteri olan "BS" ile karistirmayalim. "BS"in ascii karsiligi "0x08"dir ve bunun da karsiligi ^H dir. - "Delete" derken kursorun uzerinde bulundugu karakterin silinmesi eylemini kastediyoruz. - "Delete" sozcugunu Ascii set icindeki bir kontrol karakteri olan (daha acik ifadeyle Ascii setin en son, yani 127nci karakteri) "DEL" ile karistirmayalim. DEL'in ascii karsiligi "0x7f"dir ve bunun da karsiligi ^? dir. - Isleri daha da karistirmak adina ek bilgi: vt220 terminalini emule eden Linux *kernel* tus eslemi "Delete" eylemi icin "\e[3~" kodunu kullanir. - "Backspace" ve "Delete" *eylemlerinin* tanimlandigi sekilde davranmasi bircok faktore baglidir. Linux kernel'in on tanimli tus haritasi, sectiginiz terminal emulasyonuna iliskin terminal database'i (eskiden `termcap', simdilerde `terminfo' ve `ncurses') ve uygulamanin kendi ozel secimleri. Simdi de Linux camiasinda -bir yigin kaosdan sonra- yeni yeni oturmaya baslayan standart davranisi tarif ediyorum (eski standartlarla ilgilenmiyorum), ayrintilar icin [1] kaynagina bakilabilir: - "Backspace" eylemine atanan kontrol karakteri Ascii "DEL"dir. Bakin bunu tekrar yaziyorum, "Backspace" eylemini gerceklemek uzere eslediginiz tusun uretmesi gereken kontrol karakteri Ascii "DEL" yani ^? dir. (Denemek isteyecekler icin ek bilgi: uretilen kontrol karakterini gormenin basit yontemi Ctrl-V tus kombinasyonundan sonra o tusa basmaktir.) Yani klavyede "Backspace" eylemi icin secilen <-- tusuna <C-v> tus kombinasyonundan sonra bastiginizda ^? kodunun uretilmesi gerekir. - "Delete" eylemine atanan kontrol karakteri "\e[3"dur. Bu secim -tutarli veya tutarsiz ayri bir konu- linux cekirdeginden gelen on tanimli kod ile uyumluluk acisindan yapilmistir. Yani <C-v> tus kombinasyonundan sonra piyasadaki PC klavyelerde uzerinde "Delete" yazan tusa bastiginizda "^[[3~" ("\e[3") kodunun uretilmesi gerekir. Eger -uzerinde konustugumuz sorunda oldugu gibi- bu tus *yanlis olarak* "Backspace" eylemini gerceklestiriyor ise muhtemelen ^? kodunu uretecektir. Bu tip yanlislar cogunlukla yukarida bahsettigim karisikliktan kaynaklanir. Yani: Hmmm, "Delete" eylemi icin Ascii set icindeki "DEL" kodunu ("Delete" sembolunu) atamaktan daha dogal ne olabilir.... Ve booom! :-) - Bir dagitim "Delete" ve "Backspace" hadiselerine bir de Ascii "BS"i yani ^H yi karistiriyorsa intihar etmis demektir. Redhat zamaninda boyle bir intihar girisiminde bulundu (evet, Turkce klavyeden degil kendi US klavyelerinden bahsediyorum :-). Debian ilk surumlerinden itibaren ("Hamm"den sonra) bu hatayi gidermistir. Iste kaynak [1]'den alinti: It's ridiculous that only Debian has done something about this issue. Where's Redhat with their "Product Of The Year 1998"? Linux for the masses? They can't even get the keys right! - "Backspace/Delete" sorununu cozmenin on sarti "<--" tusuna ^? kodunu, "Delete" tusuna da "^[[3~" kodunu eslemektir. Hersey bir yana standartlar umurumda degil diyenler icin dahi en azindan bu iki tusun farkli kodlar uretmesi mantiksal on sarttir. Eger bu standart eslemeler veya farkli eslemeler yapilirsa en azindan konsol'da dogru "Backspace/Delete" eylemleri "bash"in "readline" yapilandirma dosyasi olan "/etc/inputrc"de yapilacak oynamalarla elde edilebilir. (Bir dagitimin dogru eylemler icin boyle bir ayar gerektirmesi utandiricidir. Redhat *bir zamanlar* maalesef boyle bir hataya ducar olmustur.) Simdi bizim klavyelere geliyorum... Dosya: (Nam-i diger Layout 1) tr_q-latin5.kmap.gz Problem: keycode 14: "<--" (Backspace) tusuna "Backspace" sembolu ("BS" kontrol karakteri) atanmis. Bu tus ^H uretiyor. Neyse ki vt220'de ^H geriye dogru sildiginden sorun yok gibi gozukuyor. Tanriya sukur keycode 111: "Delete" tusuna hicbir sey atanmamis ve bu tus icin tanimli kernel tus eslemi overwrite edilmemis. Dolayisiyla dagitim -baska bir ayarla- ekstra bir giciklik yapmaz ise bu tus dogru calisiyor. Imdaat! :-) keycode 16: q icin altgr-q tanimsiz. "@" karakterini basamiyor. Bu sorunun cozumu icin e-mail dahi atmayacaksiniz :-)) Diger kivir zivir problemler... Dosya: (Nam-i diger Layout 2) trq.kmap.gz Problem: keycode 14: "<--" (Backspace), keycode 111: "Delete" tuslarina "Delete" sembolleri (Ascii "DEL") atanmis. her ikisi de ayni kodu: ^? uretiyor ve ayni eylemi ("Backspace eylemini) gerceklestiriyor. Yani cozum icin gerekli asgari on sarti (iki tusun farkli kodlar uretmesi sartini) dahi saglamiyor. Dosya: (Sizin hazirladiginiz trq.kmap eslemi) http://www.belgeler.org/howto/turkish-howto_trq.html Problem: keycode 14: "<--" (Backspace) tusuna "Delete" sembolu ("BS" kontrol karakteri) atanmis. ^? uretiyor, yani dogru calisiyor. keycode 111: "Delete" tusuna da "Delete" sembolu atanmis. Yani bu tus da ayni ^? kodunu uretiyor. Her iki tus ayni kodu urettiginden cozum icin gerekli asgari sart yok! Sizin tuseslemini Debian'da denedim, diger dagitimlarda deneme firsatim olmadi. Fakat amacim mumkun oldugu nispette dagitimdan bagimsiz sekilde bu problem icin cozum uretmek oldugundan sadece Debian ornegi yeterlidir diye dusunuyorum. Bu sorunu tek benim yasadigimi, kimsenin dillendirmedigini soylemissiniz. Kullandiginiz dagitim otomatik olarak bu basit problemi spotlayip bir ilklendirme betiginde duzeltiyor olabilir (zor birsey degil bunu yapmak). Fakat kendi dilinize ait klavyenin "Backspace/Delete" islerinde dogru calismasi kullandiginiz dagitimin mudahalesine kalmis ise vay halimize! Su ana kadar Turkce klavyede "Backspace/Delete"i adam gibi calisan bir dagitima rastlamadim. Bilemiyorum biraz da dinozor oldugumdan yeni dagitimlarda ne olup bittigini takip edemiyor da olabilirim. En son bu sorunlari FM'den Kivilcim ile konusmus idik, o da Klaus Knopper'a duzeltilmis bir trq eslemi gonderdi. Eger Knoppix'de bu meseleyle karsilasmayanlar var ise sagolsun Kivilcim'in sayesindedir. Cevabiniz uzerine Redhat'i esas alan Mandrake 9.1'de deneme yaptim. Problem ayniyla vaki... Listedeki arkadaslar bu anlattiklarim isiginda Debian ve diger dagitimlar uzerinde deneme yapip sonuclari raporlayabilir mi acaba? [1] http://igloo.its.unimelb.edu.au/Webmail/tips/msg00238.html -- roktas