I have a typematrix 2030 keyboard. When I try to copy and paste using it's Fn keys, half the time something else happens.

Answered

### Keyboard layout

2030-skin-031-b-english-us-dvorak_860x360__2012-11-04.png (860×360) (typematrix.com)

### Setup 

  • - Device: Laptop -
  • OS: Windows 10 Enterprise
  • - VDI (?Microsoft Azure Virtual Desktop?) -
  • OS: Windows 10 Enterprise
  • IntelliJ IDEA

### Description

By "something else" I mean mostly act as if I had pressed the "insert" button.  

I understand that these keys are some kind of hotkey combination:

https://groups.google.com/g/typematrix-user-group/c/Djo1CZAt99I/m/I9ef35m29-EJ 

Cut: "Shift" + "Delete"

Copy: "Ctrl"+"Insert"

Paste: "Shift"+"Insert".

This does not happen in any other application I use.  

It's very annoying. Is there a way to solve this issue?

 

 

0
13 comments
Official comment

Did I understand correctly that your hardware keyboard has "Cut", "Copy" and "Paste" keys?

If yes, please install the attached plugin to your IDE, run it (`View | Tool windows | Dump key codes`). 

1. Press "Copy" key in the plugin and send us the codes

2. Press "Cut" key in the plugin and send us the codes

3. Press "Paste" key in the plugin and send us the codes

https://jbs.zendesk.com/attachments/token/7SSxVgEJmy8YI5AOXElO02i2s/?name=KeyCodesTest-1.0-SNAPSHOT.zip

Please specify your OS. It would mean different issues for Windows, Linux, and macOS.

1

I just wanted to let you know that your keyboard output results are unexpected. To investigate it, we have just created a special JBR build for you - https://uploads.jetbrains.com/files/2023_02_10_bCNMD2VQTTb6cZB4JzfPbp_JBS/jbr_jcef-17.0.6-windows-x64-b823%20(1).tar.gz?secret=56iqabN3bUUx6GXhtoHoxd465cCPGTcC

1. [Change your boot java runtime](https://www.jetbrains.com/help/idea/switching-boot-jdk.html) to this build

2. Launch IDE and go to the Code Editor. Open a dummy file and press the buttons in the following order:

  1. Cut
  2. Cut
  3. Copy
  4. Copy
  5. Paste
  6. Paste

The result will be stored in the log. Execute `Help | Collect logs and diagnostic data..` and send the log to us (post files to uploads.jetbrains.com)

After you finish, please return JBR to the default, or your keypress log will consume your HDD space. 

1

Currently, it looks like your keyboard sends the wrong keypresses to the system. We continue the investigation and send you an update later.

1

Can you please test your keyboard in the same environment?

1. Put the text "1" in the buffer

2. Launch Notepad in VDI and press the "Paste" button 20 times

3. Calculate how many 1's you have inserted. 

1

Done.  

It's still a moderate (very annoying) issue to me,
without any answer from the two other places I have asked (the keyboard's manufacturers forum and stackoverflow),
so I'm pining my hopes on you.

0

Yes, you understand that correctly. They are fn keys specifically created to cut, copy & paste as the keyboard is designed to handle different types of layouts, most notably dvorak and bepo.  

2030-skin-031-b-english-us-dvorak_860x360__2012-11-04.png (860×360) (typematrix.com)

1. "Copy"

java.awt.event.KeyEvent[KEY_PRESSED,keyCode=17,keyText=Ctrl,keyChar=Undefined keyChar,modifiers=Ctrl,extModifiers=Ctrl,keyLocation=KEY_LOCATION_LEFT,rawCode=17,primaryLevelUnicode=0,scancode=29,extendedKeyCode=0x11] on javax.swing.JTextField[,0,21,844x30,invalid,layout=javax.swing.plaf.basic.BasicTextUI$UpdateHandler,alignmentX=0.0,alignmentY=0.0,border=com.intellij.ide.ui.laf.darcula.ui.DarculaTextBorder@6606dd9e,flags=296,maximumSize=,minimumSize=,preferredSize=,caretColor=javax.swing.plaf.ColorUIResource[r=0,g=0,b=0] Name: TextField.caretForeground,disabledTextColor=javax.swing.plaf.ColorUIResource[r=140,g=140,b=140] Name: TextField.inactiveForeground,editable=true,margin=com.intellij.util.ui.JBInsets[top=2,left=6,bottom=2,right=6],selectedTextColor=javax.swing.plaf.ColorUIResource[r=255,g=255,b=255] Name: TextField.selectionForeground,selectionColor=javax.swing.plaf.ColorUIResource[r=38,g=117,b=191] Name: TextField.selectionBackground,columns=0,columnWidth=0,command=,horizontalAlignment=LEADING]

java.awt.event.KeyEvent[KEY_RELEASED,keyCode=17,keyText=Ctrl,keyChar=Undefined keyChar,keyLocation=KEY_LOCATION_LEFT,rawCode=17,primaryLevelUnicode=0,scancode=29,extendedKeyCode=0x11] on javax.swing.JTextField[,0,21,844x30,invalid,layout=javax.swing.plaf.basic.BasicTextUI$UpdateHandler,alignmentX=0.0,alignmentY=0.0,border=com.intellij.ide.ui.laf.darcula.ui.DarculaTextBorder@6606dd9e,flags=296,maximumSize=,minimumSize=,preferredSize=,caretColor=javax.swing.plaf.ColorUIResource[r=0,g=0,b=0] Name: TextField.caretForeground,disabledTextColor=javax.swing.plaf.ColorUIResource[r=140,g=140,b=140] Name: TextField.inactiveForeground,editable=true,margin=com.intellij.util.ui.JBInsets[top=2,left=6,bottom=2,right=6],selectedTextColor=javax.swing.plaf.ColorUIResource[r=255,g=255,b=255] Name: TextField.selectionForeground,selectionColor=javax.swing.plaf.ColorUIResource[r=38,g=117,b=191] Name: TextField.selectionBackground,columns=0,columnWidth=0,command=,horizontalAlignment=LEADING]

java.awt.event.KeyEvent[KEY_RELEASED,keyCode=155,keyText=Insert,keyChar=Undefined keyChar,keyLocation=KEY_LOCATION_STANDARD,rawCode=45,primaryLevelUnicode=0,scancode=82,extendedKeyCode=0x9b] on javax.swing.JTextField[,0,21,844x30,invalid,layout=javax.swing.plaf.basic.BasicTextUI$UpdateHandler,alignmentX=0.0,alignmentY=0.0,border=com.intellij.ide.ui.laf.darcula.ui.DarculaTextBorder@6606dd9e,flags=296,maximumSize=,minimumSize=,preferredSize=,caretColor=javax.swing.plaf.ColorUIResource[r=0,g=0,b=0] Name: TextField.caretForeground,disabledTextColor=javax.swing.plaf.ColorUIResource[r=140,g=140,b=140] Name: TextField.inactiveForeground,editable=true,margin=com.intellij.util.ui.JBInsets[top=2,left=6,bottom=2,right=6],selectedTextColor=javax.swing.plaf.ColorUIResource[r=255,g=255,b=255] Name: TextField.selectionForeground,selectionColor=javax.swing.plaf.ColorUIResource[r=38,g=117,b=191] Name: TextField.selectionBackground,columns=0,columnWidth=0,command=,horizontalAlignment=LEADING]


2. "Cut"

java.awt.event.KeyEvent[KEY_PRESSED,keyCode=16,keyText=Shift,keyChar=Undefined keyChar,modifiers=Shift,extModifiers=Shift,keyLocation=KEY_LOCATION_LEFT,rawCode=16,primaryLevelUnicode=0,scancode=42,extendedKeyCode=0x10] on javax.swing.JTextField[,0,21,549x30,invalid,layout=javax.swing.plaf.basic.BasicTextUI$UpdateHandler,alignmentX=0.0,alignmentY=0.0,border=com.intellij.ide.ui.laf.darcula.ui.DarculaTextBorder@6606dd9e,flags=296,maximumSize=,minimumSize=,preferredSize=,caretColor=javax.swing.plaf.ColorUIResource[r=0,g=0,b=0] Name: TextField.caretForeground,disabledTextColor=javax.swing.plaf.ColorUIResource[r=140,g=140,b=140] Name: TextField.inactiveForeground,editable=true,margin=com.intellij.util.ui.JBInsets[top=2,left=6,bottom=2,right=6],selectedTextColor=javax.swing.plaf.ColorUIResource[r=255,g=255,b=255] Name: TextField.selectionForeground,selectionColor=javax.swing.plaf.ColorUIResource[r=38,g=117,b=191] Name: TextField.selectionBackground,columns=0,columnWidth=0,command=,horizontalAlignment=LEADING]

java.awt.event.KeyEvent[KEY_RELEASED,keyCode=16,keyText=Shift,keyChar=Undefined keyChar,keyLocation=KEY_LOCATION_LEFT,rawCode=16,primaryLevelUnicode=0,scancode=42,extendedKeyCode=0x10] on javax.swing.JTextField[,0,21,549x30,invalid,layout=javax.swing.plaf.basic.BasicTextUI$UpdateHandler,alignmentX=0.0,alignmentY=0.0,border=com.intellij.ide.ui.laf.darcula.ui.DarculaTextBorder@6606dd9e,flags=296,maximumSize=,minimumSize=,preferredSize=,caretColor=javax.swing.plaf.ColorUIResource[r=0,g=0,b=0] Name: TextField.caretForeground,disabledTextColor=javax.swing.plaf.ColorUIResource[r=140,g=140,b=140] Name: TextField.inactiveForeground,editable=true,margin=com.intellij.util.ui.JBInsets[top=2,left=6,bottom=2,right=6],selectedTextColor=javax.swing.plaf.ColorUIResource[r=255,g=255,b=255] Name: TextField.selectionForeground,selectionColor=javax.swing.plaf.ColorUIResource[r=38,g=117,b=191] Name: TextField.selectionBackground,columns=0,columnWidth=0,command=,horizontalAlignment=LEADING]

java.awt.event.KeyEvent[KEY_RELEASED,keyCode=127,keyText=Delete,keyChar=Delete,keyLocation=KEY_LOCATION_STANDARD,rawCode=46,primaryLevelUnicode=0,scancode=83,extendedKeyCode=0x7f] on javax.swing.JTextField[,0,21,549x30,invalid,layout=javax.swing.plaf.basic.BasicTextUI$UpdateHandler,alignmentX=0.0,alignmentY=0.0,border=com.intellij.ide.ui.laf.darcula.ui.DarculaTextBorder@6606dd9e,flags=296,maximumSize=,minimumSize=,preferredSize=,caretColor=javax.swing.plaf.ColorUIResource[r=0,g=0,b=0] Name: TextField.caretForeground,disabledTextColor=javax.swing.plaf.ColorUIResource[r=140,g=140,b=140] Name: TextField.inactiveForeground,editable=true,margin=com.intellij.util.ui.JBInsets[top=2,left=6,bottom=2,right=6],selectedTextColor=javax.swing.plaf.ColorUIResource[r=255,g=255,b=255] Name: TextField.selectionForeground,selectionColor=javax.swing.plaf.ColorUIResource[r=38,g=117

 

3. "Paste"

java.awt.event.KeyEvent[KEY_PRESSED,keyCode=16,keyText=Shift,keyChar=Undefined keyChar,modifiers=Shift,extModifiers=Shift,keyLocation=KEY_LOCATION_LEFT,rawCode=16,primaryLevelUnicode=0,scancode=42,extendedKeyCode=0x10] on javax.swing.JTextField[,0,21,844x30,invalid,layout=javax.swing.plaf.basic.BasicTextUI$UpdateHandler,alignmentX=0.0,alignmentY=0.0,border=com.intellij.ide.ui.laf.darcula.ui.DarculaTextBorder@6606dd9e,flags=296,maximumSize=,minimumSize=,preferredSize=,caretColor=javax.swing.plaf.ColorUIResource[r=0,g=0,b=0] Name: TextField.caretForeground,disabledTextColor=javax.swing.plaf.ColorUIResource[r=140,g=140,b=140] Name: TextField.inactiveForeground,editable=true,margin=com.intellij.util.ui.JBInsets[top=2,left=6,bottom=2,right=6],selectedTextColor=javax.swing.plaf.ColorUIResource[r=255,g=255,b=255] Name: TextField.selectionForeground,selectionColor=javax.swing.plaf.ColorUIResource[r=38,g=117,b=191] Name: TextField.selectionBackground,columns=0,columnWidth=0,command=,horizontalAlignment=LEADING]

java.awt.event.KeyEvent[KEY_RELEASED,keyCode=16,keyText=Shift,keyChar=Undefined keyChar,keyLocation=KEY_LOCATION_LEFT,rawCode=16,primaryLevelUnicode=0,scancode=42,extendedKeyCode=0x10] on javax.swing.JTextField[,0,21,844x30,invalid,layout=javax.swing.plaf.basic.BasicTextUI$UpdateHandler,alignmentX=0.0,alignmentY=0.0,border=com.intellij.ide.ui.laf.darcula.ui.DarculaTextBorder@6606dd9e,flags=296,maximumSize=,minimumSize=,preferredSize=,caretColor=javax.swing.plaf.ColorUIResource[r=0,g=0,b=0] Name: TextField.caretForeground,disabledTextColor=javax.swing.plaf.ColorUIResource[r=140,g=140,b=140] Name: TextField.inactiveForeground,editable=true,margin=com.intellij.util.ui.JBInsets[top=2,left=6,bottom=2,right=6],selectedTextColor=javax.swing.plaf.ColorUIResource[r=255,g=255,b=255] Name: TextField.selectionForeground,selectionColor=javax.swing.plaf.ColorUIResource[r=38,g=117,b=191] Name: TextField.selectionBackground,columns=0,columnWidth=0,command=,horizontalAlignment=LEADING]

java.awt.event.KeyEvent[KEY_RELEASED,keyCode=155,keyText=Insert,keyChar=Undefined keyChar,keyLocation=KEY_LOCATION_STANDARD,rawCode=45,primaryLevelUnicode=0,scancode=82,extendedKeyCode=0x9b] on javax.swing.JTextField[,0,21,844x30,invalid,layout=javax.swing.plaf.basic.BasicTextUI$UpdateHandler,alignmentX=0.0,alignmentY=0.0,border=com.intellij.ide.ui.laf.darcula.ui.DarculaTextBorder@6606dd9e,flags=296,maximumSize=,minimumSize=,preferredSize=,caretColor=javax.swing.plaf.ColorUIResource[r=0,g=0,b=0] Name: TextField.caretForeground,disabledTextColor=javax.swing.plaf.ColorUIResource[r=140,g=140,b=140] Name: TextField.inactiveForeground,editable=true,margin=com.intellij.util.ui.JBInsets[top=2,left=6,bottom=2,right=6],selectedTextColor=javax.swing.plaf.ColorUIResource[r=255,g=255,b=255] Name: TextField.selectionForeground,selectionColor=javax.swing.plaf.ColorUIResource[r=38,g=117,b=191] Name: TextField.selectionBackground,columns=0,columnWidth=0,command=,horizontalAlignment=LEADING]

 

0

I would like to add that sometimes for "Copy" this "5 pattern" occurs (for "Cut" and "Paste" it's similar):

java.awt.event.KeyEvent[KEY_PRESSED,keyCode=17,keyText=Ctrl,keyChar=Undefined keyChar,modifiers=Ctrl,extModifiers=Ctrl,keyLocation=KEY_LOCATION_LEFT,rawCode=17,primaryLevelUnicode=0,scancode=29,extendedKeyCode=0x11] on javax.swing.JTextField[,0,21,844x30,invalid,layout=javax.swing.plaf.basic.BasicTextUI$UpdateHandler,alignmentX=0.0,alignmentY=0.0,border=com.intellij.ide.ui.laf.darcula.ui.DarculaTextBorder@6606dd9e,flags=296,maximumSize=,minimumSize=,preferredSize=,caretColor=javax.swing.plaf.ColorUIResource[r=0,g=0,b=0] Name: TextField.caretForeground,disabledTextColor=javax.swing.plaf.ColorUIResource[r=140,g=140,b=140] Name: TextField.inactiveForeground,editable=true,margin=com.intellij.util.ui.JBInsets[top=2,left=6,bottom=2,right=6],selectedTextColor=javax.swing.plaf.ColorUIResource[r=255,g=255,b=255] Name: TextField.selectionForeground,selectionColor=javax.swing.plaf.ColorUIResource[r=38,g=117,b=191] Name: TextField.selectionBackground,columns=0,columnWidth=0,command=,horizontalAlignment=LEADING]

java.awt.event.KeyEvent[KEY_RELEASED,keyCode=17,keyText=Ctrl,keyChar=Undefined keyChar,keyLocation=KEY_LOCATION_LEFT,rawCode=17,primaryLevelUnicode=0,scancode=29,extendedKeyCode=0x11] on javax.swing.JTextField[,0,21,844x30,invalid,layout=javax.swing.plaf.basic.BasicTextUI$UpdateHandler,alignmentX=0.0,alignmentY=0.0,border=com.intellij.ide.ui.laf.darcula.ui.DarculaTextBorder@6606dd9e,flags=296,maximumSize=,minimumSize=,preferredSize=,caretColor=javax.swing.plaf.ColorUIResource[r=0,g=0,b=0] Name: TextField.caretForeground,disabledTextColor=javax.swing.plaf.ColorUIResource[r=140,g=140,b=140] Name: TextField.inactiveForeground,editable=true,margin=com.intellij.util.ui.JBInsets[top=2,left=6,bottom=2,right=6],selectedTextColor=javax.swing.plaf.ColorUIResource[r=255,g=255,b=255] Name: TextField.selectionForeground,selectionColor=javax.swing.plaf.ColorUIResource[r=38,g=117,b=191] Name: TextField.selectionBackground,columns=0,columnWidth=0,command=,horizontalAlignment=LEADING]

java.awt.event.KeyEvent[KEY_PRESSED,keyCode=155,keyText=Insert,keyChar=Undefined keyChar,keyLocation=KEY_LOCATION_STANDARD,rawCode=45,primaryLevelUnicode=0,scancode=82,extendedKeyCode=0x9b] on javax.swing.JTextField[,0,21,844x30,invalid,layout=javax.swing.plaf.basic.BasicTextUI$UpdateHandler,alignmentX=0.0,alignmentY=0.0,border=com.intellij.ide.ui.laf.darcula.ui.DarculaTextBorder@6606dd9e,flags=296,maximumSize=,minimumSize=,preferredSize=,caretColor=javax.swing.plaf.ColorUIResource[r=0,g=0,b=0] Name: TextField.caretForeground,disabledTextColor=javax.swing.plaf.ColorUIResource[r=140,g=140,b=140] Name: TextField.inactiveForeground,editable=true,margin=com.intellij.util.ui.JBInsets[top=2,left=6,bottom=2,right=6],selectedTextColor=javax.swing.plaf.ColorUIResource[r=255,g=255,b=255] Name: TextField.selectionForeground,selectionColor=javax.swing.plaf.ColorUIResource[r=38,g=117,b=191] Name: TextField.selectionBackground,columns=0,columnWidth=0,command=,horizontalAlignment=LEADING]

java.awt.event.KeyEvent[KEY_RELEASED,keyCode=17,keyText=Ctrl,keyChar=Undefined keyChar,keyLocation=KEY_LOCATION_LEFT,rawCode=17,primaryLevelUnicode=0,scancode=29,extendedKeyCode=0x11] on javax.swing.JTextField[,0,21,844x30,invalid,layout=javax.swing.plaf.basic.BasicTextUI$UpdateHandler,alignmentX=0.0,alignmentY=0.0,border=com.intellij.ide.ui.laf.darcula.ui.DarculaTextBorder@6606dd9e,flags=296,maximumSize=,minimumSize=,preferredSize=,caretColor=javax.swing.plaf.ColorUIResource[r=0,g=0,b=0] Name: TextField.caretForeground,disabledTextColor=javax.swing.plaf.ColorUIResource[r=140,g=140,b=140] Name: TextField.inactiveForeground,editable=true,margin=com.intellij.util.ui.JBInsets[top=2,left=6,bottom=2,right=6],selectedTextColor=javax.swing.plaf.ColorUIResource[r=255,g=255,b=255] Name: TextField.selectionForeground,selectionColor=javax.swing.plaf.ColorUIResource[r=38,g=117,b=191] Name: TextField.selectionBackground,columns=0,columnWidth=0,command=,horizontalAlignment=LEADING]

java.awt.event.KeyEvent[KEY_RELEASED,keyCode=155,keyText=Insert,keyChar=Undefined keyChar,keyLocation=KEY_LOCATION_STANDARD,rawCode=45,primaryLevelUnicode=0,scancode=82,extendedKeyCode=0x9b] on javax.swing.JTextField[,0,21,844x30,invalid,layout=javax.swing.plaf.basic.BasicTextUI$UpdateHandler,alignmentX=0.0,alignmentY=0.0,border=com.intellij.ide.ui.laf.darcula.ui.DarculaTextBorder@6606dd9e,flags=296,maximumSize=,minimumSize=,preferredSize=,caretColor=javax.swing.plaf.ColorUIResource[r=0,g=0,b=0] Name: TextField.caretForeground,disabledTextColor=javax.swing.plaf.ColorUIResource[r=140,g=140,b=140] Name: TextField.inactiveForeground,editable=true,margin=com.intellij.util.ui.JBInsets[top=2,left=6,bottom=2,right=6],selectedTextColor=javax.swing.plaf.ColorUIResource[r=255,g=255,b=255] Name: TextField.selectionForeground,selectionColor=javax.swing.plaf.ColorUIResource[r=38,g=117,b=191] Name: TextField.selectionBackground,columns=0,columnWidth=0,command=,horizontalAlignment=LEADING]

0

Is there anything else I need to provide?

0

Upload ID: 2023_02_17_25QY9FKnt5P76vEjjjtzn6 (file: idea-logs-20230217-1445506967804972372036679.zip)

0

Was this correct?  
Is there anything else I need to provide?  

0

If it's of any significance, I updated my setup specification, as it wasn't entirely accurate.
I have my IntelliJ running on a VDI.

0

I see. It's a VDI problem and I don't use the paste butten often enough on other applications to notice.  

I only tried copy/paste two to five times on two to three applications before and they happened to all go through that time.  

This means Intellij is not responsible.  

My apologies and thank you.

0

Please sign in to leave a comment.