为android编写字典应用程序.想要根据当前输入语言设置翻译方向(更准确地说,软键盘上显示的字母语言).例如,我们得到了英语 - 法语的语言对.我想要的是,当用户输入英文字母(显示英文键盘布局)时,翻译方向是直的,当键盘布局改为法语时,翻译方向也会改变为倒置.
所以,问题是:在Android输入法框架中是否有任何事件,它允许跟踪这种布局的变化.如果没有,也许有一些标准的技巧来做我需要的?
先谢谢你,Alex
android keyboard-layout keyboard-events android-input-method
我正在开发一个必须将一些键或鼠标事件发送到活动窗口的应用程序.
我正在使用这个类: 鼠标
using System.Runtime.InteropServices;
using System.Windows.Forms;
namespace Mouse
{
public static class VirtualMouse
{
// import the necessary API function so .NET can
// marshall parameters appropriately
[DllImport("user32.dll")]
static extern void mouse_event(int dwFlags, int dx, int dy, int dwData, int dwExtraInfo);
// constants for the mouse_input() API function
private const int MOUSEEVENTF_MOVE = 0x0001;
private const int MOUSEEVENTF_LEFTDOWN = 0x0002;
private const int MOUSEEVENTF_LEFTUP = 0x0004;
private const int MOUSEEVENTF_RIGHTDOWN = 0x0008;
private const int MOUSEEVENTF_RIGHTUP = 0x0010;
private …Run Code Online (Sandbox Code Playgroud) 我是Objective-C的新手,我希望限制用户从普通键盘的字母部分切换到数字/标点符号.这就是说,我想禁用键盘上的按钮进行切换.也许我正在使用错误的搜索参数,但我在谷歌上找不到什么,在我的参考书中更少.我如何实际禁用iOS键盘上的按钮?使用字母/数字/标点字符,只需忽略输入的输入字符即可轻松完成,但在键盘部分之间切换的按钮执行操作而不是返回字符.
谢谢您的帮助!
我正在开发基于画布的游戏,并且正在全球范围内使用window.addEventListener()附加keyup和keydown事件.这适用于正常查看页面,但将其嵌入iframe时; 它没有得到keyup和keydown事件.有没有更好的方法可以做到这一点?
我有一个带有发送按钮的UDP信使,但令我很恼火的是我必须按下按钮而不是只是按下Enter.所以我创建了程序TForm1.Edit2KeyPress.现在我不知道如何定义Enter按钮if (enter is pressed) then {code for sending message}.
回答后我有新问题.我输入的任何内容都是逐字母发送的.这是我的代码单元chat1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, IdSocketHandle, StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
Memo1: TMemo;
Edit1: TEdit;
Button2: TButton;
Edit2: TEdit;
Label1: TLabel;
procedure Button1Click(Sender: TObject);
procedure FormActivate(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Edit2KeyPress(Sender: TObject; var Key: Char);
private
Activated: Boolean;
procedure SearchEvent(ResultIP, ResultName: String);
procedure UDPRead(Sender: TObject; AData: TStream;
ABinding: TIdSocketHandle);
procedure UDPException(Sender: TObject);
public
end;
var …Run Code Online (Sandbox Code Playgroud) 如何在不按键盘键的情况下触发按键事件?我试过这里的解决方案,但我得到以下异常:
'System.Windows.PresentationSource.FromVisual(System.Windows.Media.Visual)'的最佳重载方法匹配具有一些无效参数.
考虑Shift+A包含键盘上的2键按键事件,如何在不按键盘的情况下执行此操作?(让我们只需在按钮单击的文本框中打印大写字母A)
我的代码
var key = Key.A; // Key to send
var target = Keyboard.FocusedElement; // Target element
var routedEvent = Keyboard.KeyDownEvent; // Event to send
target.RaiseEvent(new System.Windows.Input.KeyEventArgs(Keyboard.PrimaryDevice, System.Windows.PresentationSource.FromVisual(target), 0, key) { RoutedEvent = routedEvent });
Run Code Online (Sandbox Code Playgroud) 在文档中它说:
KEYEVENTF_EXTENDEDKEY(0x0001):如果指定,则扫描代码前面有一个值为0xE0(224)的前缀字节.
有人可以解释这意味着什么吗?
这有什么区别:
keybd_event(RIGHT, 0, 0, 0);
keybd_event(RIGHT, 0, 2, 0);
Run Code Online (Sandbox Code Playgroud)
还有这个:
keybd_event(RIGHT, 0, 1 | 0, 0);
keybd_event(RIGHT, 0, 1 | 2, 0);
Run Code Online (Sandbox Code Playgroud)
因为当我执行这段代码时,我看不出有什么区别?
另外,什么是"字节bScan"?在描述中它是:密钥的硬件扫描代码.那意味着什么?
我在自定义键盘上添加了textfield(keyboardTextField)和UISwitch.我可以在Switch value my code的基础上为(keyboardTextField)设置焦点ON或OFF.
- (void)switchToggled:(id)sender
{
UISwitch *mySwitch = (UISwitch *)sender;
if ([mySwitch isOn])
{
[keyboardTextField becomeFirstResponder];
}
else
{
[keyboardTextField resignFirstResponder];
}
}
Run Code Online (Sandbox Code Playgroud)
因此,当我的自定义键盘在我的设备的每个应用程序中启动它时,第一次发生了什么事情,但是在将Switch值更改为On然后OFF并且现在我的自定义后,我无法选择主应用程序的输入视图.键盘无法在我的设备的任何应用程序中写任何东西.
keyboard-events becomefirstresponder ios8 custom-keyboard ios-keyboard-extension
以下代码是我到目前为止使用三个js尝试使用WASD键向上,向下,向左和向右移动或平移旋转立方体对象,然后重置为原始位置(屏幕中间)的代码空格键.我是三个j的新手,我无法弄清楚如何使机芯运转.任何帮助将不胜感激.这是我到目前为止:
// first 5 lines are a template and should be pretty much the same always
var scene = new THREE.Scene();
var camera = new THREE.PerspectiveCamera(75, window.innerWidth/window.innerHeight, 0.1, 1000);
var renderer = new THREE.WebGLRenderer();
renderer.setSize(window.innerWidth, window.innerHeight);
document.body.appendChild(renderer.domElement);
// end template here
var geom = new THREE.BoxGeometry(10, 10, 10);
var mat = new THREE.MeshBasicMaterial({color: "red"});
var cube = new THREE.Mesh(geom, mat);
scene.add(cube);
camera.position.x = 2;
camera.position.y = 1;
camera.position.z = 20;
var light = new THREE.AmbientLight( 0x404040 ); // …Run Code Online (Sandbox Code Playgroud) javascript event-handling keyboard-events dom-events three.js
所以我要做的是:
def interrupted(signum, stackframe):
log.warning('interrupted > Got signal: %s', signum)
menu.quitMenu = True # to stop my code
signal.signal(signal.SIGINT, interrupted) # Handle KeyboardInterrupt
Run Code Online (Sandbox Code Playgroud)
问题是,虽然菜单被通知它必须停止,并且很快就会这样做,但它现在无法做到,因为它被困在raw_input:
def askUser(self):
current_date = datetime.now().isoformat(' ')
choice = raw_input('%s > ' % current_date)
return choice
Run Code Online (Sandbox Code Playgroud)
因此,由于twisted正在删除默认的中断处理程序,raw_input因此不会停止.我仍然需要按enter后^C它停止.
如何强制raw_input停止,而不安装默认的中断处理程序,这是扭曲上下文中的问题来源(因为扭曲本身不会被期望中断)
我猜这个问题与之无关raw_input:任何采取无限时间(或超过预设限制)的函数都应该以某种方式中断.
这有可接受的扭曲模式吗?
这是完整的测试代码:
from datetime import datetime
class Menu:
def __init__(self):
self.quitMenu = False
def showMenu(self):
print '''
A) Do A …Run Code Online (Sandbox Code Playgroud) keyboard-events ×10
c# ×3
dom-events ×2
javascript ×2
android ×1
canvas ×1
delphi ×1
interrupt ×1
ios ×1
ios8 ×1
keyboard ×1
mouseevent ×1
pinvoke ×1
python ×1
three.js ×1
twisted ×1
wpf ×1