Code Monkey home page Code Monkey logo

winapplekey's Introduction

WinAppleKey

Apple Magic Keyboard A1644 driver for Windows 10.

Please note that this driver only works in Windows 10 and only for the A1644 (Apple Magic Keyboard) model (see: FAQ.5).

Features:

  • Swaps the Fn-Ctrl keys to align with standard Windows keyboard layouts (fearture not supported by Apple's Bootcamp driver).
  • Maps the missing Windows keys such as the Del, Insert, Print Screen, Pause/Break, etc.

Technical Details

WinAppleKey is implemented as a HIDCLASS LowerFilter WDM kernel mode driver.

keyboard-driver-stack

Installation

DISCLAIMER: This driver is signed with a self-signed (test/development) certificate. For that reason, Windows will not allow the driver installation unless running in TESTSIGNING mode. Please be aware that permanently running Windows in TESTSIGNING mode leaves your system open to potential security risks. Any consequence because of this is solely your own responsibility. WinAppleKey is free software that you are willing to build and/or use completely at your own risk. If your system is running a UEFI BIOS with Secure Boot enabled, you will need to disable Secure Boot in BIOS first before enabling TESTSIGNING mode.

To switch to TESTSIGNING mode issue the following command (in an Administrative command prompt) and then reboot your PC:

bcdedit.exe -set TESTSIGNING ON

You can now run the Setup.msi installer.

To uninstall, run the uninstaller from the Control Panel Programs and then manually revert TESTSIGNING mode by issuing the following command (in an Administrative command prompt):

bcdedit.exe -set TESTSIGNING OFF

Key Mapppings

WinAppleKey creates the following key mappings:

Input Key(s) Output Key
LCtrlFn
FnLeft Ctrl
⏏︎ EjectDel
⌘ CmdAlt
⌥ AltCmd
Fn+[F1]...[F12][F13]...[F24]
Fn+LCtrlRight Ctrl
Fn+ReturnInsert
Fn+PPrint Screen
Fn+SScroll Lock
Fn+BPause/Break
Fn+Page Up
Fn+Page Down
Fn+Home
Fn+End

Multimedia Keys: The multimedia keys are not directly mapped as they correspond to F19-F24 instead but you can easily use this AutoHotkey script for that purpose. Please note that this currently works only over the wired connection.

Driver Settings

You can use regedit.exe to optionally modify certain driver settings.

To enable/disable the Alt-Cmd key swapping edit the DWORD key value: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WinAppleKey\SwapAltCmd. The default value is 0 (off).

To enable/disable the Fn-Ctrl key swapping edit the DWORD key value: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WinAppleKey\SwapFnCtrl. The default value is 1 (on).

After changing any of these values, you will need to disconnect/connect your associated Apple keyboard(s) to trigger a driver reload, or alternatively reboot your machine.

Build Instructions

To build the driver you will need Visual Studio 2019 along with an installation of the Windows 10 Driver Kit (WDK). For the installer project, you will additionally need to install the WiX toolset.

Frequently Asked Questions

1. Will you ever release a full version (i.e. not self-signed) of the driver that does not require Windows running in TESTSIGNING mode?

Unfortunately, I can't. This is due to Microsoft's enforced restrictions for Windows drivers. To fully release a device driver for Windows 10 (and later) you need to run a registered company and subsequently purchase a quite expensive driver signing certificate for that company. Both cost time and money. This driver is free and open source and I do not make any money from it - so no.

2. How can I get the multimedia keys to work?

Please take a look at paragraph Multimedia Keys above.

3. When running in the default fn-ctrl swap mode, the ctrl-lshift-t combination commonly used to reopen a closed browser tab in Chrome does not work.

This is an issue of the Apple keyboard hardware rather than the driver. You can use the ctrl-rshift-t combination instead.

4. I am trying to enable Test Signing mode but I get this error: The value is protected by Secure Boot policy and cannot be modified or deleted.

You must disable Windows Secure Boot, please read the Disclaimer part.

5. Will you ever implement support for Windows 11 and other Apple keyboards such as A1314, A2450, A2449?

I have no plans to further work on WinAppleKey primarily due to my answer in FAQ.1 above and the user restrictions (e.g. some PC games don't work) and security implications (e.g. no SecureBoot) of having to run Windows in TESTSIGNING mode. Instead, I started this project magicstick.io that already supports these keyboard models plus does more.

winapplekey's People

Contributors

reznikartem avatar samartzidis avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

winapplekey's Issues

Driver signature enforcement disabled

I was wondering that why it is not possible to install these drivers with Windows' driver signature enforcement disabled? Isn't it basically the same thing as doing the installation in Test Mode? I do not know too much about the differences between these two methods and would be highly interested to hear if there is some crucial difference which makes Test Mode the only option.

Thanks :)

Is testsigning still necessary?

I would love to use this driver on Windows 10, but since it's a work machine the test mode is not an option. I recently came across and am using the Magic Trackpad windows driver that was installed successfully and was wondering if the same approach would work? Sorry, I have no knowledge of the driver signing so apologies if this is a silly question :)

https://github.com/imbushuo/mac-precision-touchpad

Thanks for all your hard work on this!

Huge Thanks!

My colleagues were complaining that my mechanical keyboard was too loud over microphone, actually I didn't like the keyboard that much anyways as the keys are too tall for my taste.

I was a Macbook user about a year ago and really loved the keyboard. Couple of hours ago I scavaged this slightly used, good as new apple magic keyboard from miscellaneous section of local electronics store, was happy to bring it back home, but soon realised that it doesn't even have a page up and down key,

Gladly I found your project :) and it's working beautifully.

Sign with proper sertificate

At first I thought the lack of a proper certificate was a small nuisance, since all I had to deal with was the small text saying "Testing" on the desktop. After a few hours of use I noticed that testing mode triggers all kinds of anti cheat engines, and completely bars me from playing any online games. In other words I unfortunately can't use this driver until it can be installed without testing mode.

Can anything be done about this? Is it possibly to explicitly trust your certificate and allow the driver to be installed? Do you have any plans regarding this?

Media Keys?

Can this be an option, either at the time of install or configurable through registry?

I got keycodes from here: https://source.android.com/devices/input/keyboard-devices.html#hid-keyboard-and-keypad-page-0x07

Maybe I'm missing something, but I can't seem to get this to work. I've tried this within the function key section

                case HidF7: TmpBuf[4] = 0xEA; break;
                case HidF8: TmpBuf[4] = 0E9; break;
                case HidF9: TmpBuf[4] = 0xEB; break;
                case HidF10: TmpBuf[4] = 0x7F; break;
                case HidF11: TmpBuf[4] = 0x81; break;
                case HidF12: TmpBuf[4] = 0x80; break;

I've tried this right below the eject/delete key code too.

 if (buf[2] & 0x8) //Eject
         SpecialKey = HidDel; //Del	

     switch (buf[2]) {
         case HidF7: buf[2] = 0xEA; break;
         case HidF8: buf[2] = 0E9; break;
         case HidF9: buf[2] = 0xEB; break;
         case HidF10: buf[2] = 0x7F; break;
         case HidF11: buf[2] = 0x81; break;
         case HidF12: buf[2] = 0x80; break;
     }

I've tried TmpBuf[2] above and buf[4] here - I'm mostly shooting blind, I really have no knowledge here of HID devices, windows drivers, or how the rest of the driver works.

Any suggestions?

Fn+other keys work, but I can't get these to.

WinAppleKey causes BSOD

Thank you for your work!

Unfortunately, after I started using the driver, the system (clean Win10 x64, Intel NUC) crashes approx. every 1-2 days. I have memory dumps but there's nothing there related to the driver.

*******************************************************************************
*                                                                             *
*                        Bugcheck Analysis                                    *
*                                                                             *
*******************************************************************************

WHEA_UNCORRECTABLE_ERROR (124)
A fatal hardware error has occurred. Parameter 1 identifies the type of error
source that reported the error. Parameter 2 holds the address of the
WHEA_ERROR_RECORD structure that describes the error conditon.
Arguments:
Arg1: 0000000000000000, Machine Check Exception
Arg2: ffffd289b9bc1028, Address of the WHEA_ERROR_RECORD structure.
Arg3: 00000000b6000000, High order 32-bits of the MCi_STATUS value.
Arg4: 0000000000110135, Low order 32-bits of the MCi_STATUS value.

Debugging Details:
------------------


KEY_VALUES_STRING: 1


STACKHASH_ANALYSIS: 1

TIMELINE_ANALYSIS: 1


DUMP_CLASS: 1

DUMP_QUALIFIER: 401

BUILD_VERSION_STRING:  17134.1.amd64fre.rs4_release.180410-1804

SYSTEM_MANUFACTURER:  Intel Corporation

SYSTEM_PRODUCT_NAME:  NUC7PJYH

SYSTEM_SKU:                                   

SYSTEM_VERSION:  J67992-401

BIOS_VENDOR:  Intel Corp.

BIOS_VERSION:  JYGLKCPX.86A.0041.2018.0626.1500

BIOS_DATE:  06/26/2018

BASEBOARD_MANUFACTURER:  Intel Corporation

BASEBOARD_PRODUCT:  NUC7JYB

BASEBOARD_VERSION:  J67969-401

DUMP_TYPE:  1

BUGCHECK_P1: 0

BUGCHECK_P2: ffffd289b9bc1028

BUGCHECK_P3: b6000000

BUGCHECK_P4: 110135

BUGCHECK_STR:  0x124_GenuineIntel

CPU_COUNT: 4

CPU_MHZ: 5da

CPU_VENDOR:  GenuineIntel

CPU_FAMILY: 6

CPU_MODEL: 7a

CPU_STEPPING: 1

CPU_MICROCODE: 6,7a,1,0 (F,M,S,R)  SIG: 22'00000000 (cache) 22'00000000 (init)

BLACKBOXBSD: 1 (!blackboxbsd)


BLACKBOXPNP: 1 (!blackboxpnp)


DEFAULT_BUCKET_ID:  WIN8_DRIVER_FAULT

PROCESS_NAME:  System

CURRENT_IRQL:  f

ANALYSIS_SESSION_HOST:  DESKTOP

ANALYSIS_SESSION_TIME:  08-02-2018 17:00:30.0504

ANALYSIS_VERSION: 10.0.17712.1000 amd64fre

STACK_TEXT:  
ffff9901`714daae8 fffff802`1b7a1520 : 00000000`00000124 00000000`00000000 ffffd289`b9bc1028 00000000`b6000000 : nt!KeBugCheckEx
ffff9901`714daaf0 fffff800`0a0a14ba : ffffd289`b9bc1028 ffffd289`b87f9440 ffffd289`b87f9440 ffffd289`b87f9440 : hal!HalBugCheckSystem+0xd0
ffff9901`714dab30 fffff802`1b0c9021 : ffffd289`b9bc1028 00000000`00000000 ffffd289`b87f9440 ffffd289`b87f9440 : PSHED!PshedBugCheckSystem+0xa
ffff9901`714dab60 fffff802`1b7a2c60 : 00000000`00000728 00000000`00000003 00000000`00000000 00000000`00000000 : nt!WheaReportHwError+0x261
ffff9901`714dabc0 fffff802`1b7a2fc0 : 00000000`00000010 ffffd289`b87f9490 ffff9901`714dad68 00000000`00000003 : hal!HalpMcaReportError+0x50
ffff9901`714dad10 fffff802`1b7a2eae : ffffd289`b87369a0 00000000`00000001 00000000`00000000 00000000`00000000 : hal!HalpMceHandlerCore+0xe0
ffff9901`714dad60 fffff802`1b7a30f2 : 00000000`00000004 00000000`00000001 00000000`00000000 00000000`00000000 : hal!HalpMceHandler+0xda
ffff9901`714dada0 fffff802`1b7a3390 : ffffd289`b87369a0 ffff9901`714dafd0 00000000`00000000 00000000`00000000 : hal!HalpMceHandlerWithRendezvous+0xce
ffff9901`714dadd0 fffff802`1afa6b3b : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : hal!HalHandleMcheck+0x40
ffff9901`714dae00 fffff802`1afa67ff : 00000000`00000000 fffff802`1afa6717 00000000`00000000 00000000`00000000 : nt!KxMcheckAbort+0x7b
ffff9901`714daf40 fffff802`1b09a80a : ffffc268`b1504000 fffff802`1b09a465 00000000`00000000 fffff802`1b09a522 : nt!KiMcheckAbort+0x1bf
ffffe60e`73029920 fffff802`1b09a00f : ffffc268`b1504000 00001700`3b40b3dd 00000000`00000000 00000000`ffffffff : nt!RtlpGenericRandomPatternWorker+0x27a
ffffe60e`73029970 fffff802`1b07b3a9 : ffffe5e1`3458a820 00000000`00000000 ffffc268`b1504000 00000000`00012151 : nt!RtlScrubMemory+0x113
ffffe60e`730299b0 fffff802`1b07b22b : 00000000`00000001 ffffd289`b863cd40 ffffe780`00bfa180 ffffe60e`00000009 : nt!MiScrubPage+0xe1
ffffe60e`730299f0 fffff802`1b56748f : ffffd289`b95b9c00 fffff802`00000000 ffffd289`b95b9c68 ffffd289`b95b9c68 : nt!MiScrubNode+0x1a7
ffffe60e`73029a80 fffff802`1ae42455 : 00000000`00000300 ffffd289`ba7f2040 ffffd289`b86edaf0 ffffd289`b86edaf0 : nt!MiScrubMemoryWorker+0x6f
ffffe60e`73029b80 fffff802`1aee4d87 : ffffd289`ba7f2040 00000000`00000080 ffffd289`b86db440 ffffd289`ba7f2040 : nt!ExpWorkerThread+0xf5
ffffe60e`73029c10 fffff802`1af9fa06 : fffff802`19c55180 ffffd289`ba7f2040 fffff802`1aee4d40 00000000`00000246 : nt!PspSystemThreadStartup+0x47
ffffe60e`73029c60 00000000`00000000 : ffffe60e`7302a000 ffffe60e`73024000 00000000`00000000 00000000`00000000 : nt!KiStartSystemThread+0x16


THREAD_SHA1_HASH_MOD_FUNC:  0707e8acbf3ce02513bdd7e95a56085c6d3a364a

THREAD_SHA1_HASH_MOD_FUNC_OFFSET:  660459cec8750ea6782e69c4fd3dfbf63b710b85

THREAD_SHA1_HASH_MOD:  af012a6d5c2a26db9fd59ba3248350c1617f6fc5

FOLLOWUP_NAME:  MachineOwner

MODULE_NAME: GenuineIntel

IMAGE_NAME:  GenuineIntel

DEBUG_FLR_IMAGE_TIMESTAMP:  0

STACK_COMMAND:  .thread ; .cxr ; kb

FAILURE_BUCKET_ID:  0x124_GenuineIntel_PROCESSOR_CACHE

BUCKET_ID:  0x124_GenuineIntel_PROCESSOR_CACHE

PRIMARY_PROBLEM_CLASS:  0x124_GenuineIntel_PROCESSOR_CACHE

TARGET_TIME:  2018-07-30T20:28:10.000Z

OSBUILD:  17134

OSSERVICEPACK:  0

SERVICEPACK_NUMBER: 0

OS_REVISION: 0

SUITE_MASK:  272

PRODUCT_TYPE:  1

OSPLATFORM_TYPE:  x64

OSNAME:  Windows 10

OSEDITION:  Windows 10 WinNt TerminalServer SingleUserTS

OS_LOCALE:  

USER_LCID:  0

OSBUILD_TIMESTAMP:  2018-07-14 05:53:27

BUILDDATESTAMP_STR:  180410-1804

BUILDLAB_STR:  rs4_release

BUILDOSVER_STR:  10.0.17134.1.amd64fre.rs4_release.180410-1804

ANALYSIS_SESSION_ELAPSED_TIME:  e87

ANALYSIS_SOURCE:  KM

FAILURE_ID_HASH_STRING:  km:0x124_genuineintel_processor_cache

FAILURE_ID_HASH:  {4c8f3f5e-1af5-ed8b-df14-d42663b1dfa7}

Followup:     MachineOwner
---------

Option to switch Ctrl and Fn Keys?

Is it possible to change the Ctrl and the Fn key like in WinA1314? Like with a registry edit or sth like that?
Got so used to the keys being the same as keyboard layout actually says.

Apart from that, this driver seems to work much better 👍
So, thanks for the great work!

Remapping the whole keyboard

I am using a swedish layout and my all my buttons are moved around (I assume its according to the american keyboard) keys like the following ><§½()[]}{| ... etc. and are only accessible through the right option key for some reason. Shift + Ctrl combination doesnt work for number bar either.

not working on apple magic keyboard model A1314

I turned on everything that was required, and I have installed the driver with no problems, However, even after a reboot, the keys were still not re-mapped and was still using the old keybinds. I am using the model A1314 magic keyboard, the model with the old scissor switches (not the new butterfly switches or the new, revamped scissor switches).

Any success with Windows 10 1803?

I upgraded to W10 x64 1803 and my apple keyboard no longer sends the special keys as before.
The machine is still in test mode. And trying to load the device drivers again, nothing seems to happen. In 1709 it was working fine. Did anything change in 1803 that prevents the great tool?

Can I use this driver for installed macbook keyboards?

Probably most Macbook pro users want to use a fn key for standalone.
but there is never way until now.
Can I use for installed macbook's keyboards?
If not, have you plan to dev for wired or installed keyboard?
Also you have no plan, Can you give me a advise or hint to modify your driver to apply wired keyboard.
Thanks for you share.

Suggestion: Swap Control/Command

Hi,

this driver is awesome and I'm so thankful that You made it. This is the only solution that finally made my Fn button useful

I have one suggestion,
could You create an option to swap Control button with Command button?
I like to have my Command button as in macOS, so I don't need to relearn combination for copying and pasting etc.

A1242 model not working with this driver or general bug?

I'm looking for a driver for WIN since years to work with my Apple keyboard and finally found this one. But unfortunelty I use the A1242 model (with the large enter key) which doesn't seem to work with this driver? Testmode is on and it installed without errors but after a restart no changes. Also the reg entries are missing. In the device manager its still as a HID keyboard. Manually pointing to the inf of the package doesn't work. Any help would be much much appreciated

Use cntl and fn together

Switch fn/ctrl is good. But, could we still use ctrl as ctrl?
On my keyboard (Apple A1644) left ctrl is totally disabled, after installation.

Keyboard repeating keys after upgrade to 1.0.8

Occasionally my keyboard will repeat random keys (two characters at the time most frequently) . It seems to be happening after upgrade to 1.0.8, but I'm having a hard time reproducing it. Example: "push" -> "pushsh".

Has anyone else had a problem? Using model A1644 (wired)

1.0.6 and 1.0.5 not working

Continuing from #30, the latest version that works for me is 1.0.4. With 1.0.5 and 1.0.6, I don't see WinAppleKey in Device Manager.

I couldn't work out how to download previous releases, but fortunately I still had an old copy in my Recycle Bin.

Visual Studio 2015 Build Error

I get the following error when I try to build the WinAppleKey project:

Severity Code Description Project File Line Suppression State
Error 1218 Invalid driver date value ?07?/?11?/?1.16.46.318 in Version, expecting MM/DD/YYYY. WinAppleKey C:\WinAppleKey\WinAppleKey\WinAppleKey.inf 12

Line 12 of the INF file is commented out in the version I downloaded from Github:

;DriverVer=01/04/2017, 1.0.0.0 (notice the semicolon)

The date looks like it is in the required format. I have tried uncommenting the line, changing the date to the current date, setting the /uselocaltime flag for INF2CAT tool under the project properties, running Visual Studio as administrator, and changing the version to 1.0.3.0 (which is the file version reported in the resource file).

All to no avail !!!

Any suggestions?

Mapping Windows and Option Keys

@samartzidis This driver is just about what I'm looking for!

I'm curious if it's possible to re-map the command and option keys so that

Input physical key   -->   Output logical key
Left Option (Alt)    -->   Win
Left Command         -->   Alt
Right Command        -->   Alt
Right Option (Alt)   -->   Ctrl

This way, the Apple Magic Keyboard 2 keys would exactly match a Windows keyboard layout.

Thanks!

install

Hi,
I compiled the exe and installed it but nothing happens..
no keymapping

Fn => Ins mapping to support the full sized numpad keyboards?

first, thank you so much for this! it is some pretty rocking code to provide to the world

can't resist chance to man'splain my personal Windows developer keyboard dream:

  1. high quality aluminum build (like Apple's)
  2. flush to desk (like Logitech K750)
  3. dedicated media keys (like Logitech K360)
    ---- below the bar ----
  4. backlit is a pretty nice-to-have
  5. wireless for keyboard isn't actually that crucial to me personally (but definite priority for mouse)

Matias has been swinging very strongly in this ballpark but currently misses my flush and media lusts, especially since they've excruciatingly taken the upper right F16-F19 locations for their bluetooth pairing buttons (i've actually had direct convo with their VP urging to consider)

soooo for now, the full sized apple wired MB110LL seems the best personal compromise by mapping it's F16-F19 keys to media via SharpKeys/KeyTweak ... begrudgingly living with the incline.

and it's Fn key sits in Ins location... thusly i'm keen to map with your driver... once i receive my keyboard, i'll take a crack at the mods and will PR if i get anywhere...

unless you could knock this out in seconds for us? :)

image

 
 
for collective awareness - Apple FINALLY just announced new wireless Magic with numpad at WWDC this monday, part#: MQ052LL/A ... going by this 6yo! thread, a lot of people are going to be very very pleased... it's a darn shame they're reserving the space grey version only for the $5k iMac bundle :(

same key layout as the wired full size so another motivation for this Fn=>Ins mod

image

can you tell it not to swap ctrl and fn keys

Can you tell it not to swap ctrl and fn keys given i'm used to msft ergo desktop keyboard and lenovo thinkpad x1 keyboards where on left side its fn | ctrl | win | alt and on right side of space bar its alt | context menu / print screen remapped to win | ctrl?

Swap Left Alt with Left Win?

Already this driver is a godsend, but I'm missing one thing;

Is it possible to swap the left windows and left alt key, in order to correspond with regular windows keyboards?

As an unrelated follow-up question, are you planning to properly sign the driver so it can be installed without Test Mode?

Cannot get keyboard working after upgrading from 1709 to 1803

@samartzidis I've been using this in 3 machines without any issues, but in one of my newer machines I got it working once (Did not reboot immediately after install), installed an update and then rebooted the machine. And now the keyboard works only the old way with this machine alone.

I tried multiple uninstallation, reboot, reintallation and reboot, and the only thing I notice is that no registry entry is created under "Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services" (It creates this path "Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WinAppleKey" in my other machines, and I tried exporting and importing but that does not help as well). Another thing I noticed was that it would not place inf and .sys files in C:\Windows\INF and C:\WIndows\System32\drivers respectively.

Any help would be much appreciated since this would be the machine that I will be using frequently for the next few months.

Thanks

I've installed the driver but nothing changes?

I built and ran the Setup.msi and it shows in the Control Panel yet none of the new key bindings work. Is there a step I am missing? The only driver I have installed for the keyboard right now is the base one when I first connected it via bluetooth.

Custom built driver not getting recognized

I tried compiling the solution along with making the installer WiX project. When I use the installer built from source, everything builds and installs successfully, but Windows never uses the built driver instead, always favoring the one built into Windows. When I use the installer provided from the releases page, everything works fine.

Is there something that I need to do during compilation and building the installer that I forgot? I can't actually tell why Windows keeps favoring the built-in driver instead of the one I built from source instead.

Registry keeps resetting to default values

SwapAltCmd and SwapFnCtrl keep on resetting to the default values (0 and 1 respectively) without my interference. I'm not sure when this is happening -- on restart? on keyboard reconnect?

Edit: I figured out when it happens: when I switch from USB to Bluebooth or vice versa.

Where in the code does this happen exactly? I looked through it and it only seems to ever read from the registry, not write.

Are the pipe and less-than keys swapped for anyone else?

For some strange reason, the pipe key (the one above tab) and the less-than key (the one right of left shift) are swapped. This is the case with and without the WinAppleKey driver. I'm not sure if this is an issue for any other keyboard layouts, my keyboard has the Norwegian keyboard layout.

It would be great if there was an option to swap these. Actually, it would be fantastic if any arbitrary keys could be swapped or rebound in config, which would basically fix any similar future issues on other layouts as well.

What are your thoughts on this?

18049905_10211909563246692_1233404535_o_ink_li

WinAppleKey 1.0.6 doesn't work

Hi,
As the tile says.
I have enabled the testers mode and installed the Setup.msi, however it doesn't seem to install properly as there is no trace of this driver in the Registry.
I understand it is not just me who has issues with the V 1.0.6. Could you please make the 1.0.4 and 1.0.5 available for download?
Thanks

(not issue) about TESTSIGNING mode

Hi,

is need always in TESTSIGNING mode ON to use WinAppleKey? since I switch back to TESTSIGNING mode No after installed. It is not work in my Windows 10.

Thanks,
Thomas

WINDOW TEST SIGNING MODE

Im gonna play rainbow six, however it doesn't work cuz pc is on test signing mode. If I turn off the mode, keyboard is not working.

Setting SwapFnCtrl to 0 Results in 'stuck FN' key for A1644

On an A1644, if you set SwapFnCtrl to 0 then if you press the 'FN' key the keyboard stops working as expected.

For example, the up arrow stays as page-up, even though I am not pressing the FN key. unplugging and re-plugging in the keyboard fixes the issue until I press the FN key again.

Getting compilation error

Hello George.

I am a C# programmer and just trying to help a friend to connect to keyboard. I am getting this error while compiling the project:
Invalid driver date value ?04?/?13?/?17.6.44.600 in Version, expecting MM/DD/YYYY. WinAppleKey D:\Work\WinAppleKey-master\WinAppleKey\WinAppleKey.inf.

I found this reference https://msdn.microsoft.com/en-us/windows/hardware/drivers/install/inf-driverver-directive and try to put different dates but no luck.

If you do not mind can you let me know what am I doing wrong here.

Best Regards,

Boris

Ctrl+LShift+T works (with the "ctrl" key instead of "fn")!

Hey!

Should have read your manual better. Couple of weeks into using your software, after having already developed muscle memory of using Ctrl(FN)+RShift+T to restore the last tab, I got the curiosity of leaving FN and Ctrl keys in-place without swapping them through registry.

And it Ctrl+LShift+T works again!

Now I just have to retrain muscle memory and forget Ctrl+RShift+T...

Feature request: Driver Settings

It would be useful to be able to customise (or at least disable) any of the new binding as not all people will want them all.

Change key mappings

Hi, tank you for creating such amazing thing! i love it 😄

What i miss is a way to setup custom mappings and get media keys to work.
Have you plans to implement such a feature?

Thank you in advance.

Alexej

How to restart the service?

How do you restart Winapplekey?

Net stop winapplekey results in:

The requested pause, continue, or stop is not valid for this service.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.