key remapping: add control remap
Co-authored-by: Adam <Adam@sigterm.info>
This commit is contained in:
@@ -24,6 +24,7 @@
|
|||||||
*/
|
*/
|
||||||
package net.runelite.client.plugins.keyremapping;
|
package net.runelite.client.plugins.keyremapping;
|
||||||
|
|
||||||
|
import java.awt.event.InputEvent;
|
||||||
import java.awt.event.KeyEvent;
|
import java.awt.event.KeyEvent;
|
||||||
import net.runelite.client.config.Config;
|
import net.runelite.client.config.Config;
|
||||||
import net.runelite.client.config.ConfigGroup;
|
import net.runelite.client.config.ConfigGroup;
|
||||||
@@ -286,4 +287,15 @@ public interface KeyRemappingConfig extends Config
|
|||||||
{
|
{
|
||||||
return new ModifierlessKeybind(KeyEvent.VK_SPACE, 0);
|
return new ModifierlessKeybind(KeyEvent.VK_SPACE, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ConfigItem(
|
||||||
|
position = 21,
|
||||||
|
keyName = "control",
|
||||||
|
name = "Control",
|
||||||
|
description = "The key which will replace {Control}."
|
||||||
|
)
|
||||||
|
default ModifierlessKeybind control()
|
||||||
|
{
|
||||||
|
return new ModifierlessKeybind(KeyEvent.VK_UNDEFINED, InputEvent.CTRL_DOWN_MASK);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -162,6 +162,11 @@ class KeyRemappingListener implements KeyListener
|
|||||||
mappedKeyCode = KeyEvent.VK_SPACE;
|
mappedKeyCode = KeyEvent.VK_SPACE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (config.control().matches(e))
|
||||||
|
{
|
||||||
|
mappedKeyCode = KeyEvent.VK_CONTROL;
|
||||||
|
}
|
||||||
|
|
||||||
if (mappedKeyCode != KeyEvent.VK_UNDEFINED && mappedKeyCode != e.getKeyCode())
|
if (mappedKeyCode != KeyEvent.VK_UNDEFINED && mappedKeyCode != e.getKeyCode())
|
||||||
{
|
{
|
||||||
final char keyChar = e.getKeyChar();
|
final char keyChar = e.getKeyChar();
|
||||||
|
|||||||
@@ -27,6 +27,7 @@ package net.runelite.client.plugins.keyremapping;
|
|||||||
import com.google.inject.Guice;
|
import com.google.inject.Guice;
|
||||||
import com.google.inject.testing.fieldbinder.Bind;
|
import com.google.inject.testing.fieldbinder.Bind;
|
||||||
import com.google.inject.testing.fieldbinder.BoundFieldModule;
|
import com.google.inject.testing.fieldbinder.BoundFieldModule;
|
||||||
|
import java.awt.event.InputEvent;
|
||||||
import java.awt.event.KeyEvent;
|
import java.awt.event.KeyEvent;
|
||||||
import javax.inject.Inject;
|
import javax.inject.Inject;
|
||||||
import net.runelite.api.Client;
|
import net.runelite.api.Client;
|
||||||
@@ -63,6 +64,7 @@ public class KeyRemappingListenerTest
|
|||||||
public void setUp()
|
public void setUp()
|
||||||
{
|
{
|
||||||
Guice.createInjector(BoundFieldModule.of(this)).injectMembers(this);
|
Guice.createInjector(BoundFieldModule.of(this)).injectMembers(this);
|
||||||
|
when(keyRemappingConfig.control()).thenReturn(new ModifierlessKeybind(KeyEvent.VK_UNDEFINED, InputEvent.CTRL_DOWN_MASK));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@@ -123,4 +125,18 @@ public class KeyRemappingListenerTest
|
|||||||
|
|
||||||
verify(event).setKeyCode(KeyEvent.VK_SPACE);
|
verify(event).setKeyCode(KeyEvent.VK_SPACE);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testControlRemap()
|
||||||
|
{
|
||||||
|
when(keyRemappingConfig.control()).thenReturn(new ModifierlessKeybind(KeyEvent.VK_NUMPAD1, 0));
|
||||||
|
when(keyRemappingPlugin.chatboxFocused()).thenReturn(true);
|
||||||
|
|
||||||
|
KeyEvent event = mock(KeyEvent.class);
|
||||||
|
when(event.getExtendedKeyCode()).thenReturn(KeyEvent.VK_NUMPAD1); // for keybind matches()
|
||||||
|
|
||||||
|
keyRemappingListener.keyPressed(event);
|
||||||
|
|
||||||
|
verify(event).setKeyCode(KeyEvent.VK_CONTROL);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user