flat assembler
Message board for the users of flat assembler.

Index > Windows > Windows keyboard layout, reverse engineered with fasm

Thread Post new topic Reply to topic
Grom PE

Joined: 13 Mar 2008
Posts: 114
Location: i@grompe.org.ru
Grom PE 26 May 2016, 15:49
I have reverse engineered the Windows keyboard layout format, found in files C:\Windows\System32\kbd*.dll.

Initially I wanted to add easy typing of symbols like —, á, ∞ but then decided to get as much usability as I can from the layouts.

The result? Layout that can switch between English and Russian keyboard with Caps Lock, globally across all applications, showing current language with Caps Lock LED, and with ability to type a whole bunch of additional symbols.

As well as keyboard layout format described in flat assembler source.
And for extra fun, a disassembler that turns a layout dll into source file.

With this, you can freely customize and improve your Windows keyboard layouts!

Published as public domain on https://github.com/grompe/kbdasm

The keyboard layout source found in kbdusru_undead.asm has all structures of the layout format mapped, makes use of UTF-8, and is hopefully more-or-less understandable for customizing. Even if you're not bilingual you can benefit from being able to type Unicode symbols easily.

The disassembler found in diskbd.bat is full of tricks to make fasm read a binary format and produce a text file. I had to write several macros to make it work. I think this forum will find it the most interesting of this package.
Post 26 May 2016, 15:49
View user's profile Send private message Visit poster's website Reply with quote

Joined: 22 Apr 2008
Posts: 90
Location: U.S.A.
TheRaven 27 May 2016, 21:51
Sick, twisted, wonderful.

I'll have to check it out - keyboard bs is my bane and some new content should help me cope a bit more easily. Such is the struggle for those whom wish to develop low-level file editors.
Post 27 May 2016, 21:51
View user's profile Send private message Reply with quote
Display posts from previous:
Post new topic Reply to topic

Jump to:  

< Last Thread | Next Thread >
Forum Rules:
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum

Copyright © 1999-2023, Tomasz Grysztar. Also on GitHub, YouTube.

Website powered by rwasa.