Jump to content

2nd keyboard with custom key mappings?


Recommended Posts

i just had and idea and don't know if anyone is doing it or if its even technically possible in windows.

 

i'd like to plug in a second keyboard BUT on the second keyboard i want to remap all the keys to DCS commands, LCtrl+C for example. then i would physically label that key 'canopy' for example

 

 

does anyone make software that allows that? i'm not even sure windows can differentiate between keyboard so not sure if its possible

My kit: i7-4790K@4GHz / 8GB - GTX 980ti + rift CV1 - X52 pro - Multi Keyboard Remapper - 2DOF motion sim (in development)

Link to comment
Share on other sites

Windows will see all keyboards as keyboards. However, if your second keyboard was a fully programmable one, and different from the first, it should work.

ASUS ROG Maximus VIII Hero, i7-6700K, Noctua NH-D14 Cooler, Crucial 32GB DDR4 2133, Samsung 950 Pro NVMe 256GB, Samsung EVO 250GB & 500GB SSD, 2TB Caviar Black, Zotac GTX 1080 AMP! Extreme 8GB, Corsair HX1000i, Phillips BDM4065UC 40" 4k monitor, VX2258 TouchScreen, TIR 5 w/ProClip, TM Warthog, VKB Gladiator Pro, Saitek X56, et. al., MFG Crosswind Pedals #1199, VolairSim Pit, Rift CV1 :thumbup:

Link to comment
Share on other sites

Hey I use a second mini keyboard which I stuck on labels to resemble the UFC:

 

picture.php?albumid=506&pictureid=3428

 

Tried a few different programs but no good, the only way I got it to work was using the pinky on my stick as a modifier. A few of us tried HID Macros program but it didn't work, check out my old thread, there were a few programmes but honestly the pinky was the best for me:

 

http://forums.eagle.ru/showthread.php?t=72001

Link to comment
Share on other sites

Hey I use a second mini keyboard which I stuck on labels to resemble the UFC:

 

picture.php?albumid=506&pictureid=3428

 

Tried a few different programs but no good, the only way I got it to work was using the pinky on my stick as a modifier. A few of us tried HID Macros program but it didn't work, check out my old thread, there were a few programmes but honestly the pinky was the best for me:

 

http://forums.eagle.ru/showthread.php?t=72001

 

interesting idea about the pickey switch, i'll try that, thanks

My kit: i7-4790K@4GHz / 8GB - GTX 980ti + rift CV1 - X52 pro - Multi Keyboard Remapper - 2DOF motion sim (in development)

Link to comment
Share on other sites

...

Tried a few different programs but no good, the only way I got it to work was using the pinky on my stick as a modifier. A few of us tried HID Macros program but it didn't work, check out my old thread, there were a few programmes but honestly the pinky was the best for me

 

The problem with external programs is that they, like Windows itself, don't have anyway of differentiating keystrokes from different keyboard devices.

 

If the second keyboard is something like a Razor Blackwidow, where each key can be programmed 'internally' with the Razor software, then the second keyboard solution should work. I say should because I have never tried it, but I see no reason why it would not work.

ASUS ROG Maximus VIII Hero, i7-6700K, Noctua NH-D14 Cooler, Crucial 32GB DDR4 2133, Samsung 950 Pro NVMe 256GB, Samsung EVO 250GB & 500GB SSD, 2TB Caviar Black, Zotac GTX 1080 AMP! Extreme 8GB, Corsair HX1000i, Phillips BDM4065UC 40" 4k monitor, VX2258 TouchScreen, TIR 5 w/ProClip, TM Warthog, VKB Gladiator Pro, Saitek X56, et. al., MFG Crosswind Pedals #1199, VolairSim Pit, Rift CV1 :thumbup:

Link to comment
Share on other sites

Logitech G13. Really nice

i9 9900K @ 5.1Ghz - ASUS Maximus Hero XI - 32GB 4266 DDR4 RAM - ASUS RTX 2080Ti - 1 TB NVME - NZXT Kraken 62 Watercooling System - Thrustmaster Warthog Hotas (Virpil Base) - MFG Crosswind Pedals - Pimax 5K+

VFA-25 Fist Of The Fleet

Link to comment
Share on other sites

Logitech G13. Really nice

 

They are nice. I have one, as well as an Orbweaver and an XKeys keyboard, along with several programmable full keyboards. The choice would have a lot to do with space, budget and just how many buttons you want.

ASUS ROG Maximus VIII Hero, i7-6700K, Noctua NH-D14 Cooler, Crucial 32GB DDR4 2133, Samsung 950 Pro NVMe 256GB, Samsung EVO 250GB & 500GB SSD, 2TB Caviar Black, Zotac GTX 1080 AMP! Extreme 8GB, Corsair HX1000i, Phillips BDM4065UC 40" 4k monitor, VX2258 TouchScreen, TIR 5 w/ProClip, TM Warthog, VKB Gladiator Pro, Saitek X56, et. al., MFG Crosswind Pedals #1199, VolairSim Pit, Rift CV1 :thumbup:

Link to comment
Share on other sites

I remember someone on the forums posting this a while ago(razer orbweaver with relegendable keycaps).

It's a good idea, however not as cheap as a spare old keyboard.....

 

 

LuaMacros might work http://www.hidmacros.eu/forum/viewtopic.php?f=10&t=241#p794

 

 

d7ZCZst.jpg

rLZmUjK.jpg


Edited by TomOnSteam

---------------------------------------------------------------------------------

Cockpit Spectator Mode

Link to comment
Share on other sites

The problem with external programs is that they, like Windows itself, don't have anyway of differentiating keystrokes from different keyboard devices.

 

HidMacros (no longer developed/supported) recognize each keyboard with individual ID, so the key press send is recognized individually by Windows.

This work OK for FSX, but not in DCS due the way this soft handle keyboard inputs.

Link to comment
Share on other sites

HidMacros (no longer developed/supported) recognize each keyboard with individual ID, so the key press send is recognized individually by Windows.

This work OK for FSX, but not in DCS due the way this soft handle keyboard inputs.

 

interesting. i have written programs for input and output emulation before, maybe i'll take a crack at writing a simple 2nd keyboard remapping tool. looks like several people might be interested in trying it.

 

this is interesting

https://autohotkey.com/board/topic/81216-distinguish-two-keyboards-what-works-best-as-of-now/

 

and this

http://stackoverflow.com/questions/31224761/how-to-write-a-program-that-intercepts-input-before-it-reaches-the-kernel

http://www.oblita.com/interception.html


Edited by steve2112

My kit: i7-4790K@4GHz / 8GB - GTX 980ti + rift CV1 - X52 pro - Multi Keyboard Remapper - 2DOF motion sim (in development)

Link to comment
Share on other sites

Autohotkey was another I tried, the problem I found was each time you plugged in your keyboard or started your machine it was called something different, I dont know much about it, perhaps it was the Interrupt Request thing that USBs use, one day it could be 1HIDKeyboard the next 20HIDKeyboard....but I could never tell the PC and HID Macros, this is the keyboard HID Macros should be converting.

 

I think I also tried PS2 and USB but none of the macro devices would find the correct keyboard after I turned it off, meant you had to reprogram every time, twice was too much!

Link to comment
Share on other sites

that inception thing i linked above looks interesting, easy to use and current so i'm going to break out my MSVC and do a bit of coding, see if i can get a simple example to work in DCS.

My kit: i7-4790K@4GHz / 8GB - GTX 980ti + rift CV1 - X52 pro - Multi Keyboard Remapper - 2DOF motion sim (in development)

Link to comment
Share on other sites

Making it would be easy, if you could rewrite a generic driver for the second keyboard that was easily editable for naming purposes.

Changing the class is probably the best option.

I found some posts about it.

http://eleccelerator.com/tutorial-about-usb-hid-report-descriptors/

Some did it with a 3dConnection Spacenavigator by changing 2 bits in the driver.

http://www.3dconnexion.com/forum/viewtopic.php?t=336

 

128 key joypad anyone?

If I could code, I would have a crack at it..

Anything with a Rotary Wing is fun and challenging.

Use SRS radio.

Saitek X55 Modding

System Specs

 

Mixed Metals: i7 4790K@4.6, 32GB Kingston HyperX ram@2400Mhz, Gigabyte GA-Z97MX Gaming 5, ASUS Vega 64, 3xSamsung SSD drives, FSP Aurum 1000W PSU, Custom watercooling with EK blocks, Vive, Virpil MT 50, X55 throttle.

 

Link to comment
Share on other sites

Some time ago I bought a generic number pad on the cheap thinking that I will be able to remap all the buttons to whatever I want. The problem is that DCS doesn’t differentiate between my standard keyboard and number pad and see both as one. So I started digging.

 

First I found HIDmacros to be able to map key bindings separately between different keyboards which was great and it worked great in my desktop apps but not in DCS. Thing is what was happening in DCS is that I was getting double presses. For each keystroke I was getting original button binding and the custom from Hidmacros. It seems that DCS is reading the keyboard processes at low level which Hidmacros is not able to block. Bummer.

 

However the author of Hidmacros stopped development this software a while ago and instead created Luamacros which is purely script based without any friendly GUI.

 

At the moment I had no chance to try if Luamacros will work properly with DCS partly because I’m not so great when it comes to writing code. Anyone had any experience with Luamacros ?


Edited by wasyl00

[sIGPIC][/sIGPIC]

Windows 10 Pro x64, Asus PG279Q, i7-6700K, Nvidia GTX1080TI, 16GB DDR4, 1TB SSD, TM Warthog, Saitek Combat Pro Rudder Pedals, TIR5+Trackclip

Link to comment
Share on other sites

good news, i just wrote a little app using interception so map my x key to g key on the second keyboard only and it works in DCS, so the rest of it is just a SMOP (simple matter of programming). i'll write a tool to allow a second keyboard to be remapped to any keys you want. should only take a couple of days i hope.

 

only glitch is, i read his license docs and i'm not sure but looks like i'm supposed to pay him $2200 license fee to use it. i need to re read all the legalese i guess. can't be bothered right now.

  • Like 1

My kit: i7-4790K@4GHz / 8GB - GTX 980ti + rift CV1 - X52 pro - Multi Keyboard Remapper - 2DOF motion sim (in development)

Link to comment
Share on other sites

...to pay him $2200 license fee to use it...

 

 

wow thats a lot! but maybe for commercial use?


Edited by wasyl00

[sIGPIC][/sIGPIC]

Windows 10 Pro x64, Asus PG279Q, i7-6700K, Nvidia GTX1080TI, 16GB DDR4, 1TB SSD, TM Warthog, Saitek Combat Pro Rudder Pedals, TIR5+Trackclip

Link to comment
Share on other sites

yep, i noticed that too. none commercial looks ok, GPL license. i guess i'll be giving it away anyhow.

 

i'm not going to make it too clever then, with a config tool, keyboard labels printer, etc. i'll make it with a simple text basic mapping file and figure out how to print your own keyboard labels. there must be a MS word template around for that somwehere?

  • Like 1

My kit: i7-4790K@4GHz / 8GB - GTX 980ti + rift CV1 - X52 pro - Multi Keyboard Remapper - 2DOF motion sim (in development)

Link to comment
Share on other sites

Here is the very first release of my multi keyboard remapper.

http://2112design.com/downloads/remapper0.001.zip

 

For the latest updated notes and stuff, see http://www.2112design.com/blog/multi-keyboard-remapper/. I don't feel like updating this for every change.

 

This tools allows you to plug in a second keyboard (and maybe more, I've not tried it), and re-map any key to any other key on the second keyboard only, i.e. no messing up your primary keyboard. The remapped keys can be shifted, controlled, alt'ed, windows'ed with either left or right side meta keys. This tool should work for any application or game. It runs for sure on windows 10 64 bit and I assume lower versions of windows (64 bit); no mac, don't ask.

unzip the folder and place it somewhere on your computer.

 

First, you must run install-interception. This tool must be run from an administrator command line. You must run cmd as administrator.

 

The easiest way to do that is in your windows search box, type 'cmd' then right click on it and choose 'Run as administrator. Then cd to where you put the remapper folder. Then run install-interception without arguments to receive instructions.

 

After you install and do the necessary reboot your system, look at the a10c_remapper.txt file. This is an example of what you need to create.

 

Then you need to find the hardware ID for your second keyboard. Easiest way is to run remapper.exe with no args. but here's the thing, YOU MUST TYPE THE COMMAND FROM THE KEYBOARD YOU WANT TO REMAP. It will print the hardware ID of the keyboard you hit enter on. Note that you do not need to run cmd as admin for remapper to work, so a standard cmd shell is ok.

 

Then right click in the cmd window and select 'Mark', then select that hardware ID, then Ctrl-C to copy it.

 

Next, create a .txt config file or edit mine. The first line MUST be the hardware id. So paste your hardware id into the first line. See a10c_remapper.txt for an example.

 

The lines following the hardware id are key mappings for that keyboard. The format is simple

input_key remapped_key comment

Where:

 

- input_key is almost any key on your keyboard, except Print screen, Pause, Escape, Function and Num lock. The format is taken from the here [ame]http://en.wiki.eagle.ru/w/images/2/21/Dcsa10c-keybindings.pdf[/ame]

NOTE YOU CANNOT ENTER THINGS LIKE 'S-B' IN REMAPPER ON THE LEFT SIDE. Only one press, unmodified keys are supported as an input key.

 

- remapped_key is the key you want to output, i.e. remap to. Again, the format is taken from [ame]http://en.wiki.eagle.ru/w/images/2/21/Dcsa10c-keybindings.pdf[/ame]

Left Shift S-

Right Shift rS-

Left Meta/Alt A-

Right Meta/Alt rA-

Left Control C-

Right Control rC-

Left Windows W-

Right Windows rW-

note that i’m lazy, you can do combinations of shift, ctrl, etc but they must be in the sequence, shift – control – alt – windows, so for example, in DCS a10c, View enemies mode rC-rS-End, the remap must be entered as rS-rC-End.

 

- comment is not used but maybe someone might make something to create a printable keyboard label sheet based on this data. If interested, let me know, i'll send you the source code to what I have.

 

So, to run the remapper, simple type 'remapper.exe a10c_remapper.txt' (you can make a .bat file to make it faster)

 

Then you can test by opening notepad or something and hit a key on your remapped keyboard and you should see the new keys come up. You should also see that the same key on your main keyboard is what is should be. For testing like this, stick to remapps that use only unmodified or shifted keys since ctrl and alt will not show up in notepad.

 

Notice that if you didn't add a remap a key to the config file on your remap keyboard, the key will act as normal.

 

Then that's it, open DCS and your old keyboard that you've had laying in a scrap parts box for years, can see new life as a DCS input device. remapper will work for any game or program by the way, not just DCS, its a general purpose remapper.

 

I just put this together since 9am this morning and its 5:30 now, so not a lot of testing has gone into it, but based on the price, I figure you can't complain. Just reply to the thread if you need me to fix something. I've barely used it myself yet, but don't plan to make a career out of this, so don't expect too much.

 

Note that this project is based on http://www.oblita.com/interception.html. This package does all the magic shit, I just put a control application and config format together.

 

 

 

Steve


Edited by steve2112
  • Like 1

My kit: i7-4790K@4GHz / 8GB - GTX 980ti + rift CV1 - X52 pro - Multi Keyboard Remapper - 2DOF motion sim (in development)

Link to comment
Share on other sites

Here is the very first release of my multi keyboard remapper......

 

Steve

 

Steve that method works like a charm!:thumbup:

 

I followed your guide and can confirm that I was able to bind my numpad almost the way I liked. I also created .bat file to run my config the easy way.

 

Still I have some questions regarding binding.

 

  1. Although buttons like Num1, Num2….Num., Num/, Num*…… etc work without problem I could not bind Enter and Backspace on my numpad. Not sure why. I tried different ways of addressing like Back, Backspace, BSPC but no luck. If there was a list of all keyboard commands.
  2. Would it be possible to instead call buttons by names like above to call them by the number on the device. It would be very easy since the program is displaying numbers when pressed and there is no valid binding on it?

[sIGPIC][/sIGPIC]

Windows 10 Pro x64, Asus PG279Q, i7-6700K, Nvidia GTX1080TI, 16GB DDR4, 1TB SSD, TM Warthog, Saitek Combat Pro Rudder Pedals, TIR5+Trackclip

Link to comment
Share on other sites

try these

NumEnter X test

Backspace Y test

 

works for me. i just put a new version up .002 that shows what config lines were scanned ok so you can check at startup.

 

not sure about using the scancode for key selection, i may make a GUI to make it easier to configure anyhow.

 

by the way 'Backspace on my numpad'?, i don't have that, only the one Backspace key.

 

steve

My kit: i7-4790K@4GHz / 8GB - GTX 980ti + rift CV1 - X52 pro - Multi Keyboard Remapper - 2DOF motion sim (in development)

Link to comment
Share on other sites

try these

NumEnter X test

Backspace Y test

 

works for me. i just put a new version up .002 that shows what config lines were scanned ok so you can check at startup.

 

not sure about using the scancode for key selection, i may make a GUI to make it easier to configure anyhow.

 

steve

 

Thanks for instant reply! I'll test it later when I get home.

 

Also for some reason I had problems with the program reading the config file when I skipped descrition field and went :

 

Num1 F1

Num2 F2

 

Not all buttons were working. But everything was fine when I added anything as description like:

 

Num1 F1 function_1

Num2 F2 function_2

 

Not complaining just reporting possible bug.

 

Anyway this program is great I think this should be sticked or something. It's the only method I know that allows mapping several keyboards for DCS. And I tried a lot, even HIDmacros and Luamacros, I know, are not working. And I believe this should work for any HID device.

 

Edit: check the picture of my numberpad it has Backspace and even Clear, not sure how to call these in the Interception :)

Edit2: Well Clear is Delete and it works but Backspace and Enter doesn't.

 

81TIMicBJFL._SY355_.jpg


Edited by wasyl00

[sIGPIC][/sIGPIC]

Windows 10 Pro x64, Asus PG279Q, i7-6700K, Nvidia GTX1080TI, 16GB DDR4, 1TB SSD, TM Warthog, Saitek Combat Pro Rudder Pedals, TIR5+Trackclip

Link to comment
Share on other sites

oh right, i wrote it for a 101 key keyboard, i see your point about using scan codes, and yes, there is a problem with not having a comment line, i can fix that easy

 

i just fixed it and added the entering of a scan code, as always see http://www.2112design.com/blog/multi-keyboard-remapper/ for instructions

 

UPDATE: I just realized that what i did isn't 100% of what's needed to use keys that ar'nt on the standard 101 key keyboards, but i'll add that today.

 

another update, version 0.005 should let you enter scan codes for numpads, etc. but i don't have one so its a little hard to me 100% sure so please let me know. thx


Edited by steve2112

My kit: i7-4790K@4GHz / 8GB - GTX 980ti + rift CV1 - X52 pro - Multi Keyboard Remapper - 2DOF motion sim (in development)

Link to comment
Share on other sites

Whaa?! I must have missed that thread. :doh:

That is what I was looking for quite some time.

I need to giv that method a try. Could I use that method for three keyboards as well?

 

i've never tried but it should work i think. you would need to make 2 config files (one for each hardware id) and run remapper twice. let me know how it works out if you try it.

My kit: i7-4790K@4GHz / 8GB - GTX 980ti + rift CV1 - X52 pro - Multi Keyboard Remapper - 2DOF motion sim (in development)

Link to comment
Share on other sites

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...