精华内容
下载资源
问答
  • js修改键值对里的键

    2020-11-30 20:58:27
    var age = '年龄'; // 给age赋值 var student = [{ name: "法外狂徒张三", age: 32, }, { name: "约翰塞纳", age: 31, }, { name: "兰迪奥顿", ...st
    var age = '年龄'; // 给age赋值
    			var student = [{
    					name: "法外狂徒张三",
    					age: 32,
    				},
    				{
    					name: "约翰塞纳",
    					age: 31,
    				},
    				{
    					name: "兰迪奥顿",
    					age: 30,
    				},
    				{
    					name: "爱国者德瑞奥",
    					age: 36,
    				},
    			];
    			for(var i=0;i<student.length;i++){ //获取数组的索引值
    				student[i][age] = student[i]['age']; //复制原来的键,由于我们给age赋值的就是string类型,所以不用加引号
    				// 他只是复制了age这个键,原来的age还存在
    				delete student[i]['age'];//删除原来的键
    			}
    			console.log(student[0]);//获取索引值为0的对象
    

    删除前
    在这里插入图片描述

    删除后
    在这里插入图片描述

    展开全文
  • WIFI小车修改键值

    2018-09-16 20:31:03
    apk界面设计,借鉴参考。
  • 键盘键值修改工具

    2014-10-11 14:48:12
    一个修改键盘键值的好工具,特别针对笔记本键盘布局使用不习惯的人特别有用。
  • 可以修改电脑键盘上按键对应的值 比如现在的按键“A”,如果你想要按下“A”的时候打出的是“B”,那么用这个软件吧。 更可以当键盘上某个按键坏了的时候,用另外一个按键替换。
  • android修改键值

    2013-08-20 10:23:00
    首先修改按键映射文件。gingerbread/sdk/emulator/keymaps/qwerty.kl。该文件确定了linux键值与android键值的对应关系。 注意事项:linux键值的选择不是没有限制的。选择不当,可能会导致...

    首先要移植的是遥控器的驱动。此略。驱动中确定linux键值与ir键值的对应关系。

    本文主要谈遥控器在framwork层的移植。

    第一步:

    首先修改按键映射文件。gingerbread/sdk/emulator/keymaps/qwerty.kl。该文件确定了linux键值与android键值的对应关系。

    注意事项:linux键值的选择不是没有限制的。选择不当,可能会导致上层不能获取到键值。

    第二步:

    修改framework下的文件:

    gingerbread/frameworks/base/core/java/android/view/KeyEvent.java
    gingerbread/frameworks/base/include/ui/KeycodeLabels.h
    gingerbread/frameworks/base/core/res/res/values/attrs.xml
    gingerbread/frameworks/base/libs/ui/Input.cpp
    gingerbread/frameworks/base/native/include/android/keycodes.h
    gingerbread/frameworks/base/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java

    修改内容:增加按键支持,对原生按键采用input.h中对应宏定义,对非标准按键采用input.h中功能键宏定义。

    在KeyEvent.java文件中,对新增加的按键需要添加类似如下注释:

    1. <prename="code"class="java">/**{@hide}*/
    2. publicstaticfinalintKEYCODE_F1=135;
    3. </pre><spanstyle="font-size:18px">或者在terminal下运行:makeupdate-api</span>
    4. <p></p>
    5. <p><spanstyle="font-size:18px">否则会报错。</span></p>
    6. <p><spanstyle="font-size:18px">此外,还需要将privatestaticfinalintLAST_KEYCODE的值进行修改,改为android键值的最大值。</span></p>
    7. <p><spanstyle="font-size:18px"><spanstyle="font-size:18px">PhoneWindowManager.java</span>主要是对一些特殊按键的处理,比如HOME,POWER等。</span></p>
    8. <pre></pre>
    9. <pre></pre>
    10. <pre></pre>



    在android中,上层可使用的键值默认情况下是92个,从0-91;一般情况下,这些键值是够用的,但是如果想扩充的话,还是需要添加新的键值的,那么如何将一个新的键值从驱动的设置映射到上层,使应用可以对我们自定义的键值进行相应的处理呢?
    对keypad来说,涉及到的文件有以下几个:
    1,/vendor/qcom/7k_ffa_keypad.kl
    首先在此文件中,添加新的键值信息:Example: key 123 WLS flag
    注意:新加的键值不要与已有的重复。
    2.kernel/arch/arm/mach-msm/keypad_surf_ffa.c
    在keypad对应的键位添加自定义的键码如 :123
    3. frameworks/base/include/ui/keycodeLabels.h
    在数组keycodes 中添加 新定义的信息
    { "MUTE", 91 },{ "WLS" , 92 }
    枚举类型 KeyCode 中添加
    kKeyCodeMute = 91
    kKeyCodeWLS= 92
    4.frameworks/base/core/res/res/values/attrs.xml
    <enum name="KEYCODE_MUTE"value="91"/>
    <enum name="KEYCODE_WLS" value="92" />
    5. frameworks/base/core/java/android/view/KeyEvent.java
    public static final int KEYCODE_MUTE = 91;
    public static final int KEYCODE_WLS = 92;
    注意: private static final int LAST_KEYCODE = KEYCODE_MUTE;
    应改为: private static final int LAST_KEYCODE = KEYCODE_WLS;

    在函数 public final boolean isSystem() 中,同样需要添加:

    case KEYCODE_SEARCH:
    case KEYCODE_WLS:

    //注意:现在(Android 2.3)这个函数调用的是frameworks\base\libs\ui\Input.cpp中的bool KeyEvent::isSystemKey(int32_t keyCode)
    //这里使用的按键定义在./development/ndk/platforms/android-9/include/android/keycodes.h
    通过以上的更改,新的键值就添加上去了,由于更改了 KeyEvent,影响到了API,
    所以需要make update-api

    如果对新键值进行处理,可以通过获取相应的keycode,对它进行处理;
    对于按键事件的处理一般如下文件中
    6. frameworks/policies/base/phone/com/android/internal/policy/impl/PhoneWindowManager.java

    综上可知,我们可以根据需求定义自己的键值,并对键值所对应的事件信息进行合理化处理。

    注:
    7k_ffa_keypad.kl是专门给7k_ffa_keypad输入设备使用的keylayout文件,所以修改7k_ffa_keypad.kl 文件只是给键盘输入增加键值。如果是其他设备的输入,如x_input,而且当没有x_iput.kl存在的时候,那么默认的kl文件就是 qwerty.kl(android-root/development/emulator/keymaps/qwerty.kl)
    这个很重要。也就是说需要实现明白添加的键值是否是7k_ffa_keypad的input event

    我的理解:看了一下key character map的处理,是通过读取kcm文件然后使用驱动程序提供的ioctl函数去修改来自输入设备的扫描码和系统预定义的keycode的映射关系。 kl文件应该也可以这么理解。这样的话,对于硬件扫描码,只需要修改这个kl文件。上层得到的都是系统预定义的keycode。

    重要补充:

    映射关系:ir硬件扫描码在驱动里面被 映射为 kernel/include/linux/input.h里面定义的某个键值。但是这个键值只在linux系统中使用。

    Android通过源码目录下的device/xxx/xxx.kl( keylayout )文件完成linux键值到Android系统要使用的键值的映射





    根据两个源码的对比:
    KeycodeLabels.h
    attrs.xml
    keycodes.h
    三个文件有改动

    特别注意:

    在文件device/xxx/xxx/xxx.kl(即键值对)文件中,重新建立按键扫描码与系统自定义的按键名称的映射关系
    按键扫描码可以通过串口中输入getevent,然后点击按钮时看打印信息获得
    扫描码不能重复,否则该文件失效
    展开全文
  • linux 下修改键值,按下shift的功能也可以修改

    参考的文章有

    1:http://blog.csdn.net/laughing_sir/article/details/8718282

    在终端输入

    2:https://jiasule.v2ex.com/t/391081

    3:http://blog.sina.com.cn/s/blog_680e2da40101btzf.html


    前言: linux 下键盘 有3层 scancode,keycode,symbol   随便修改那一层都可以,我们现在是通过修改symbol的方式来修改的;


    首先查看键值,可以通过xev | grep keycode(如果没有xev功能的话,可以网上下载一个,运行install.sh即可)

    然后点击键盘,就可以得到对应按键的键值

    比如

    state 0x0, keycode 108 (keysym 0xff1b, Escape), same_screen YES,
        XKeysymToKeycode returns keycode: 9
        state 0x8, keycode 108 (keysym 0xff1b, Escape), same_screen YES,
        XKeysymToKeycode returns keycode: 9
        state 0x0, keycode 9 (keysym 0xff1b, Escape), same_screen YES,
        state 0x0, keycode 9 (keysym 0xff1b, Escape), same_screen YES,



    查看的方法2:另外一种简便的方法查看键值可以查看:/usr/include/X11/keysymdef.h ,里面包含所有的符号名,在其中可以找到你想要的键名,里面也有些简短的注释。


    查看的方法3:通过xmodmap -pk  来显示整个键盘的布局,我的电脑如下:

    第一列是keycode  第二列表示keysym对应的值,第三列表示按下shift对应的内容;


    第二步:把需要修改的键值改成你需要设置的键值,

    得到键值之后,就在 “~” 目录下创建 .xmodmaprc(加.是为了隐藏文件) 文件,内容如下

    keycode 10= 0x32 0x40 

    保存之后,在终端输入

    xmodmap ~/.xmodmaprc  

    然后1键就变成2键了 同时!也会变成@   ^_^  

    其实,你不用每次都运行

    xmodmap ~/.xmodmaprc

    这个命令,可 以把上面的命令做成一个脚本程序,例如:在  /usr/bin/ 目录下创建 key文件,内容如下

    [php]  view plain  copy
    1. #!/bin/sh  
    2. xmodmap ~/.xmodmaprc  

    保存后添加执行权限   chmod +x /usr/bin/key

    然后把key程序添加到系统自动启动的程序里面就大功告成了!!!


    注意:对于一些修饰符的键值设置比较麻烦  

    直接输入 xmodmap, 不带参数, 输出结果是你当前键盘的一些修饰键的信息
    比如我的机器上的输出是这样的:
    xmodmap:  up to 4 keys per modifier, (keycodes in parentheses):

    shift       Shift_L (0x32),  Shift_R (0x3e)
    lock        Caps_Lock (0x42)
    control     Control_L (0x25),  Control_R (0x69)
    mod1        Alt_L (0x40),  Alt_R (0x6c),  Meta_L (0xcd)
    mod2        Num_Lock (0x4d)
    mod3      
    mod4        Super_L (0x85),  Super_R (0x86),  Super_L (0xce),  Hyper_L (0xcf)
    mod5        ISO_Level3_Shift (0x5c),  Mode_switch (0xcb)


    把键码(keycode) 事件 转换为 keysym.这是第一层
    然后 再参考 修饰 映射 modifier,来确定按下ctrl shift 之类按键后的反应
    所以以上表第二行的内容为例.它表示的是大小写切换键Capslock
    lock        Caps_Lock (0x42)
    括号里的0x42 从十六进制转换到 十进制 就是 66 , 也就是 CapsLock 这个按键对应keycode 66
    按下Capslock 后, 系统接受到 keycode 66 , 系统转换为 Caps_Lock 这个keysym.
    然后按照 modifier 映射表 把 Caps_Lock 转换为 lock 功能, 就是大小写转换.
     layer1             layer2        layer3
    keycode            keysym         modifier
     keycode 66 ----> Caps_Lock ----> lock
    所以,要修改键位, 就要把这两层映射关系都要改掉. 但是修改之前,要知道被修改按键现有的对应关系.
    可以使用 "xmodmap -pke " 来输出现在所有keycode -> keysym 的映射.

    首先从修改 keycod -> keysym 入手.
    比如 我的需求1:调换esc 和 ~
    这两个键都不在modifier 里面, 所以直接调换一下这两个按键的keycode 和keysym 就可以了,
    在你的.Xmodmap 文件里面写入

    ! first , exchange  (1) esc (2) grave ,"~",
    ! keycode   9 = Escape NoSymbol Escape
    ! keycode  49 = grave asciitilde grave asciitilde


    keycode  49 = Escape NoSymbol Escape
    keycode  9 = grave asciitilde grave asciitilde

    注: 感叹号! 在配置文件中是被当成注释,不运行的.

    涉及到modifier的按键修改就麻烦一点了, 要用  add remove 来修改 modifier 映射
    比如把 casplock 改成 delete. 我们要做的事情就要分成两步.
    既要把 capslock 的keysym 改成 delete 的keysym , 又要把capslock 从 modifier中的lock 组里移除.
    否则你直接运行
    "xmodmap -e "keycode 66 = BackSpace BackSpace BackSpace BackSpace ""
    你会发现, capslock 键已经可以当backspace 来删除之前的字符了.但同时, 它还起着 原来的Capslock的大小写切换功能,
    再用"xmodmap"查看一下
    shift       Shift_L (0x32),  Shift_R (0x3e)
    lock        BackSpace (0x42)
    control     Control_L (0x25),  Control_R (0x69)
    mod1        Alt_L (0x40),  Alt_R (0x6c),  Meta_L (0xcd)
    mod2        Num_Lock (0x4d)
    mod3      
    mod4        Super_L (0x85),  Super_R (0x86),  Super_L (0xce),  Hyper_L (0xcf)
    mod5        ISO_Level3_Shift (0x5c),  Mode_switch (0xcb)

    你看.
    lock        BackSpace (0x42)
     这个 keycode 66 的按键虽然keysym 已经改写成 backspace 了, 但是它依然表示一个大小写切换的功能.
    所以先把CapsLock 从 lock 中移除, 然后再修改keysym

    remove lock = Caps_Lock
    keycode  66 = BackSpace BackSpace BackSpace BackSpace

    这样键盘上的那个capslock 按键就完全改成backspace 了.
    remove lock = Caps_Lock 这一句表示从 lock 组里移除Caps_Lock 这个keysym.
    同样添加一个keysym 也是类似的语法 : add lock = Caps_Lock


    展开全文
  • 修改键值映射

    千次阅读 2016-05-18 13:13:27
    修改键值映射

    写博客动机:

    其实这个是心血来潮,看到键盘hhkb想买ˊ_>ˋ
    修改mac上的键盘映射,让键盘功能更加紧凑,顺便解决小拇指每次像瞎子一样摸来摸去的问题。。。。
    App:Karabiner

    A powerful and stable keyboard customizer for OS X.

    • You can easily customize from prepared settings.
    • You can also add your own settings by XML.

    最后,这个博客发表之后才发现的,原来<kbd>标签在CSDN博客里面是显示不出来的,但是在编辑器里面同步显示是正常的。
    并且,CSDN这个编辑器好像是仿的StackEdit,布局加使用说明都好像……
    最最后想吐槽的是,每次看着同步显示的都挺好,发表之后就丑得让人不想看第二次……


    正文


    对于我来说,平时很少用到右侧的 commandoption,而比较多用到的是delete\,以及方向键,方向键准备用ctrlF/B/E/A/P/N来替换。

    又学会了一招,<kbd>keyboard</kbd> 效果keyboard。然后一段话里如果出现两个<kbd>`</kbd>这里是测试<kbd>`</kbd>的效果是——</kbd>这里是测试<kbd>,所以最好转义一下:<kbd>\`</kbd>,效果——`这里是测试`

    Ctrl+F 光标前进一个字符,相当于右键(F = Forward)
    Ctrl+B 光标后退一个字符,相当于左键(B = Backward)
    Ctrl+A 移动到一行的开头(A = Ahead)
    Ctrl+E 移动到一行的结尾(E = End)
    Ctrl+P 上移一行,相当于上键(P = Previous)
    Ctrl+N 下移一行,相当于下键(N = Next)

    具体需求说明:

    由于ctrl在一个角落里,而caps lock属于不经常用的键,所以我将它们两个互换(这个我在系统偏好设置>键盘>修饰键里面已经换好了),换完之后记得每一个都试一下,看有没有冲突,比如我的Ctrl+N就和一个app(MiniNote)冲突了,将该快捷键删除之后(这时可能在系统偏好设置>快捷键里面找不到,在app的Preferences里面找找),方向键经测试,都可以正常使用。

    接下来就要个性化定制了,因为我打字比较快,经常打错,感觉delete有点远,将它映射到不常用的右边的command-R,另外我用Markdown 编辑数学公式的时候经常会用到\,所以准备将它映射到右边的option-R,然后`换到右边大一点的delete,原来`的地方放esc。最后的键盘布局就是:
    新键盘布局
    ok,现在要做的就是装好Karabiner,修改映射。


    好了,我要开动啦!

    现有的可以直接勾选,没有的一个(将右边的option设置为\)需要自己设置。
    修改设置流程: How to add your own settings
    参考配置修改文档:private.xml Reference Manual

    基本语法

    可以通过<item>来增加一个新的设置:

    <?xml version="1.0"?>
    <root>
    
      <item>
        <name>Name of Setting</name>
        <appendix>Optional Description of Setting</appendix>
        <identifier>Unique Identifier of Setting</identifier>
        <autogen>Behavior Definition</autogen>
        <autogen>Behavior Definition</autogen>
      </item>
    
      <item>...</item>
    
      <item>...</item>
    
    </root>

    <item>标签中再用<name>, <identifier>, <autogen>

    <name> <appendix>: These values are used in Preference Pane.
    <identifier> : This value is used to identify setting. You need to specify a unique value. We recommend you to add a “private.” prefix to your identifier. It prevents conflicts with identifiers of prepared settings.
    <autogen>: Definition of this setting behavior.
    For example, __KeyToKey__, __PointingButtonToKey__.

    关键在于<autogen> 标签中的映射要写对。


    实施ing:

    由于它给出了KeyCode和ModifierFlag两个列表,所以一开始误以为键值分为两种类型(KeyCode和ModifierFlag)映射的时候要互相对应,实际上不是。

    找到相关例子:change option_r to semicolon:
    change option_r to semicolon

    在文件夹
    /Applications/Karabiner.app/Contents/Resources/
    下找到现有各种设置的XML文件,包含上述例子的这个文件在
    /Applications/Karabiner.app/Contents/Resources/include/checkbox/standards/option.xml

    其中option_r是我以为的KeyCode,而semicolon是我以为的ModifierFlag

    从上述例子可以看出单个使用的键都标记为KeyCode,修饰键做组合用时才标记为ModifierFlag
    所以将我需要的那个设置写到Preferences>Misc & Uninstall>Custom Setting下的private.xml中:

    <?xml version="1.0"?>
      <item>
          <name>Option_R to Backslash</name>
          <identifier>remap.optionR2backslash</identifier>
          <autogen>__KeyToKey__ KeyCode::OPTION_R, KeyCode::BACKSLASH</autogen>
        </item>
    </root>

    然后在Preferences>Change KeyReload XML
    勾选需要的映射,最终的设置:
    最终映射

    其它复杂的设置可以参考:__KeyToKey__ syntax.

    另一个需要注意的地方:
    key repeat部分:要选on,否则一个键长按也只相当于敲击一次,删除时要一个字母一个字母点很不方便。
    至于按多久触发(Delay until repeat)和重复的灵敏度(Key repeat),这两个参数可以按自己的喜好设置。

    展开全文
  • 如何修改QT键值映射

    千次阅读 2020-08-21 10:09:08
    最近做一个嵌入式QT项目,当用户按设备上个小键盘区1 - 9的按键时,需要映射到其它的键值,而不是1 - 9。 尝试过单独起一个线程,从linux直接读取键值,用open("/dev/input/event3", O_RDWR)这种方法;也尝试过...
  • 鼠标按键键值修改

    2021-04-07 11:52:38
    代码路径如下,鼠标左右键的键值修改: frameworks\native\services\inputflinger\InputReader.cpp
  • 键盘钩子修改键值

    千次阅读 2011-08-03 00:25:02
    修改键值的时候,需要挂住WH_GETMSG 挂住WM_KEYBORD是不可以的。一个按键 你会不清楚对方使用WM_KEYdwon KEYUP WM_CHAR哪个消息的,最好全部挂钩 #define DLL_EXPORTS #...
  • reg add "HKLM\system\currentcontrolset\control\storagedevicepolicies" /v writeprotect /t reg_dword /d 1 /f /v 设置键名(value)/t 设置数据类型(type)/d 设置添加的值(data)/f 表示强制(forbidden) ...
  • 从平台拿到数据,是一个数组,but里面的对象格式不是我所需要的,那么两种方式更改:1.数组的map(推荐-简便) 2.直接遍历对象更改(较复杂) 格式转换,并添加了新的属性 方法1.数组的map(推荐-简便) if ...
  • var renameArray=jsonArray.map(function(item){ return { rename:item.name, rename:item.name } }) console.log(renameArray)
  • IOS NSDictionary修改键值

    千次阅读 2019-11-21 18:22:51
    先上代码,再解释。 NSDictionary *dictionary = [NSDictionary dictionaryWithObjectsAndKeys...NSDictionary是不可变字典,因此无法直接调用setValue修改,否则会宕机。需要先装换为可变字典,然后才能修改
  • 我们可以将Redis中的Hashes类型看成具有String Key和String Value的键值对容器。类似python中的dict,javascript的jaon,java 的map,每一个Hash可以存储4294967295个键值对。 1 # encoding:utf-8 2 import ...
  • 使用命令修改注册表键值及权限

    千次阅读 2016-06-17 17:14:10
    很多时候,你可能需要对注册表的某些项进行权限的修改,...regini命令就是这样一个专门修改键值以及权限的命令。 regini命令格式为: regini regini.ini 这个命令需要一个ini文件 ,其中regini.ini的格式为: 注册
  • win7下安装ora修改键值

    2012-08-10 14:41:43
    win7下安装ora修改键值 在csdn上本来下了一个,里面的东西不知所云而且还要5分,看不下去所以上传
  • php如何修改二维数组子数组的键值

    千次阅读 2016-05-19 13:50:34
    定义和用法 array_slice() 函数在数组中根据条件取出一段值,并返回。 注释:如果数组有字符串键,所返回的数组将保留键名。 语法 array_slice(array,offset,length,preserve) ...规定取出元素的开始位
  • 在adb shell状态输getevent 。...adb logcat查看键值(如果系统没有打印,就自己打印看下KeyEvent.keyCodeToString(keyCode)) 我这里是KEYCODE_F12 然后修改Vendor_7545_Product_0171.kl里边对应的key ** F12  
  • for循环遍历键值对集合 SynchronizedDictionary, long> dd = new SynchronizedDictionary, long>(); dd.Add(1,2); dd.Add(2, 3); dd.Add(3, 4); dd.Add(4, 5); dd.Add(5, 6); long[] tempkeys = new long[dd....
  • shell sed命令修改键值对以及修改

    千次阅读 2011-04-02 16:03:53
    1.如需要修改如下键值对 sed命令: sed 's#CERT_PATH.*$#CERT_PATH\" value=\"/opt/SUR/ReportServer/bin/workspace/conf/DPIConfig\"/>#g' DpiConfig.xml 解释: sed 's#键.*$#需要...
  • mysql 修改键值

    千次阅读 2021-01-06 10:11:41
    1.实际工作当中我们使用mysql时可能要对一张表的主键值进行调整,这时就需要用到以下sql语句 2.首先查看主键值大小 select auto_increment from information_schema.TABLES where TABLE_NAME=‘表名’; 3.修改主键值...
  • 其实很早就注意注册表了因为想实现自动化,及实现一些软件问题,所以搞了一点点资料介绍有关内容及一些参数。。。。
  • 此程序可以进行查询指定文件中指定key对应的value 也可修改或增加键值对 查询功能实现思想: 按行读取指定文件,由于会出现" key",key前有若干空格,故需要移动读写指针到第一个非空格位置,在进行strncmp对比前...
  • Windows 中的注册表文件( system.dat 和 user.dat )是 Windows 的核心数据库,因此,对 Windows ...通过修改注册表文件中的数据,可以达到优化 Windows 性能的效果。但修改注册表也可能导致整个 Windows 系
  • java软件修改键值 (moto z8)
  • 修改现有字典中的键值对。 从现有字典中删除指定的键值对。 判断现有字典中是否存在指定的键值对 初学者要牢记, 字典是由一个一个的 key-value 构成的, key 是找到数据的关键, Python 对字典的操作都是通过 key...
  • 这是一个VC++ MFC应用程序,调用API函数创建和读取注册表子键和键值。用VC++ 6.0可顺利编译。
  • 23.mtk6737上报键值更改

    2018-11-29 14:55:58
    1.dws修改按键上报 2.找底层上报的对应键值标(实体按键) \alps_o1_mp1\update\alps\kst\drv\dct\dct\old_dct\Keypad_YuSu.cmp 3.映射键值给上层用 alps_o1_mp1\update\alps\device\mediateksample\k37mv1_...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 359,942
精华内容 143,976
关键字:

修改键值