Solved No Break Key On Dell Keyboard

June 28, 2013 at 13:06:25
Specs: Windows 7, 3.3 GHz / 4001 MB

The keyboard that came with my Dell 2320 does not have a Pause/Break key. I need to use Ctrl-Break for debugging VBA code.

Note: The Dell 2320 is not a laptop. It is an All-In-One desktop PC with a wireless USB keyboard.

I found the following at:

http://en.community.dell.com/suppor...

but my registry does not show a Scancode Map under Keyboard Layout so I can't edit the values:

2) 
Explore the Registry, expanding each element 
HKEY_LOCAL_MACHINE
 -SYSTEM
   -Current Control Set
      - Control
           - Keyboard Layout

Click on the Scancode Map, and EDIT the key values to match that 
shown below.
i.e. to have values of  :  00,00,00,00,00,00,00,00,02,00,00,00,46,e0,44,00,00,00,00,00

Once Done you will need to re-boot your laptop, but after that you can 
use <Ctrl><F10> as the pause/Break Key.

Any idea how to program a "substitute" Ctrl-Break sequence that VBA will recognize?

Thanks!

Click Here Before Posting Data or VBA Code ---> How To Post Data or Code.


See More: No Break Key On Dell Keyboard

Report •


✔ Best Answer
July 2, 2013 at 18:39:42

Thanks for all the suggestions. I've solved the issue.

This site does a great job of explaining " scancode sequences" and "escape sequences" and how the Ctrl key works. It even included the Scancode for <Ctrl><Break>: e0 46

http://www.win.tue.nl/~aeb/linux/kb...

With this Scancode Map value, F12 (with or without the Ctrl key) sends a <Ctrl><Break>:

00,00,00,00,00,00,00,00,02,00,00,00,58,e0,46,00,00,00,00,00

Thanks again.

Click Here Before Posting Data or VBA Code ---> How To Post Data or Code.



#1
June 28, 2013 at 13:54:55

AutoHotkey should do it but stick around to see if there is an alternative solution.

Always pop back and let us know the outcome - thanks


Report •

#2
June 29, 2013 at 17:13:58

The link you posted gave you a solution:-

If you want you can copy/Paste the text below into a *.txt file.
Save the file onto your desktop and rename as New_Reg_Key.reg because of the *.reg extension you can then double_click the file to add the new registry key.

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout]
"Scancode Map"=hex:00,00,00,00,00,00,00,00,02,00,00,00,46,e0,44,00,00,00,00,00

Please let us know if you found someone's advice to be helpful.


Report •

#3
June 29, 2013 at 19:05:55

Sci-Guy:

Thanks, I did see that, but I didn't try it for 2 related reasons:

1 - The thread was not about the same model machine as mine, in fact it was for a laptop.
2 - There is no Scancode Map entry in my registry.

Since I don't know all that much about Registry Keys, I was reluctant to use the .reg file to add a registry key based on instructions for a laptop. I didn't know if it was OK for my All-In-One to have a Scancode registry key since it didn't originally come with one.

In the meantime, I did a little more research and it appears that the Scancode registry key can be added safely:

http://www.experts-exchange.com/OS/...

But wait...there's more!

On the experts-exchange site it shows this table:

00,00,00,00 -- header version (always 00000000)
00,00,00,00 -- header flags (always 00000000)
02,00,00,00 -- number of entries (including terminating NULL)
1d,00,3a,00 -- map entry: desired scancode, key to remap
00,00,00,00 -- NULL terminator

The .reg file suggested above uses this value to set <Ctrl><F10> to be used for Pause/Break.

"Scancode Map"=
hex:00,00,00,00,00,00,00,00,02,00,00,00,46,e0,44,00,00,00,00,00

My problem is that I need a key sequence, preferably <Ctrl><F12>, to imitate <Ctrl><Break> - not just Break. Excel VBA requires <Ctrl><Break> to pause a Macro.

I can't tell from the table at the experts-exchange site what values to use for the map entry section. I'm pretty sure that changing the 44 to 58 will remap the F12 key, but I don't see an entry on the table for a Break key. If the Pause key is the same as the Break key, the value on that table is (??). In any case, I need <Ctrl><Break> and I'm not sure how to create that Scancode value.

Can you offer any insight into that?

Thanks! Again.

Click Here Before Posting Data or VBA Code ---> How To Post Data or Code.


Report •

Related Solutions

#4
June 29, 2013 at 19:08:40

Derek:

I did get AutoHotKey to send a <Ctrl><Break> when pressing <Ctrl><F12> but if I can get the Scancode registry key option to work, I think I'd rather let Windows handle it instead of a thrid party app.

For now, AHK is working. Thanks for the suggestion,

Click Here Before Posting Data or VBA Code ---> How To Post Data or Code.


Report •

#5
June 29, 2013 at 19:34:44

I assume you noticed that you can convert an AHK script file into an EXE very simply, so that it doesn't invoke the AutoHotKey program at all. You can then either keep or dump AutoHotkey itself as you feel fit.

Always pop back and let us know the outcome - thanks


Report •

#6
June 30, 2013 at 10:23:21

Yes, Derek, I did read that.

However, I still think that a registry key is "cleaner" than having to ensure that either the .ahk or .exe file runs on startup.

Once the VBA code gets stuck in a loop due to a coding error, I have to have <Ctrl><Break> available or I can't stop the code without a force quit of Exce,l which I hate doing. Therefore, I want it set up whenever I start Windows.

If I can determine the proper Scancode values for getting a <Ctrl><Break> via <Ctrl><F12>, the key sequence will essentially be built into Windows.

Again, I appreciate the AHK suggestion and I may ending up sticking with it.

Click Here Before Posting Data or VBA Code ---> How To Post Data or Code.


Report •

#7
June 30, 2013 at 12:53:23

Yep, I do understand what you mean and why an alternative solution would be better.

In the meantime, depending the script you have produced, maybe the AHK file (or EXE) could be put in the Windows startup folder so that it always runs in the background - unless that is what you are already doing.

I did stumble across this but it looks similar to the process you've already investigated:
http://www.howtogeek.com/howto/wind...
I guess you can't remap a key you don't have....

Always pop back and let us know the outcome - thanks


Report •

#8
June 30, 2013 at 15:37:28

Found this:-


There is no Pause-Break key on most Dell laptops. However, on most Dell laptops, the Fn key (next to bottom-left Ctrl key) can be pressed along with one of the function keys (F1-F12) to emulate the Pause-Break key. Which function key? Well, it varies with laptop models*. You need to experiment.

1) Open windows command prompt and run the following command:

ping -t google-or-any-other-website.com

This command pings the specified website continuously. This command can be temporarily paused by pressing Ctrl+break; so, this is what you need to do next:

2) Hold down Ctrl and Fn keys together and start pressing NON-MULTIMEDIA function keys* and also try other keys in the top row e.g. Insert. Hopefully, one of the key combinations will cause the ping command to spit:

Ping statistics for 173.194.38.174:
Packets: Sent = 11, Received = 11, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 160ms, Maximum = 266ms, Average = 180ms
Control-Break

Which means the key combination triggered CTRL+Break.

* Fn + F6 on Dell Inspiron, Fn + F12 on some Dell XPS

** Most function keys function as multimedia keys when pressed along with Fn (e.g. to adjust speaker volume, adjust LCD brightness, disable wifi, disable LCD and enable external VGA etc). If a function key is a multimedia key then it is definitely not a Break key. Avoid pressing those keys -- sometimes they do strange things and to undo those things you would need to read owners manual or contact Dell support.

Please let us know if you found someone's advice to be helpful.


Report •

#9
June 30, 2013 at 17:33:30

Sci-Guy,

Thanks for looking that up, but it's not going to help.

* Fn + F6 on Dell Inspiron

The keyboard that came with my Dell Inspiron One 2320 does not have an Fn key. There's an Fn and a Pause key on the virtual on-screen keyboard but it doesn't appear to pass keys to VBA while the code is running. Besides, even if it did work, I don't want to rely on bringing up an OSK to debug code.

Funny (not so) thing happened today....

Since my system is still under warranty, I started a chat session with Dell tech support about the ability to produce a <Ctrl><Break> key sequence.

After verifying my system model number, OS version and (key point here) the model number of my keyboard, he went off and "did some research".

A few minutes later he came back and informed me that I could use <Ctrl><NumLock> for Pause and <Ctrl><ScrLock> for Break. When I informed him that the keyboard model (that he verified) has no NumLock or ScrLock keys, he wasn't quite sure what to say. When I asked him why he suggested using keys that my keyboard doesn't even have his answer was "If you can't use those control sequences then you cannot produce a Break."

At that point I realized that there was no sense in continuing the chat so I "hung up".

Seriously, what kind of research could he have done to suggest keys that don't exist after asking me what model keyboard I have? Dell usually follows up their chat session with a phone call to see how it went. I wonder if they'll call me this time.

Click Here Before Posting Data or VBA Code ---> How To Post Data or Code.


Report •

#10
July 2, 2013 at 18:39:42
✔ Best Answer

Thanks for all the suggestions. I've solved the issue.

This site does a great job of explaining " scancode sequences" and "escape sequences" and how the Ctrl key works. It even included the Scancode for <Ctrl><Break>: e0 46

http://www.win.tue.nl/~aeb/linux/kb...

With this Scancode Map value, F12 (with or without the Ctrl key) sends a <Ctrl><Break>:

00,00,00,00,00,00,00,00,02,00,00,00,58,e0,46,00,00,00,00,00

Thanks again.

Click Here Before Posting Data or VBA Code ---> How To Post Data or Code.


Report •

#11
July 2, 2013 at 18:42:31

Good news - thanks for letting us know.


Report •

#12
November 3, 2013 at 18:08:07

Try <Ctrl><Fn><Pause> (The pause is usually a Fn key on the <Insert> key)

Report •

#13
November 25, 2013 at 19:24:37

Sorry, I couldn't delete the previous message. These are the right values:

to Del key:
00,00,00,00,00,00,00,00,02,00,00,00,1D,E1,53,EO,00,00,00,00,00

to F10 key:
00,00,00,00,00,00,00,00,02,00,00,00,1D,E1,44,00,00,00,00,00,00

Understanding the "Scancode Map" hexadecimal value, you can remap any key with any keu.

These are the details:
00,00,00,00 this is the header (leave it as four 00s)
00,00,00,00 these are flags (also leave them as four 00s)
02,00,00,00 this is the number of pairs that we will remap starting with 02,00,00,00 for just one pair.
1D,E1,44,00 the first remap all the remaps are in the format 2-byte target, 2-byte original and we want the F10 key (44,00) to become the Pause key (scan code 1D,E1) so F10,Pause.
00,00,00,00 this is the null terminator (leave it as four 00s)

Source
http://backup2.we-convince.com/keyb...
Key Codes
http://stanislavs.org/helppc/make_c...


Report •


Ask Question