标签: keystroke

Java Swing KeyStrokes:如何使CTRL修饰符工作

在下面的程序中,为什么在击中+时a按键打印"你好,世界"不?CTRLa

import java.awt.event.*;
import javax.swing.*;

public class KeyStrokeTest {
    public static void main(String[] args) {
        JPanel panel = new JPanel();

        /* add a new action named "foo" to the panel's action map */
        panel.getActionMap().put("foo", new AbstractAction() {
                public void actionPerformed(ActionEvent e) {
                    System.out.println("hello, world");
                }
            });

        /* connect two keystrokes with the newly created "foo" action:
           - a
           - CTRL-a
        */
        InputMap inputMap = panel.getInputMap();
        inputMap.put(KeyStroke.getKeyStroke(Character.valueOf('a'), 0), "foo");
        inputMap.put(KeyStroke.getKeyStroke(Character.valueOf('a'), InputEvent.CTRL_DOWN_MASK), "foo");

        /* display the …
Run Code Online (Sandbox Code Playgroud)

java swing action keystroke

8
推荐指数
2
解决办法
2万
查看次数

如果使用jquery关注输入字段以外的任何内容,如何禁用退格

如果使用jquery专注于2个特定输入字段以外的任何内容,如何禁用退格键击?

这是我目前的代码(现在包括2个文本框):

$(document).keypress(function(e){
  var elid = $(document.activeElement).attr('id');
  if(e.keyCode === 8 && elid != 'textbox1' || elid != 'textbox2'){
      return false;
  };
});
Run Code Online (Sandbox Code Playgroud)

这不起作用....任何想法?

jquery input keystroke backspace

8
推荐指数
4
解决办法
3万
查看次数

Emacs中§符号的键绑定

我在Ubuntu工作,但由于插入unicode字符的标准方式(Ctrl+ Shift+ U,之后,unicode代码)在emacs中不起作用,我在我的.emacs一些按键中为不同的unicode符号,我经常使用,例如:

(global-set-key (kbd "C-c b") "?")
Run Code Online (Sandbox Code Playgroud)

并且每个符号都可以正常工作,除了符号§,当我使用相应的击键时,它被简单的短划线(" - ")取代:

(global-set-key (kbd "C-c y") "§")
Run Code Online (Sandbox Code Playgroud)

问题是,这个符号与其他符号的区别是什么?如何解决我的问题?

unicode emacs keystroke

8
推荐指数
1
解决办法
1202
查看次数

捕获任何类型的击键(也称为键盘记录),最好是c#.net,但任何类型都可以

我需要捕获我在键盘上键入的所有内容,然后以多种方式存储它.我更喜欢用C#编写.Net,但任何事情都会真的.我写这个"键盘记录器"的理由很简单:

最近我成了Peregrine游戏手套的拥有者.这是一个非常酷的东西,它允许你通过用手指做出手势来发出命令,同时,它是一个非常薄的手套,所以你可以用那只手轻轻打字.

此外,我找到了一个名为AutoHotkey的好程序,可以通过为任何操作制作宏来严重提高您的工作效率.您可以将任何键绑定到任何其他键或一系列键或命令.

问题是,你不能说它就像"这是我正在做的最多"和"这是我很少使用的东西".真的,你能说出你使用更多的键,页面向下还是向下?你更频繁地使用alt + tab逃脱或布局切换(ctrl-shift或alt-shift)?我说不出来.在没有统计数据的情况下,我不知道应该自动切换哪些动作或切换到更简单的界面.

所以我想写一个程序在后台运行并记录我输入的所有内容.然后该程序将存储我的动作的第一,第二和第三顺序直方图(例如,它将存储我按下任何一个键的次数,例如输入,我按下连续两个键的次数,例如alt和then tab,多少次我按下三个键的连续,如ctrl,alt然后删除或ctrl,shift然后转义)

然后,经过一段时间工作/播放/无论如何,我将获得有关我应该尝试绑定到该界面(手套)的操作类型或使用AutoHotkey程序自动执行的信息,以提高与PC交互的速度.

换句话说,简单的科学实验,只是为了好玩和进步:)

.net c# keystroke capture keystrokes

7
推荐指数
2
解决办法
3万
查看次数

检测Ctrl + Enter

(使用WPF)我试图检测何时Ctrl+ Enter被击中.所以我尝试了这段代码:

if (e.Key == Key.Return && (e.Key == Key.LeftCtrl || e.Key == Key.RightCtrl))
 {
   //Do Something            
 }
Run Code Online (Sandbox Code Playgroud)

显然这是不正确的,因为它不起作用.任何人都可以帮助我,解释正确的方法应该是什么?

感谢名单

c# wpf keystroke

7
推荐指数
2
解决办法
7867
查看次数

Java:如何从任何JComponent中删除默认的KeyStrokes?

我想控制哪个按键属于哪个按键Jcomponent.我甚至想知道如何删除与a关联的默认击键,Jcomponent并将其替换为其他喜欢的击键.

我按照这个oracle 教程,它给出了一个JButton的例子,我尝试了它并且它工作正常,但是当我用JComboBox尝试它时它不起作用!

我试图删除SPACE密钥,这是阻止JComponent响应SPACE按下

我用这段代码删除了SPACE密钥:

firstButton.getInputMap().put(KeyStroke.getKeyStroke("SPACE"), "none");
Run Code Online (Sandbox Code Playgroud)

JComboBox也是一样

sizesComboBox.getInputMap().put(KeyStroke.getKeyStroke("SPACE"), "none");
Run Code Online (Sandbox Code Playgroud)

但是不起作用,它(JComboBox)仍然响应SPACE密钥

为此firstButton,我删除了SPACE印刷机的效果; 我添加了键F,所以firstButton当你按下F键盘上的键时,按下它,蚂蚁不响应SPACE(意图).请注意,F即使firstButton没有焦点也会发生按下(JComponent.WHEN_IN_FOCUSED_WINDOW)

这是一个显示我的示例的SSCCE代码:
注意:我故意没有将上面的代码行添加到第二个按钮"secondButton",所以它仍然SPACE默认响应.

import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
import javax.swing.*;

public class KeyStrokeTest extends JPanel
{

    JPanel widgetPanel;
    JPanel textAreaPanel;
    JButton firstButton;
    JButton secondButton;
    JTextArea textArea;
    JComboBox<Integer> sizesComboBox;

    public …
Run Code Online (Sandbox Code Playgroud)

java swing keystroke key-bindings jcombobox

7
推荐指数
1
解决办法
4025
查看次数

Python代码导致退格键击?

我一直在寻找以不同方式映射退格键的方法,但这不是我所追求的.

我正在编写一个python代码的程序,基本上我想写一行代码,导致程序认为有人只是点击了GUI中的Backspace键(因为退格键删除了一些东西)

我如何在退格键击中编码?

python keystroke backspace

7
推荐指数
3
解决办法
4万
查看次数

在VS Code中按键显示

操作系统:Windows

我正在尝试找到一个击键软件,它将显示我在VS Code中时使用的击键.这将用于呈现或进行截屏.

我已经尝试过Carnac,它可以随时在VS Code中使用.我知道有很多选项,我见过人们用于Mac的,但我尝试用于Windows的那些选项似乎不适用于VS Code.

有人知道为什么Carnac不适合我,或者替代?

keystroke visual-studio-code

7
推荐指数
2
解决办法
550
查看次数

Hammerspoon:连续向一个应用程序发送击键,同时正常使用其他应用程序

好的,我有一个 Hammerspoon 脚本可以为我执行按键操作。简单的例子:

hs.hotkey.bind({'cmd','alt','ctrl'}, "b", function() 
    hs.eventtap.keyStroke({}, "Left", 200000)
    hs.eventtap.keyStroke({}, "Left", 200000)
    hs.eventtap.keyStroke({}, "Right", 200000)
    hs.eventtap.keyStroke({}, "Right", 200000)
end)
Run Code Online (Sandbox Code Playgroud)

我知道我可以过滤此脚本以仅在特定应用程序中工作,但我的问题是:是否可以将这些击键发送到一个应用程序,同时在另一个应用程序中正常使用我的物理键盘?就像“在后台”发送击键一样,因此它们不会在我当前使用的应用程序中注册。

keystroke hammerspoon

7
推荐指数
1
解决办法
1969
查看次数

将键盘输入发送到正在运行的进程linux

我正在开发一个mp3播放器的网络界面(mpg123 linux).mpg123是一个命令行MP3播放器,可以使用键盘输入进行控制.例如:

$ mpg123 -C filename.mp3
Run Code Online (Sandbox Code Playgroud)

它将开始播放歌曲并监控键盘输入以进行控制.按's'将暂停歌曲'q'以退出等.

我使用Perl脚本生成一个mpg123进程.从该脚本我想将输入发送到此过程.我有进程的pid,我只需要将键击发送到此进程以进行控制.

linux perl keystroke

6
推荐指数
1
解决办法
4590
查看次数