-
Notifications
You must be signed in to change notification settings - Fork 18
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Only target a specific keyboard type/model for remapping #3
Comments
Hi Device-specific mappings are not configurable in the .ini (yet? I almost did it but I don't need it). BUT good news: If you enable "hardcoded Apple mapping"
If this is all you want, you basically need to have an almost empty .ini with only this: (haven't tried it out, maybe I forgot a mandatory setting). Note: |
Excellent and quick feedback - 1E3 thanks! That's a large part of what I am after. You might want to add to the README that in case you get an error message about missing DLL's ( I see that there could be made small improvements since - at least - F13 - F19 are not being used. F-13-F-19 get reported like this (using your debug feature):
I will play some more and see if I can identify suggestions for F16-F19. NB.: Is it possible to let this run as a service (aka a "faceless" application) in stead of having a window present...? |
Thanks for the feedback. I should include the DLLs (I hate it when I have to install that stuff manually; I'm a big fan of self-contained software packages). F16-F19 are simply not given any 'labels'. I thought those keys died after 1970's IBM keyboards and saved the 3 minutes... The following, when in your [LAYER1] section, does a "hard rewire" of F13/14/15, that is, it really replaces the scancodes before any modifiers are evaluated: If you wanted to do it with a combo (like LeftAlt+F15 -> Pause) "Run headless?" |
I was also a little surprised by the F16-> keys, I presume Apple added them to make the keyboard look nice (and hey - you get four extra keys to play with :-) Truth being I have not used them in my many years with these keyboards... A traybar icon is much preferable (for me at least) compared to an extra window even though that might get started minimized (that would just be one more thing to ALT+TAB through when working. The window is great for debugging. So if a traybar could hide and show the current window that would be awesome! It's unfortunate that the coding of this specific functionality don't pay back as being "fun", but I hope you see the value (I for one do...) Anyway first I need to get F13-F15 working.
|
Your ini is technically correct and it works for me (I had to substitute F13-15 with F3-5, and using a non-apple board). |
I had some problems trying to copy the debug output yesterday, all keyboardevents were ignored (in some cases buffered for many seconds / appeared stalled), I had to kill and restart capsicain to regain control and then my (apparently not) copied log was not to be found in the clipboard, hence no log... Today I'm not facing these problems (yet) :-) thus can provide a complete log.
The ini file
The debug log
PS.: Not a problem, but an observation: I can see that you're reporting the active layer with the name converted to lower case (TvE-01 => tve-01) |
Ha! - I found a workaround :-) My main missing feature was I managed to identify this workaround:
Once in a while I like to use WIN+BREAK to show the system information window, but that I am still playing with. PS.: In case you choose to make a traybar icon, I'd like to suggest that part of the icon will reveal which of the 9 layers that's currently active by showing that number on top of the icon (I'm sure we can find an image of a Chili that could be used...) |
Your issue yesterday with the dead keyboard when copying the debug output is a feature of Windows Console apps (including cmd.exe). When you make a selection, the underlying process is paused, so that the text is not updated while you select. Your workaround works; but for your usecase, a REWIRE is nicer. Basically the keypresses are processed in three stages 1. REWIRE 2. COMBOs 3. Alphamaps. If you use alphamaps, you're a bit limited when you want to define crazy combos on your F13 key. I'm a bit unhappy that this does not work. (btw a traybar icon showing the active layer is a nice idea. Although I've settled on a configuration, I never switch anymore. Visiting colleagues get a 2nd keyboard that is not processed). |
Of course I'll help to debug! I have created LAYER_2 only with debug + the suggested rewire. Three keyboards have been used for this test - all with the same result:
I also tried
As well as
With the same result. What can I do else to debug this further? |
What capsicain version do you use? I've used this on various Win10 versions from 2017 to the latest 2004 |
Ok, solved. You use the latest "release package". Should have updated that one day... Update: |
v55 = NICE!!!! Me using v46 in stead of v55 surely explains a lot! Now the real test starts: Thanx for all your feedback and support, it's highly appreciated! |
I am not able to find the description of how to only target a specific keyboard-model with the remappings.
Is this possible (what have I overlooked in the documentation)?
Use case
My use case is that I have not been able to find a keyboard with the same (or better) mechanical feel as the Apple keyboard (USB with numeric keys) with a Windows keyboard-layout to be used for my Windows/Linux PC's, hence I thought I could "just" remap the keys and re-label the Apple keyboard resulting in (EG ALT->WIN, CMD-> ALT etc).
As I am using a labtop, I only need the remapping when I am using the PC in my docking station (with the Apple keyboard attached), when I am using the built-in keyboard I need the not-remapped functionality.
Background:
I originally found this project (https://www.orbiter-forum.com/showthread.php?t=30829 using the same interception driver) but am unable to make it work on Win10 due to missing MSVCP100.dll & MSVCR100.dll (no matter which Microsoft Visual C++ 2010 Redistributable I install I don't get the DLL's, (thank you Microsoft...!).
Then I found your project - looks capable of a lot more!
The text was updated successfully, but these errors were encountered: