Git Product home page Git Product logo

just-enough-keys's Introduction

Just Enough Keys

All big modpacks have a problem of conflicting and unbound control keys. There are just not enough keys on your keyboard to assign to all the controls for every mod.
Just enough keys enables you to assign key combinations with Ctrl, Shift, Alt + any other key on the keyboard.

 

Features

  • 6 Key modifiers (Left Control, Left Alt, Left Shift, Right Control, Right Alt, Right Shift)
  • All of the key modifiers can be used in any combination with any other key on  the keyboard.
  • Gives  you virtually unlimited keys to assign to the controls. e.g. [a], [ctrl+a] [right ctrl  + left alt + a], [right shift + a] and so on...
    search

Planned

  • Auto resolve conflicts
  • Auto assign unbound keys from available key combinations
  • Steam like central hub for key configurations, based on mods and modpacks

 

Compatibility

  • The mod was tested in my modpack Starpack Titan
  • It is working in the presence of over 470 mods in the modpack
  • Compatibility with each individual mod in the modpack has not been tested yet, I will update the list as I discover compatibility or issues.
  • Incompatible with Controlling (JEK has its own search.)
  • Please report any other issues via the issues tab above

 

just-enough-keys's People

Contributors

starmun-0010 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

just-enough-keys's Issues

Issue with jei

When typing the letter "e" in the jei it closes the inventory. seems to only happen with jek installed

Blocks keybind for Sophisticated Backpacks

When using this mod with Sophisticated Backpacks (https://www.curseforge.com/minecraft/mc-mods/sophisticated-backpacks), the 'open backpack' keybind from that mod does NOT work (nothing happens).

This happens even with no other mods installed other than these 2. I have not changed the Backpack keybind from its default (b), and I have not used JEK to change any keybinds.

Just Enough Keys version: 0.3.2
Sophisticated Backpacks version: 3.8.1.386
Forge version: 37.0.65

Some keys are not displaying their full names.

When using the Chinese language in the key button settings interface, some keys are not displaying their full names. For example, the keys "Left Shift," "Left Alt," "Left Ctrl," "Right Shift," "Right Alt," and "Right Ctrl" only display the first word, such as "Left" or "Right." (I've translated the issue into English for better understanding; see the actual issue below.)

Current display situation (just give an example):
"左shift" -> "左"; (Correct display -> Current display)

And before using this mod, displaying was normal, such as "Left Shift" displayed as "左Shift". This issue occurred only after using this mod.

Sneak Sprint

I have sneak bound to ctrl, but it does not work, it accepts shift as crouch even though its not bound to that.
I cannot sprint.
Sadly will remove the mod until fix

New Release (0.5.1) Breaks Interactic's Throwing Mechanic

This is fixed if you uninstall the current release - 0.5.1 - and use the previous 0.4.3 release instead. The changes that were made for the recent version must've done something, because if you use the recent release and Interactic together, it makes it to where holding down the "drop item" keybind (Q by default) to charge up throwing an item far ceases to function. All that happens is that it drops like you hit the button, it doesn't recognize that you're holding it down to trigger Interactic's throwing feature.

GL error upon closing a gui

Seems anytime a gui is closed, or a world is first loaded, or a server is logged onto the log logs this:

[17:31:18] [Render thread/ERROR] [minecraft/MainWindow]: ########## GL ERROR ##########
[17:31:18] [Render thread/ERROR] [minecraft/MainWindow]: @ Render
[17:31:18] [Render thread/ERROR] [minecraft/MainWindow]: 65539: Invalid key -1

using just enough keys 0.3.2
Minecraft 1.16.5
Forge 36.2.5

Conflict with default sneak and sprint keys preventing actions

Version: forge-1.18.1-0.5.2

There is a conflict issue with Minecraft default sneak (Left Shift) and sprint (Left Control).
If you have any binding that use a combination of those keys, actions will be blocked.

Example: attacking, mining, placing a block while sneaking.

Like you mentioned in issue #8 removing all mod binding using those keys will help.

However, even Minecraft default bindings are effected by that: the shortcut RC+Q to drop a stack get blocked by the sprint binding.

Spamming actions or doing a different timing sometimes get pass the issue.

Cant change key binds after updating

After I updated this mod I have restart minecraft if I want to change more than one key bind at a time. At first I thought the game was just lag because after I changed the first one it wouldn't even let me click on them or reset.
minecraft 1.17.1
fabric 0.11.6
justenoughkeys-fabric-0.3.0.jar

Default Vanilla Keybind Persists

So I remembered JEK existed while I was slipping in some more client-side mods (I play on a server with friends) and after adding in JEK I realized whenever I tried to hold down my sprint key (binded it to F and changed "item to offhand" to the R key) for some reason despite the fact I double checked my controls when I hold the F key it also starts trying to swap whatever I am currently holding.

The problem only appeared after I added in JEK and I double checked that there was no conflicting keybinds. I have a slight suspion that JEK is conflicting with this other client-side mod I have called Controlling. It is either that or an issue with solely JEK.

The server I am on is 1.18.1 btw.

JEK Ver. 0.5.1 sneak and sprint bug

So the issue here is when I use the newest version, sneak and sprint keybinds are always set to LC+LS(or vice versa couldn't remember) and it never saves when I change it. But when I used the old version 0.4.3, there are no problems saving. Also it only happens to sneak and sprint.

Drop Selected Stack

In vanilla minecraft, when opening the inventory and pressing ctrl q, it only drops the stack of items my curser points at in my inventory, however, this is very bothering because in this mod, pressing ctrl q while my inventory is open, also tosses out the item that is selected in my hotbar, and i often dont notice I'm already throwing away my tools just because its selected in the hotbar and that ctrl q affected that hotbar slot even if my inventory is opened. I wish there is a way to modify this, and to have an option to either remain the vanilla feature or to be able to modify the "drop selected stack" keybind.

[1.18.1] If JEK is in server instance, it crashes

Hello. I am the modpack dev of AQM2. Some players accidently set up their server instance of my modpack using the client pack and not the server pack. When they do this, their servers fail to start because JEK is in their server mods folder, and JEK does not like that. Could you write out some code to make the mod not run when in a server environment please? or at least just not crash

this is the fatal error shown

java.lang.RuntimeException: Could not execute entrypoint stage 'main' due to errors, provided by 'justenoughkeys'!
	at Not Enough Crashes deobfuscated stack trace.(1.18.1+build.12) ~[?:?]
	at net.fabricmc.loader.impl.entrypoint.EntrypointUtils.lambda$invoke0$0(EntrypointUtils.java:51) ~[fabric-loader-0.12.12.jar:?]
	at net.fabricmc.loader.impl.util.ExceptionUtil.gatherExceptions(ExceptionUtil.java:33) ~[fabric-loader-0.12.12.jar:?]
	at net.fabricmc.loader.impl.entrypoint.EntrypointUtils.invoke0(EntrypointUtils.java:49) ~[fabric-loader-0.12.12.jar:?]
	at net.fabricmc.loader.impl.entrypoint.EntrypointUtils.invoke(EntrypointUtils.java:35) ~[fabric-loader-0.12.12.jar:?]
	at net.fabricmc.loader.impl.game.minecraft.Hooks.startServer(Hooks.java:62) ~[fabric-loader-0.12.12.jar:?]
	at net.minecraft.server.Main.main(Main:106) [server-intermediary.jar:?]
	at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?]
	at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[?:?]
	at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
	at java.lang.reflect.Method.invoke(Method.java:568) ~[?:?]
	at net.fabricmc.loader.impl.game.minecraft.MinecraftGameProvider.launch(MinecraftGameProvider.java:608) [fabric-loader-0.12.12.jar:?]
	at net.fabricmc.loader.impl.launch.knot.Knot.launch(Knot.java:77) [fabric-loader-0.12.12.jar:?]
	at net.fabricmc.loader.impl.launch.knot.KnotServer.main(KnotServer.java:23) [fabric-loader-0.12.12.jar:?]
	at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?]
	at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[?:?]
	at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
	at java.lang.reflect.Method.invoke(Method.java:568) ~[?:?]
	at net.fabricmc.loader.impl.launch.server.FabricServerLauncher.main(FabricServerLauncher.java:66) [fabric-loader-0.12.12.jar:?]
Caused by: java.lang.NoClassDefFoundError: net/minecraft/class_304
	at xyz.starmun.justenoughkeys.fabric.JustEnoughKeysFabric.onInitialize(JustEnoughKeysFabric.java:15) ~[justenoughkeys-0.5.2-fabric.jar:?]
	at net.fabricmc.loader.impl.entrypoint.EntrypointUtils.invoke0(EntrypointUtils.java:47) ~[fabric-loader-0.12.12.jar:?]
	... 15 more
Caused by: java.lang.ClassNotFoundException: net.minecraft.class_304
	at jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641) ~[?:?]
	at jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188) ~[?:?]
	at java.lang.ClassLoader.loadClass(ClassLoader.java:520) ~[?:?]
	at net.fabricmc.loader.impl.launch.knot.KnotClassLoader.loadClass(KnotClassLoader.java:158) ~[fabric-loader-0.12.12.jar:?]
	at java.lang.ClassLoader.loadClass(ClassLoader.java:520) ~[?:?]
	at xyz.starmun.justenoughkeys.fabric.JustEnoughKeysFabric.onInitialize(JustEnoughKeysFabric.java:15) ~[justenoughkeys-0.5.2-fabric.jar:?]
	at net.fabricmc.loader.impl.entrypoint.EntrypointUtils.invoke0(EntrypointUtils.java:47) ~[fabric-loader-0.12.12.jar:?]
	... 15 more

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.