Coder Social home page Coder Social logo

much-programming-core's Introduction

TsFreddie's MPC for Vortex CORE

Such Core, Much Programming

How to use

Click here to use it.

Cool stuff you can do

There are many hidden features or bugs in the firmware. This tool address a few of them, you can check the detail here.

There might be more. This tool works perfectly offline, so you can download/clone the repo and hack the js file to see what can you do with the firmware.

Hacking

Currently, the binary generation code is grabbed from the official MPC website. There are still rooms for optimization or even enable more feature with a custom binary format.

You can check the code for app.convertToBytes method to see how the binary layed out, and you can use app.rowsToMPCData method to generate a object which can be passed to app.convertToBytes.

For example, in the console:

saveAs(new Blob([app.convertToBytes(app.rowsToMPCData)], { type: "octet/stream" }), 'layout.cys');

does the same thing as the generate button.

much-programming-core's People

Contributors

isti115 avatar tsfreddie 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

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

much-programming-core's Issues

Shift + Fn1 vs Fn1 + Shift

I've noticed that the order in which I press modifier keys has an impact on what characters keys will produce.

If I hold down Fn1 and press A, I get the the character 2. If I continue to hold down the Fn1 key but then also press the shift key, typing A will continue to produce 2. This was unexpected.

On the other hand, if I first press the shift key, typing A produces A. If I continue to hold down the shift key and also press Fn1, pressing A will generate @. If I release the shift key I will start to get 2.

Is this expected? A hardware problem? A firmware problem?

Thanks!

Singe character map

Hi,
Thanks for this great software, makes my day much esier, just one question/feature request:
Is it possible to map ex. { to a key, without creating a macro with time delay?

Thanks!

Pn Key macros suddenly don't work

Hi. I've been using MPC for about 6 months, and I created macros for Pn + other key to type symbols (for example Pn + a does shift 2 to type @). Yesterday I tried to use a macro and it just suddenly didn't work: Rather than getting a symbol, it just typed the normal key. I tried reflashing my layout, and the same problem happened. I understand this probably isn't a problem with MPC, but I didn't know where else to go to try to get help. Thanks.

Mouse buttons not working.

I tried assigning mouse keys 1, 2, and 3 from the drop down menu but they don't do anything. Are mouse keys enabled?

Can i have full RGB effects from Core by MPC

Hello sir, i really love your program. It helps me a lot when I used my Core RGB.
But when i used it, my Core has lost some RGB effect, i have to flashed Core by HWP if i want it back.
I really like this keyboard but the stock layout so.... Now i can fix it but my RGB can't work like it used to.
So can you update your progame to fix it, please.
I would be very grateful if you could do that. Thanks a lot.

Shift and Fn1 behavior

Hi,
first of all, great work, your editor makes it so much easier to change the layout! I finally have a reason to use the MPC firmware on my Core.
But one thing I did notice:
Shift in combination with Fn1 seems to be a bit strange, it appears that the order in which I press the keys seems to matter. If for example I want to type a ! I have to press <Shift>, then <Fn1>, then <Tab>.
If I press <Fn1>, then <Shift>, then <Tab> I get „1“, not „!“.
With the normal non-MPC-firmware the order doesn‘t matter.
Any way to fix this?

Thanks
Lawiak

FN1 Functionality MPC / HWP

There is an issue with the base MPC firmware that I thought you may be able to solve.

When using the HWP firmware the FN1 key can be pressed before SHIFT to input SHIFT + FN1 keys, when using even the base MPC firmware to input any symbols or SHIFT + FN1 shift MUST be pressed before the FN1 key as any other modifier input is seemingly ignored when FN1 is held.

No idea if there is a possible fix via this tool, figured I'd bring it to your attention.

Change the location of Fn key

Hi @TsFreddie,

Here's my current layout:
Screen Shot 2020-10-08 at 14 48 12
I changed the Fn, Pn location, removed Fn1. And it's working ok now.
So why don't you allow to change Fn location in your tool?

[Feature Request]: Allow more macros

The original MPC firmware of Vortex allows 60 macros, while *much programming core * allows for only 20.

Bumping the number of macros would allow me, to use my core in combination with my iOS devices.

[feature request] - allow creating macros in the assign key modal

I think since both UI instances are a modal, it should be possible to add this feature, reducing the time one spends navigating from one feature to the other, let me know what you think, if I get the chance I'd consider implementing it myself.

EDIT: thank you for putting together this project BTW makes using the vortex core so much better and effortless :)!

for same key settings, L3 works but L1 does not work.

In this export.txt, L1 is same as L3. (Actually, L1 is clone of L3.)

Strange to say,
though L3's key setting of L_SPACE to NUM_0 work well,
L1's key setting of L_SPACE to NUM_0 does not work.

L1's base key setting seems to have limitation, like Issue #7 .
I tried delete key settings of some upper keys and then L_SPACE works.
I tried and found when I increase more base key settings in L1, more bottom-right keys does not work.

Is this also firmware bug/limitation? (or only my vortex core is broken?)

export.txt

MPC Firmware no longer downloadable/ supported by Vortexgear

The tool's UI references to a link to download the MPC firmware from Vortex's own website; however it looks like they dropped references to their own UI tool that this is based on.

Right clicking the link and trying to force to save the file does not work. However, mechanicalkeyboards.com still has a firmware file uploaded. Not sure what the right way to go about this, but as of filing this issue, the MPC firmware is no longer available

Allow toggling the rgb on the base core when pressing any key

I am going to look into the code and see if it is possible to toggle the rgb light during a key press. This is a feature I want because I am using fn and fn1 to essentially access layers, however they are only activated when the key is being pressed. I plan to toggle the rgb to red only when the fn1 key is pressed and similarly toggle it to blue only when the fn key is pressed. This offers no functional value, but I would enjoy having it as a feature.

If I find this is not possible, I intend to add functionality for triggering a macro when a key is released. This would allow me to press a key to access a layer, and set up a macro to automatically return to L0 when that key is released. This would make use of the rgb led by default.

Add FN1, FN and PN to Macros

Would it be possible to add the Core function keys in the Macros?
e.g. I would like to use the combination of Fn+Fn1 as toggle for Fn1.

Thanks!

add firmware modifiers to Macro

Hi Freddie,
First, I wanna thank you for this great tool!

I wonder if it's possible to add the on-board firmware modifiers keys (i.e. Fn, Fn1, and Pn) when defining macros.
Currently they are not available when defining macros. If it's possible, it would be very useful in the following scenario.

If I want to press the shifted layer of the number keys, I need to either

  • press Shift+Fn1+NumberKey
  • or define a macro on for example the Pn layer, then I just have to press Pn+NumberKey

The second method is preferred as it requires less key press and is similar to the typical Shift+NumberKey, but in this way, one would need to define a macro for each number key, which is cumbersome to do but still fine. The other issue is, one will run out of macros very quickly, as the board only supports a maximum of 20 macros.

If the onboard firmware modifiers can be added to macro definition, then only one macro is needed. For example, one can define the base layer of a key as Shift+Fn1, the macro type is until release, then it will work with all Fn1 layer keys, saving a huge amount of macros.

Import/export Macros

It seems that there is the feature to import the macros but not to export them.
Is it right? what's a template to write the macros to be imported?
Thanks!

[Feature request] ability to assign !@#$%^&*() symbols to a key.

I see in your code that key mapping corresponds to HID scan code standard. Is there way you can add a secondary keyboard map for the shifted keys? Namely the shifted number keys? Or does this have to be done using a macro? If so, what's the minimum time interval would I need to each key press and release?

Cannot Program Secondary Keystrokes

When I am using the editor, I cannot program keystrokes such as " or @ because I can only click the default keys such as ' or 2.

Additionally, I do not understand what the "Fn" Layer and the "Pn" Layer mean.

Macro limit?

There seems to be a 20 macro limit.
Do you know what could be the cause of this or any idea how to fix it?
If I map more than 20 keys to macros, the rest just stop working.

Errors - some macros and button mappins not working

EDIT - the issue isn't the Pn layer - there is a max number of macros that can be used on each layer, so if you add too many, the ones at the bottom of the list will do nothing -
I'm not sure how the order is decided, but it may be left to right from the top, or Pn being the last in the order or something

i made a lot of edits and everything was always 100% right - but then I added a bunch of Pn layer functions onto M<>shift, ctrl, menu - and then my remapping of M<>shift (layer switching keys) stopped working, one of my macros is gone, a few other keys aren't working - so I switched off all the Pn and layer-switcher keys, but there are still issues,,

export.txt

Use the 3 leds

I have a regular non rgb vortex core. It has the caps light, the layer light, and the right spacebar light that turns on if you have the HWP firmware and use the on-board programming functionality.

I believe you've exposed all the codes that we could assign in that erlenmeyer flask icon and none of them have to do with triggering the lights.

From what I can't tell we can't have any fun with the leds at all. I thought it might be fun to have the 2 rgb/spacebar LEDs have a little party by cycling through the 3 available colors. Can you confirm that we can't control LED behaviour at all?

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.