NetBSD Konsolunda Turkce Klavyenin Kullanilmasi. ------------------------------------------------ Bu yazinin sonunda eger hersey yolunda giderse NetBSD konsolunda Turkce klavyemizi sorunsuzca kullanabilecegiz. Direk NetBSD cekirdegine mudahalede bulunacagimiz icin bazi seyler ters giderse zor durumda kalmamak icin yedeklerinizi aliniz. NetBSD cekirdegini nasil derleyecegimizi ogrenmek icin ve cekirdek hakkinda bilgi sahibi olmak icin "NetBSD Kernel FAQ" okumanizda fayda var. http://netbsd.org/Documentation/kernel/ NetBSD'yi bir masaustu yoneticisi ile kullanacaksak zaten XFree86'nin konfigurasyon dosyasina Option "XkbLayout" "tr" satirini ekledigimizde X'de Turkce klavyemizi kullanabiliriz. Bilindigi gibi OpenBSD cekirdeginde Turkce klavye destegi mevcut. Bizde OpenBSD ve NetBSD kodlarini karsilastirarak NetBSD'mizde Turkce klavyemizi kullanabiliriz. http://www.netbsd.org/Documentation/wscons/ adresindeki NetBSD'nin desteklemedigi klavyeleri calistirabilmemiz icin kurcalayacagimiz kodlar sys/dev/wscons/wsksymdef.h sys/dev/pckbport/wskbdmap_mfii.c dosyalaridir. OpenBSD 3.8'in kodlarindaki sys/dev/wscons/wsksymdef.h sys/dev/wscons/wskbdutil.c sys/dev/pckbc/wskbdmap_mfii.c sys/dev/usb/ukbdmap.c ile NetBSD 3.0'in kodlarindaki sys/dev/wscons/wsksymdef.h sys/dev/wscons/wskbdutil.c sys/dev/pckbport/wskbdmap_mfii.c sys/dev/usb/ukbdmap.c karsilastirip olusturdugum patch dosyalarini NetBSD cekirdek kaynak koduna uygulayip, cekirdek konfigurasyon dosyamiza options PCKBD_LAYOUT="(KB_TR)" ozelligini ekleyip derledigimizde, turkce klavyemizi kullanabilecegiz. ftp://ftp.enderunix.org/pub/OpenBSD/3.8/sys.tar.gz adresinden OpenBSD3.8'in cekirdek kaynak kodlarini indirelim. # mkdir /usr/openbsd # cd /usr/openbsd # tar xfvz ${DOWNLOAD_DIR}/sys.tar.gz NetBSD kodlarimizin /usr/src dizini altinda oldugunu varsayiyorum. # cd /usr/src/sys/dev/wscons/ # cp /usr/openbsd/sys/dev/wscons/wsksymdef.h wsksymdef.h.openbsd # diff -u wsksymdef.h wsksymdef.h.openbsd > test1.diff # patch < test01.diff # cp /usr/openbsd/sys/dev/wscons/wskbdutil.c wskbdutil.c.openbsd # diff -u wskbdutil.c wskbdutil.c.openbsd > test2.diff # patch < test2.diff # cd ../pckbport/ # cp /usr/openbsd/sys/dev/pckbc/wskbdmap_mfii.c wskbdmap_mfii.c.openbsd # diff -u wskbdmap_mfii.c wskbdmap_mfii.c.openbsd > test3.diff # vi wskbdmap_mfii.c kodundaki #includesatirini #include degistirelim. yada asagidaki patch'i test4.diff olarak kaydedip uygulayalim. --- wskbdmap_mfii.c 2005-11-29 01:57:54.000000000 +0200 +++ wskbdmap_mfii.c.1 2005-11-29 02:01:32.000000000 +0200 @@ -47,7 +47,7 @@ #include #include #include -#include +#include #define KC(n) KS_KEYCODE(n) # patch < test4.diff # cd ../usb/ # cp /usr/openbsd/sys/dev/usb/ukbdmap.c ukbdmap.c.openbsd # diff -u ukbdmap.c ukbdmap.c.openbsd > test5.diff # patch < test5.diff # cd /usr/src/sys/arch/i386/conf/ # vi GENERIC cekirdek konfigurasyon dosyamiza options PCKBD_LAYOUT="(KB_TR)" satirini ekleyelim. # config GENERIC # cd ../compile/GENERIC # make depend # make # cp /netbsd /netbsd.old # mv netbsd / # shutdown -r now bilgisayarimizi yeniden baslattigimizda Turkce klavyeniz calisacaktir. Ekte olusturdugum patch dosyalari vardir, patchleri gerekli yerlere koyup uygulayabilirsiniz yada kendiniz de yukaridaki gibi olusturabilirsiniz. "Patchlerin Adresi" Yapilmasi Dusunulenler: 1 - patchleri daha derli toplu hale getirmek. 2 - bastigimizda konsolda goruntulenmeyen karakterleri goruntulemek (s ve yumusak g) 3 - NetBSD'nin tamamen Turkce'yi desteklemesini saglamak icin girisimde bulunmak. Kaynaklar: 1 - http://mail-index.netbsd.org/tech-kern/2005/07/01/0001.html 2 - http://www.netbsd.org/Documentation/wscons/ Eger bu yazi icin bir lisans gerekiyosa en cok hosuma giden beerware license'dir. Baybars Uzunoglu baybarsuNOSPAM_@_gmail.com