473,657 Members | 2,591 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

Replace the keys on the keyboard

Hi

Can anyone help. I would like to replace the keys on the PC keyboard. For
example, when I press Q button it displays A on the screen in any programs
(MS Words, Note, Lotus....). And also when I press Ctrl + W button, it
displays G on the screen. I would like to make the keyboards configurable.

Should I write a Windows Service? Any suggestions would really appreciate.

Please help. Thanks.
Regards
Melson
Jun 13 '06 #1
4 4155
"Melson" <we****@hotmail .com> wrote:
Can anyone help. I would like to replace the keys on the PC keyboard. For
example, when I press Q button it displays A on the screen in any programs
(MS Words, Note, Lotus....). And also when I press Ctrl + W button, it
displays G on the screen. I would like to make the keyboards configurable.

Should I write a Windows Service? Any suggestions would really appreciate.


Three suggestions for you to look at:

(1) SetWindowsHookE x() with WH_KEYBOARD_LL for a low-level keyboard hook
(this requires an application with a message loop running on the desktop
of the user it affects).

(2) Write a Windows keyboard layout with the MS Keyboard Layout Creator
(http://www.microsoft.com/globaldev/tools/msklc.mspx).

(3) Install a keyboard filter driver into the kernel, and have your
configuration program communicate with it somehow. Check out
http://www.sysinternals.com/Utilities/Ctrl2Cap.html for techniques for
this (source is on the site, DDK needed IIRC). I wouldn't recommend this
method, since it could compromise the stability of the system.

I personally use (1), an application I wrote to simulate the Dvorak
keyboard layout for use with public PCs which don't allow permission to
change the keyboard layout. The catch with (1) is that some of the key
information you get depends on the current keyboard layout.

-- Barry

--
http://barrkel.blogspot.com/
Jun 13 '06 #2
If you are only building a simple project using a winform. I would suggest
you to use the MenuStrip control with the ShortcutKeys preperty. Somehow
hide the menu if you want.

chanmm

"Melson" <we****@hotmail .com> wrote in message
news:el******** ******@TK2MSFTN GP02.phx.gbl...
Hi

Can anyone help. I would like to replace the keys on the PC keyboard. For
example, when I press Q button it displays A on the screen in any programs
(MS Words, Note, Lotus....). And also when I press Ctrl + W button, it
displays G on the screen. I would like to make the keyboards configurable.

Should I write a Windows Service? Any suggestions would really appreciate.

Please help. Thanks.
Regards
Melson

Jun 13 '06 #3
"Melson" wrote:
Can anyone help. I would like to replace the keys on the PC keyboard. For
example, when I press Q button it displays A on the screen in any programs
(MS Words, Note, Lotus....). And also when I press Ctrl + W button, it
displays G on the screen. I would like to make the keyboards configurable.


You can use a global keyboard hook WH_KEYBOARD_LL to monitor for keyboard
input across all applications. When you receive a specific key event in
which you are interested, you can suppress that event, then send your own
keyboard event.

We offer a .NET component FREE for non-commercial use that will handle all
of this for you:

http://www.mini-tools.com/goto/input

--
Timm Martin
Mini-Tools
..NET Components and Windows Software
http://www.mini-tools.com

Jun 13 '06 #4
Hi Everyone

Thanks very much for your helpful suggestions. I'll do a search and start
working on that. Thanks.

Regards
Melson
"Melson" <we****@hotmail .com> wrote in message
news:el******** ******@TK2MSFTN GP02.phx.gbl...
Hi

Can anyone help. I would like to replace the keys on the PC keyboard. For
example, when I press Q button it displays A on the screen in any programs
(MS Words, Note, Lotus....). And also when I press Ctrl + W button, it
displays G on the screen. I would like to make the keyboards configurable.

Should I write a Windows Service? Any suggestions would really appreciate.

Please help. Thanks.
Regards
Melson

Jun 15 '06 #5

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

9
2515
by: skearney | last post by:
When I was in boy scouts, as part of learning Morse code, I was told that the inventor of the typewriter originally put the letter 'e' under the left middle finger, just below its present position. The typist was often too fast and the print bars would jam. I heard the same story when I took a typing class. This led me to wonder if 't' might have been moved from the home row for the same reason. 'E is dit and T is dash, under middle...
13
2758
by: Steve Jorgensen | last post by:
Well, it seems that Microsoft, or whatever powers that be have decided it's time for us to have yet another standard keyboard layout change. I think I see that the point of this one was to reduce the space occupied by the keys on the right, so the reach to the mouse is not so bad, but the way they chose to do it? Ah - I see. Since most of what we type will simply be deleted at some point, let's make sure the Delete key is big and easy...
5
21067
by: nx-2000 | last post by:
I've got a very large C# forms app and now that its being used in bigger environments we're getting a steady stream of "why does it do this?" problems. The most nagging of which right now is that when a MessageBox.Show() is displayed, if the user hits enter or esc, those keys get passed back to the form. From searching online, this is apparently by design(for whom, I don't know, why its not optional, I _really_ don't know). This...
2
3311
by: Marc Robitaille | last post by:
Hello, I think it is a easy question but I don't have any clue how to do it...Is it possible to replace the char that a user type in a textbox with an other one in the OnKeyPress methode? My textbox support 4 numbers types: 1-Integer 2-Decimal 3-Currency 4-Percent
0
2744
by: neonspark | last post by:
I'm buidling some simple macro functionality for my app so the users can record a sequence of keyboard inputs and replay them reliably via some menu. Originally, I used: protected override bool ProcessCmdKey(ref Message msg, Keys keyData) To map "Keys" objects to their string constant, and stored them on a string Queue as they were happening. Then (after resetting the form), I simulate replaying of these actions by flushing the queued...
2
1431
by: Frank | last post by:
In a dialog box procedure is there a way to determine if keyboard input is from the keypad or the arrow keys? I need to know if the input is from the main keyboard keys. Thanks
1
4603
by: Damir | last post by:
Hallo everybody Does anyone knows how to access Keyboard buffer? At the moment I'm catching KeyDown event of the form, and waiting for carrige return or return key, but sometimes the Keyboard scanner doesn't send those keys, so I would like to wait so long until keyboard buffer is empty. Any helb will be appriciated
8
5293
by: BD | last post by:
How can I duplicate the behavior of the operating system shortcut keys in my application? For example, my windows form has 5 controls (textboxes), the operating system will pickup which control has the focus and handle ctrl-c, ctrl-v, or any other shortcuts. I have the same shortcuts working in my app, but have not determined how to find out which control has focus. Would I set up a loop or code for each control at form level. Any help...
2
3779
by: John | last post by:
where are the following key codes in System.Windows.Forms.Keys : ; * = . , ' " thanks
0
8392
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However, people are often confused as to whether an ONU can Work As a Router. In this blog post, we’ll explore What is ONU, What Is Router, ONU & Router’s main usage, and What is the difference between ONU and Router. Let’s take a closer look ! Part I. Meaning of...
0
8823
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers, it seems that the internal comparison operator "<=>" tries to promote arguments from unsigned to signed. This is as boiled down as I can make it. Here is my compilation command: g++-12 -std=c++20 -Wnarrowing bit_field.cpp Here is the code in...
0
8730
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven tapestry of website design and digital marketing. It's not merely about having a website; it's about crafting an immersive digital experience that captivates audiences and drives business growth. The Art of Business Website Design Your website is...
1
8503
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows Update option using the Control Panel or Settings app; it automatically checks for updates and installs any it finds, whether you like it or not. For most users, this new feature is actually very convenient. If you want to control the update process,...
0
7321
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing, and deployment—without human intervention. Imagine an AI that can take a project description, break it down, write the code, debug it, and then launch it, all on its own.... Now, this would greatly impact the work of software developers. The idea...
1
6163
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new presenter, Adolph Dupré who will be discussing some powerful techniques for using class modules. He will explain when you may want to use classes instead of User Defined Types (UDT). For example, to manage the data in unbound forms. Adolph will...
0
4151
by: TSSRALBI | last post by:
Hello I'm a network technician in training and I need your help. I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs. The last exercise I practiced was to create a LAN-to-LAN VPN between two Pfsense firewalls, by using IPSEC protocols. I succeeded, with both firewalls in the same network. But I'm wondering if it's possible to do the same thing, with 2 Pfsense firewalls...
0
4301
by: adsilva | last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?
2
1607
bsmnconsultancy
by: bsmnconsultancy | last post by:
In today's digital era, a well-designed website is crucial for businesses looking to succeed. Whether you're a small business owner or a large corporation in Toronto, having a strong online presence can significantly impact your brand's success. BSMN Consultancy, a leader in Website Development in Toronto offers valuable insights into creating effective websites that not only look great but also perform exceptionally well. In this comprehensive...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.