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
#include
satirini
#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