标签: keystroke

使用Swift模拟按键

我正在寻找一种模拟OSX中击键的方法.我使用Objective-C 找到了另一个解决方案(模拟系统范围热键的按键),但我需要使用Swift.我怎样才能适应CGEventCreateKeyboardEvent?

cocoa keystroke keypress swift

10
推荐指数
4
解决办法
7353
查看次数

为什么 Shift+Ctrl+e 会导致 e 下划线并开始表情符号输入(linux)?

例如,为什么当我在 chrome 浏览器中时,当我想使用 Shift+Ctrl+E 组合键居中文本时,会导致出现 e\xcc\xb2 ,如果我输入 e\xcc\xb2j\xcc\xb2o\xcc\xb2y\ xcc\xb2 并按键盘上的 Enter 会导致出现 emoji 。\n我怎样才能简单地修复它?

\n

linux keystroke emoji

10
推荐指数
1
解决办法
1442
查看次数

Flutter - 主动检查是否按下了特殊键(如 ctrl)

问题:如何主动检查是否按下了某个(装饰)键,例如CTRL或SHIFT,例如:

if (SomeKeyboardRelatedService.isControlPressed()) {...}
Run Code Online (Sandbox Code Playgroud)

背景

我想检查当用户单击鼠标时是否按下了某个(装饰)键。我们无法主动去做。相反,我们正在使用RawKeyboardListener并记住isControlPressedinonKey事件。这样,稍后GestureDetector.onTap我们就可以检查是否isControlPressed为true。问题是:

  1. 我们自己维护按键状态似乎是不合理的,因为它违反了单一事实来源原则,并且可能会导致不一致。
  2. 如果用户在按住特殊键的同时离开应用程序,实际上会导致不一致。

我们阅读了相关文档,并用几个关键词进行了搜索,但最终没有结果。

keystroke ctrl dart flutter

10
推荐指数
1
解决办法
3058
查看次数

如何正确实施作弊码?

一般来说,实施一种作弊码的最佳方法是什么?我有WinForms应用程序,其中一个作弊代码可以解锁一个复活节彩蛋,但实现细节是不相关的.

我想到的最好的方法是保留每个代码的索引 - 让我们在一个虚构的C#应用​​程序中考虑着名的DOOM代码 - IDDQD和IDKFA.

string[] CheatCodes = { "IDDQD", "IDKFA"};
int[] CheatIndexes = { 0, 0 };
const int CHEAT_COUNT = 2;
void KeyPress(char c)
{
    for (int i = 0; i < CHEAT_COUNT; i++) //for each cheat code
    {
        if (CheatCodes[i][CheatIndexes[i]] == c)
        { //we have hit the next key in sequence
            if (++CheatIndexes[i] == CheatCodes[i].Length) //are we in the end?
            {
                //Do cheat work
                MessageBox.Show(CheatCodes[i]);
                //reset cheat index so we can enter it next time
                CheatIndexes[i] …
Run Code Online (Sandbox Code Playgroud)

keyboard keystroke

9
推荐指数
2
解决办法
922
查看次数

向程序发送击键

在窗口形式中,我做了一个按钮,我试图将它发送F1到特定窗口(例如FireFox,我的电脑等......)

我的问题是:

  • 我怎么用窗口的名字来做呢?(例如"Mozilla Firefox")
  • 我怎么用流程的名字来做?(例如firefox.exe)

c# keystroke sendkeys winforms

9
推荐指数
1
解决办法
1万
查看次数

在硬件级别模拟按键 - Windows

我正在寻找一种语言或图书馆,以便我可以在最大程度上模拟击键,而无需用力按键.

(我对击键程度的具体测量是当我的计算机已经运行了关键监听器(例如MouseKeys和StickyKeys)时,它是否会产生与物理按键相同的输出).

我尝试过很多键击仿真方法; Java AWT库,Java win32api,python win32com sendKeys,python ctypes按键,以及更多用于python和Java的库,但它们都没有模拟与实际硬件足够接近的关键笔划.
(当Windows MouseKeys处于活动状态时,发送冒号,半冒号或小键盘ADD键的键击只会产生这些字符,而物理按键执行鼠标键单击时)

我相信这些方法必须涉及将笔画直接发送到应用程序,而不是仅将它们传递给操作系统.

我想到这些高级(以上操作系统代码)级语言的库不会产生足够的东西.我担心我可能不得不屈服于某种BIOS编程.

有没有人对此事有任何有用的信息?
如何在低级语言中模拟按键?
我应该寻找特定于硬件的解决方案(某种富士通硬件API)吗?

我几乎觉得将机器人编程为简单地坐在硬件旁并按下按键会更容易.

谢谢!

python java hardware keystroke simulate

9
推荐指数
2
解决办法
9444
查看次数

使用keypress在node.js中启动操作

我正在使用node.js v4.5

我写了下面的函数来发送延迟的重复消息.

function send_messages() {
    Promise.resolve()
        .then(() => send_msg() )
        .then(() => Delay(1000) )
        .then(() => send_msg() )
        .then(() => Delay(1000))
        .then(() => send_msg() )        
    ;
}

function Delay(duration) {
    return new Promise((resolve) => {
        setTimeout(() => resolve(), duration);
    });
}
Run Code Online (Sandbox Code Playgroud)

我希望使用按键激活发送消息,而不是延迟.类似下面的功能.

function send_messages_keystroke() {
    Promise.resolve()
        .then(() => send_msg() )
        .then(() => keyPress('ctrl-b') ) //Run subsequent line of code send_msg() if keystroke ctrl-b is pressed
        .then(() => send_msg() )
        .then(() => keyPress('ctrl-b') )
        .then(() => send_msg() )        
    ;
}
Run Code Online (Sandbox Code Playgroud)

javascript stdin keystroke node.js promise

9
推荐指数
1
解决办法
750
查看次数

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万
查看次数

bash脚本 - 读取单击键,包括特殊键输入和空格

不确定我是否应该将它放在stackoverflow或unix.stackexchange上,但我在这里发现了一些类似的 问题,所以这里就是这样.

我正在尝试创建一个由.bashrc调用的脚本,它允许我根据单个击键选择两个选项中的一个.这通常不会很难但我希望对应于这两个选项的两个键是空格并输入.

这是我到目前为止所得到的:

#!/bin/bash

SELECT=""
while [[ "$SELECT" != $'\x0a' && "$SELECT" != $'\x20' ]]; do
    echo "Select session type:"
    echo "Press <Enter> to do foo"
    echo "Press <Space> to do bar"
    read -s -N 1 SELECT
    echo "Debug/$SELECT/${#SELECT}"
    [[ "$SELECT" == $'\x0a' ]] && echo "enter" # do foo
    [[ "$SELECT" == $'\x20' ]] && echo "space" # do bar
done
Run Code Online (Sandbox Code Playgroud)

如果我按下enter,space,backspace和x,我得到的是以下输出:

:~$ bin/sessionSelect.sh
Select session type:
Press <Enter> to start/resume a screen session
Press <Space> …
Run Code Online (Sandbox Code Playgroud)

linux bash shell keystroke special-characters

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

如何使用 PowerShell 捕获全局击键?

Powershell 可以监听并捕获按键吗?

是否可以编写一个 PowerShell 脚本,就像AutoHotkey一样,位于托盘中并等待您按下预定义的键盘键才开始执行?并且每次按下所述键时可能不会返回而是触发?

我想要实现的是 - 仅在启动脚本后按下按钮才执行预定义的脚本操作,因此将其放在桌面上并定义快捷键是行不通的。

例如:
我希望每次按“x”键时输入 3 次文本“TEST”,但我希望仅当执行此操作的脚本正在运行时才会发生这种情况。因此,当脚本未运行时 - 按“x”不会执行任何操作。

基本上,AutoHotkey 可以完全做到这一点,但如果可能的话,我想在 PowerShell 中执行此操作,而无需编写大量 C# 代码,因为那样我只需为此编写一个小型 C# 托盘应用程序。

powershell hotkeys keystroke keylogger

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