问题标签 [keymapping]

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 投票
2 回答
580 浏览

vim - 带有 +keymap 选项的 macports vim

我有一个 Mac OS X Lion。还有一个 vim,它是从 macports 安装的。不幸的是,它缺少 +keymap 选项。有没有办法可以使用这个附加选项从 macports 安装 vim?据我所知,ports 获取 vim 源并编译它们。如果是这样,可能有一种方法可以保持端口安装过程以对 makefile 进行一个小的更改。你认识一个吗?

非常感谢

0 投票
5 回答
345 浏览

vim - Vim:如何创建键映射到 :edit 并跳转到最后一行?

我将键映射F2到刷新(:edit)当前打开的文件。当文件已在外部更新时(在日志文件末尾添加新行),我在观看日志文件以更新屏幕时使用它。

刷新后我想跳到文件的末尾。

如何创建:edit同时跳转到文件末尾(快捷方式G)的键映射?

0 投票
3 回答
11729 浏览

visual-studio - 用于 IntelliJ IDEA 的 Visual Studio ReSharper 键盘映射

我主要使用 Visual Studio 和 ReSharper (R#) 进行开发,并且拥有出色的 R# 工作知识。我想利用 IntelliJ IDEA 中的知识(通过我个人的 Java 冒险),而无需学习 IDEA 键盘映射方案。IDEA 有一个 Visual Studio 键盘映射,但它主要更新诸如查找 (Ctrl + F) 和替换 (Ctrl + H) 等键绑定。因为 Visual Studio 没有“检查此...”等内置功能。 (由 R# 提供的那种东西),Visual Studio 键盘映射中的那些 IntelliJ 键绑定仅仅是 IDEA 的转储。

在 VS.NET 中,ReSharper 带有两个键映射,IDEA 和 Visual Studio。自 R# 5 以来,我一直在使用 Visual Studio 键盘映射,并且真的很想在 IntelliJ 想法中有一个键盘映射,它实际上是 Visual Studio IDEA 键盘映射和 R# Visual Studio 键盘映射的组合。这个组合键映射就是我所说的用于 IntelliJ IDEA 的 Visual Studio ReSharper (R#) 键映射。

如果有人创建了接近所述描述的键盘映射,我将不胜感激。如果 JetBrains 听说过,如何将额外的键盘映射方案与 IntelliJ 捆绑在一起,它本质上是 Visual Studio 方案(在 IntelliJ IDEA 中)和 ReSharper Visual Studio 方案(在 VS.NET 中)的组合?

0 投票
2 回答
6027 浏览

macos - 某些键映射在 MacVim 中不起作用

我最近从以前使用 Linux 切换到使用 Mac 工作。我发现了 MacVim(来自http://code.google.com/p/macvim/)并且一直在尝试移植我以前的键盘映射。

我以前的映射如下:

  • Ctrl-T: 新标签
  • Ctrl-W:关闭标签/窗口
  • Ctrl-1... Ctrl-0:切换到编号选项卡
  • Alt-Up: 新标签(与 相同Ctrl-T
  • Alt-Left/ Alt-Right:切换到上一个/下一个选项卡
  • Ctrl-Alt-E: 以文件模式打开 FuzzyFinder
  • Ctrl-Alt-B: 以缓冲模式打开 FuzzyFinder
  • Ctrl-Alt-W: 从缓冲区中清除尾随空格

现在,为了使这些映射更像“Mac”,我决定将前两个切换为使用 option(即 Apple 徽标)键,而所有其他映射都使用 command 键而不是 Alt(即Ctrl-Alt-E变为Ctrl-Command-E)。我在http://macvim.org/OSX/index.php上读到这个键可以用 D 映射(即)。我的.vimrc的新内容如下:

因此,在重新映射密钥之后,一些现在可以工作,而另一些则不能,原因没有明确的逻辑。

什么有效:

  • Cmd-TCmd-W成功地打开和关闭标签。
  • Cmd-1...Cmd-0成功地用于切换标签。

什么不起作用:

  • Cmd-Up打开标签不起作用。
  • Cmd-Left并且Cmd-Right切换标签不起作用。
  • Ctrl-Cmd-E并且Ctrl-Cmd-B打开 FuzzyFinder 不起作用。
  • Ctrl-Cmd-W清除空格不起作用(但它也不会关闭选项卡,因为它没有ctrl.
0 投票
3 回答
3651 浏览

model-view-controller - ExtJS 4 如何在使用 MVC 时为窗口正确创建 KeyMap

我有一个简单的 ExtJS 应用程序,它是用 MVC 风格编写的(我的大部分信息来自这里)。

我的应用程序创建了一个视口,并有一个带有表单、一些字段和一个按钮的视图。

该应用程序有一个带有“loginButtonClick”功能的控制器,控制器通过以下方式监视点击事件:

这很好用,但是现在显示登录窗口时,我希望输入键也执行 loginButtonClick 方法。

我已经尝试了各种各样的事情,但我遇到的基本问题是在哪里放置用于创建键盘映射的代码,以及如何将它绑定到正确的实例。

例如,如果我在控制器中创建键盘映射(这是我的偏好),我需要获取该控制器的特定视图实例(我可能会打开多个相同类型的窗口)。

那么,您将如何从控制器中为其视图(窗口)创建一个键映射(或?),在按下回车键时调用本地方法(this.loginButtonClick)?

0 投票
1 回答
1048 浏览

c++ - linux下keycodes是否一致

我目前正在尝试创建一个小的 C/C++ 程序,它模拟一个多媒体键(例如“暂停/播放”)上的按键。

为了模拟按键,我使用了-library 中的XTestFakeKeyEvent-function 。X11我在 SO 上找到了一个工作示例:Simulate keypress in a Linux C console application

我的问题是,我打算模拟的那些特殊键在keysymdef.h-file 中找不到,其中XKeysymToKeycode定义了使用的 -function 的常量。

所以,我做了一点研究,发现了这篇文章,它把我带到了xmodmap-command。使用xmodmap -pk我得到了一个包含这些键的列表:

使用这些定义的值(如172播放/暂停)作为 -function 的键码,XTestFakeKeyEvent我让它工作:

现在,我的问题是:

我可以依靠这些值(整数)映射到每个 linux 系统上的这些键吗?如果不是(这是我的猜测),那么动态(在代码中)获取正确映射的正确方法是什么?

0 投票
2 回答
303 浏览

vim - 视口导航不支持重新映射 vim 方向键

我正在使用 colemak,因此我重新映射了我的方向键,就像这样

问题是视口导航不支持这些键绑定。例如。当我按下时,^w+n我想将焦点转移到左侧的视口,而是打开了一个新的空视口。

如何帮助单独重新绑定所有视口导航键?

0 投票
1 回答
3143 浏览

javascript - 你能给我看一些 Keymap.js 的例子吗,(权威指南)?

JavaScript:权威指南:6th Keymap.js

Keymap.js:将键事件绑定到处理函数。

该模块定义了一个 Keymap 类。此类的一个实例表示键标识符(定义如下)到处理函数的映射。可以在 HTML 元素上安装 Keymap 以处理 keydown 事件。当此类事件发生时,Keymap 使用其映射来调用适当的处理程序。

创建 Keymap 时,您可以传递一个 JavaScript 对象,该对象表示 Keymap 的初始绑定集。该对象的属性名称是关键标识符,属性值是处理函数。创建 Keymap 后,您可以通过将键标识符和处理函数传递给 bind() 方法来添加新的绑定。您可以通过将密钥标识符传递给 unbind() 方法来删​​除绑定。

要使用 Keymap,请调用其 install() 方法,并传递一个 HTML 元素,例如文档对象。install() 将 onkeydown 事件处理程序添加到指定对象。调用此处理程序时,它会确定所按下键的键标识符并调用绑定到该键标识符的处理程序函数(如果有)。一个 Keymap 可以安装在多个 HTML 元素上。

关键标识符

键标识符是键的不区分大小写的字符串表示形式以及同时按住的任何修饰键。键名通常是键上的(未移位的)文本。合法的键名包括“A”、“7”、“F2”、“PageUp”、“Left”、“Backspace”和“Esc”。

有关名称列表,请参阅此模块中的 Keymap.keyCodeToKeyName 对象。这些是 DOM Level 3 标准定义的名称的子集,并且此类将在实现时使用事件对象的 key 属性。

键标识符还可以包括修饰键前缀。这些前缀是 Alt、Ctrl、Meta 和 Shift。它们不区分大小写,并且必须与键名隔开,并且必须用空格或下划线、连字符或 + 隔开。例如:“SHIFT+A”、“Alt_F2”、“meta-v”和“ctrl alt left”。在 Mac 上,Meta 是 Command 键,Alt 是 Option 键。一些浏览器将 Windows 键映射到 Meta 修饰符。

处理函数

处理程序作为安装了键盘映射的文档或文档元素的方法被调用,并被传递两个参数:1) keydown 事件的事件对象 2) 被按下的键的键标识符 处理程序返回值成为返回keydown 处理程序的值。如果处理函数返回 false,则键盘映射将停止冒泡并取消与 keydown 事件关联的任何默认操作。

...

0 投票
4 回答
32339 浏览

android - 如何在 android 中使用 Dictionary(如 iphone NSDictionary)?

我在soap消息中工作过,为了解析来自Webservice的值,这些值存储在ArrayList中。

示例:值是员工姓名(Siva)和员工id(3433fd),这两个值存储在arraylist中,但我想存储在Dictionary中,如何?

0 投票
2 回答
134 浏览

vim - VIM - 如何根据行是否为空为键分配不同的映射?

我想根据上下文分配不同的命令。

我正在尝试做这样的事情: