Good evening!
I developed a custom textbox from scratch (inheriting Windows.Forms.Control only).
All working fine! (selections, cursors, commands, text scrolling, etc)
my problem is to map the keyboard correctly. I wrote a class (key x value) for identify the keyboard;
Well, the problem is: the map of keyboard is totally manually, like this example of ABNT layout
Public Class KeyboardLayoutAbnt2
Inherits KeyboardLayout
#Region "Methods"
Private Sub SetKeys()
Call Add(New KeyEntry(Keys.D1, "1", "!", "¹"))
Call Add(New KeyEntry(Keys.D2, "2", "@", "²"))
Call Add(New KeyEntry(Keys.D3, "3", "#", "³"))
Call Add(New KeyEntry(Keys.D4, "4", "$", "£"))
Call Add(New KeyEntry(Keys.D5, "5", "%", "¢"))
Call Add(New KeyEntry(Keys.D6, "6", "¨", "¬"))
Call Add(New KeyEntry(Keys.D7, "7", "&"))
Call Add(New KeyEntry(Keys.D8, "8", "*"))
Call Add(New KeyEntry(Keys.D9, "9", "("))
Call Add(New KeyEntry(Keys.D0, "0", ")"))
Call Add(New KeyEntry(Keys.NumPad1, "1", "!", "¹"))
Call Add(New KeyEntry(Keys.NumPad2, "2", "@", "²"))
Call Add(New KeyEntry(Keys.NumPad3, "3", "#", "³"))
Call Add(New KeyEntry(Keys.NumPad4, "4", "$", "£"))
Call Add(New KeyEntry(Keys.NumPad5, "5", "%", "¢"))
Call Add(New KeyEntry(Keys.NumPad6, "6", "¨", "¬"))
Call Add(New KeyEntry(Keys.NumPad7, "7", "&"))
Call Add(New KeyEntry(Keys.NumPad8, "8", "*"))
Call Add(New KeyEntry(Keys.NumPad9, "9", "("))
Call Add(New KeyEntry(Keys.NumPad0, "0", ")"))
Call Add(New KeyEntry(Keys.Divide, "/", ""))
Call Add(New KeyEntry(Keys.Multiply, "*", ""))
Call Add(New KeyEntry(Keys.Subtract, "-", ""))
Call Add(New KeyEntry(Keys.Add, "+", ""))
Call Add(New KeyEntry(Keys.Decimal, ".", ""))
I want to create the control using the key handling from the windows because in the future i'll try to implement the IME.
Please, anyone can help me with this challenge. I'm losing all my hairs