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;
|
||||
|
||||
import java.awt.event.InputEvent;
|
||||
import java.awt.event.KeyEvent;
|
||||
import net.runelite.client.config.Config;
|
||||
import net.runelite.client.config.ConfigGroup;
|
||||
@@ -286,4 +287,15 @@ public interface KeyRemappingConfig extends Config
|
||||
{
|
||||
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;
|
||||
}
|
||||
|
||||
if (config.control().matches(e))
|
||||
{
|
||||
mappedKeyCode = KeyEvent.VK_CONTROL;
|
||||
}
|
||||
|
||||
if (mappedKeyCode != KeyEvent.VK_UNDEFINED && mappedKeyCode != e.getKeyCode())
|
||||
{
|
||||
final char keyChar = e.getKeyChar();
|
||||
|
||||
@@ -27,6 +27,7 @@ package net.runelite.client.plugins.keyremapping;
|
||||
import com.google.inject.Guice;
|
||||
import com.google.inject.testing.fieldbinder.Bind;
|
||||
import com.google.inject.testing.fieldbinder.BoundFieldModule;
|
||||
import java.awt.event.InputEvent;
|
||||
import java.awt.event.KeyEvent;
|
||||
import javax.inject.Inject;
|
||||
import net.runelite.api.Client;
|
||||
@@ -63,6 +64,7 @@ public class KeyRemappingListenerTest
|
||||
public void setUp()
|
||||
{
|
||||
Guice.createInjector(BoundFieldModule.of(this)).injectMembers(this);
|
||||
when(keyRemappingConfig.control()).thenReturn(new ModifierlessKeybind(KeyEvent.VK_UNDEFINED, InputEvent.CTRL_DOWN_MASK));
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -123,4 +125,18 @@ public class KeyRemappingListenerTest
|
||||
|
||||
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