Archive for March, 2008

Remap Laptop Keyboard

Monday, March 10th, 2008

Laptop lenovo gue mempunyai kelemahan yang fatal, yaitu keyboard layout. Bagi programmer tombol home dan end adalah tombol yang akan sering-sering digukana apalagi ketika koding cepat di butuhkan. Laptop Lenovo N3000 meletakan kedua tombol itu disatuin dengan page up dan page down, jadi untuk menekan tombol home atau end harus dibarengi dengan tombol fungsi (fn), tentu ini sangat-sangat tidak praktis, dan mengganggu kecepatan koding.

Setelah googling dapat caranya untuk me-remapping key-key sesuai dengan kemauan kita. Cara yang paling mudah adalah menggunakan applikasi, salah satunya keytweak.

Prinsipnya adalah menyuruh windows untuk mengganti tombol scan code ke scan code yang lain.Caranya adalah dengan mengedit registry Scancode Map key dengan menggunakan registry editor aka regedit.

buka key HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout
Jangan salah dengan Keyboard Layouts key dengan s dibelakangnya. tambahkan key Scancode Map, type REG_BINARY isi key itu dengan key yang mau di remap.

Start offset (in bytes) Size (in bytes) Data
0 4 Header: Version Information
4 4 Header: Flags
8 4 Header: Number of Mappings
12 4 Individual Mappings
Last 4 bytes 4 Null Terminator (0×00000000)

contoh kita ingin me maping tombol home ke Alt kanan dan tombol end ke ctrl kanan, datanya sebagai berikut:
00000000 00000000 00000003 38E00047 1DE0004F 00000000

Value Interpretation
0×00000000 Header: Version. Set to all zeroes.
0×00000000 Header: Flags. Set to all zeroes.
0×00000003 Three entries in the map (including null entry).
0×38E00047 Right ALT key –> HOME (0×38EO –> 0×47).
0×1DE0004F Right CTRL key –> END (0×1DEO –> 0×4F).
0×00000000 Null terminator.

untuk mudahnya kita bisa bikin file .reg untuk mengotomatis ngisi registry. bikin file dengan nama file “scancode.reg” terus buka pakai notepad, dan isi dengan sebagai berikut:

REGEDIT4 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout]
"Scancode Map"=hex:00,00,00,00, 00,00,00,00 00,00,00,03, 38,E0,00,47, 1D,E0,00,4F, 00,00,00,00

source:Archive: Scan Code Mapper for Windows