问题标签 [keyboard-layout]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
262 浏览

keyboard - 是否有任何激光键盘允许您根据自己的喜好移动按键?

pgup 打印屏幕箭头等缺乏统一性让我很紧张。我想知道是否有任何激光键盘允许我调整这些键并减少程序、电子邮件和管理任务中的错误,从而使我成为更高效的键盘手。

0 投票
1 回答
2410 浏览

linux - 如何枚举 X.org 中所有可用的键盘布局?

我有一个输出有限数量的键码的设备(例如键盘楔形条形码扫描仪),我想知道这些键码将在所有可能的键盘布局上键入什么。我想编写一个 X11 客户端,将键盘布局设置为每个已安装的键盘映射,然后记录从设备接收到的每个按键的 Unicode。

如何获取所有已安装键盘布局的列表?

0 投票
1 回答
2913 浏览

unicode - 如何将 X11 键符映射到 Unicode 字符?

X11 将键码映射到键符,然后将键符映射到 Unicode。在程序中检索键符到 Unicode 映射的好方法是什么?

0 投票
1 回答
2891 浏览

c - 健身比例“轮盘赌”选择的高效实施

我目前正在用 C 语言编写键盘布局优化算法(例如由 Peter Klausler 设计的算法),并且我想按照此处所述(PDF 链接)实现适合度成比例的选择:

通过轮盘赌选择,您可以根据轮盘赌模式选择人口成员。做一个饼图,其中成员切片的面积与整个圆圈的面积是成员适应度与总人口的比值。正如你所看到的,如果圆的圆周上的一个点被随机挑选,那些具有较高适应度的人口成员将有更高的概率被选中。这确保了自然选择的发生。

问题是,我看不到如何有效地实施它。我想到了两种方法:一种不可靠,另一种很慢。

首先,慢的:

对于长度为 N 的键盘池,创建一个长度为 N 的数组,其中数组的每个元素实际上包含两个元素,一个最小值和一个最大值。每个键盘都有对应的最小值和最大值,范围取决于键盘的适应度。例如,如果键盘 0 的适应度为 10,键盘 1 的适应度为 20,键盘 2 的适应度为 25,则如下所示: 代码:

(在这种情况下,适合度越低越好,因为这意味着需要更少的努力。)

然后生成一个随机数。无论该数字属于哪个范围,相应的键盘都会被“杀死”并替换为不同键盘的后代。根据需要重复此操作多次。

问题在于它非常慢。它需要 O(N^2) 次操作才能完成。

接下来是快速的:

首先弄清楚键盘的最低和最高适应度是什么。然后在(最低适应度)和(最高适应度)之间生成一个随机数,并杀死所有适应度高于生成数的键盘。这是有效的,但不能保证只杀死一半的键盘。它还具有与“轮盘赌”选择有些不同的机制,因此它甚至可能不适用。

所以问题是,什么是有效的实现?

这本书的第 36 页有一个有效的算法(链接),但问题是,只有当您只进行一次或几次轮盘选择时,它才有效。有什么有效的方法可以同时进行许多轮盘赌选择吗?

0 投票
3 回答
3056 浏览

windows - 如何获取当前键盘布局的代码页?

我的非 Unicode 应用程序需要能够处理 Unicode 键盘输入(WM_CHAR/等),因此接收 8 位字符代码,然后在内部将其转换为 Unicode。需要 9x 兼容性,因此不能选择使用大多数 Unicode API。

目前它查看 PRIMARYLANGID(GetKeyboardLayout(0)) 返回的语言,并在硬编码表中查找相关代码页。我找不到获取特定语言或键盘布局使用的代码页的函数。然后可以使用 MultiByteToWideChar 转换字符/字符串。

有没有办法获取当前键盘布局的代码页?GetACP 返回不受当前键盘布局影响的默认系统代码页。

0 投票
1 回答
3941 浏览

linux - 使用更多修饰符重新映射键盘

我正在寻找一种方法来为我的键盘添加一个“布局”。我已经在使用将 altgr 用于本地字母的布局。我想添加的是一个镜像右侧键盘,它使用大写锁定激活(在http://xkcd.com/mirrorboard.xkb中有描述)

不幸ISO_LEVEL3_SHIFT的是已经被当地字母表所采用。(AFAIK)如果我mode_shift用来更改组,我不能再在组中使用超过 2 个级别。有没有办法为 altgr 和创建不同的组mode_shift

0 投票
2 回答
2949 浏览

windows-7 - VMware Fusion 和 MacbookPro 键盘

我在 Macbook Pro 上的 VMware Fusion 下运行 Windows 7 Ultimate(零售版)。我使用 Microsoft 键盘布局创建器 MSKLC为 Mac 创建了键盘布局。

我的问题是,当我输入引号或双引号字符时,什么也没有发生。然后我再次按下它并获得两次角色。当我使用标准的美国国际键盘布局时,也会发生类似的行为。

  1. '我什么都得不到。
  2. 第二次按下我明白了

如果我按'一次,然后按任何其他键,它通常会产生预期的输出,例如

  1. 第一次按下我什么都没得到”
  2. 现在按f我得到'f

如果我按'一次,然后按i,我得到í(见这里

有趣的是,如果我按'一次,然后按退格键,就好像我从未按过'(退格键正常工作)。

#也会发生类似的事情。

正如你可以想象的那样,我花了很长时间才输入这个,键盘做它正在做的事情......应该轻弹到OSX!

0 投票
2 回答
1398 浏览

windows - 按键时的扫描码不同。微软规范错了吗?

我正在使用 Windows XP 专业版 SP3。标准英文键盘。我住在美国; 从来没有碰过键盘设置。库存安装。因此,当我按检查我的程序返回的扫描码时,它们如下所示:

A = 30
S = 31
D = 32
F = 33
G = 34

当我检查微软规范(文档的第 11 页:: http: //download.microsoft.com/download/1/6/1/161ba512-40e2-4cc9-843a-923143f3456c/scancode.doc )它说:

A = 31
S = 32
D = 33
F = 34
G = 35

他们落后 1 分!任何想法为什么?

0 投票
3 回答
122 浏览

escaping - 旧的 Esc 可以做什么程序员特定的功能?

我最近将我的波浪号/反引号重新映射到 Escape(至少我最初是这样学习的)并将波浪号/反引号放在左 Windows 键中(我最初是如何学习的)。

那个浮动Esc键现在在西北,我考虑过将它映射为 F9 的副本(用于通用 SQL 执行键)。是否有可以帮助程序员的浮动 Escape 键的建议用途?

0 投票
1 回答
1035 浏览

iphone - 从 Web 表单控制 iPhone 键盘的初始移位状态(和布局?)

我希望能够从 Javascript 提示符(为 Web 表单添加的更新)控制 iPhone 键盘的初始切换状态。它似乎大多默认为初始大写,但我确信我已经输入/看到了最初是小写的提示。我也确信我已经看到了网络上使用的自定义布局。

最初谷歌搜索(见更新)除了说在输入类中有“电话”或“拉链”会调出数字键盘(尽管这可能已经停止工作)之外,没有发现任何明显的文档或以前的答案。显然“url”或“email”也可以选择适当的布局。这显然不适用于 javascript 提示,并且在某些版本中可能不起作用。

所有这些东西都有官方来源吗?它是否适用于所有固件版本?有没有人有一个通用的解决方案来改变键盘布局或在 Javascript 提示中这样做?

更新 对于网络表单:在发布问题后直接从 Apple 找到了这个,以及这个。这个问题仍然代表 Javascript 提示。

更新 2 啊!也很有用;Apple 链接中未提及的占位符文本和搜索按钮。这里有一些更相关的信息。