DOS Box Keyboard problem

G

Guest

When I start any DOS program I get message in the DOS box "One or more CON
code pages invalid for given keyboard code". My DOS program will run but many
keys do not deliver the correct character - all shift characters deliver
strange symbols.

This may be due to the fact I have a portuguese keyboard while XP etc are
all set up in UK English.

Maybe I need to put something in autoexec.nt but what? Keyb seems to have
disappeared under XP.

Any help appreciated.

____
/ ony
 
W

Wesley Vogel

<quote>
One or more CON code pages invalid for given keyboard code
The KEYB command examined all prepared code pages, and has found that at
least one code page is incompatible for your screen console device (CON).
This is only information to let you know that your keyboard and screen
console are working with different code pages.
<quote>
from...
Microsoft MS-DOS 5.0 Messages Reference
http://www.microsoft.com/technet/archive/msdos/messages.mspx?mfr=true

chcp displays or sets the active code page number.

Open command.com...
Start | Run | Type: command | Click OK |
Type: chcp hit Enter.

You get...
Active code page: nnn

Type: exit and hit Enter to close command.com.

Open cmd.exe...
Start | Run | Type: cmd | Click OK |
Type: chcp hit Enter.

You get...
Active code page: nnn

Are they the same?

For U.S. English versions of Windows NT the default is 437 codepage, U.S.
English.

Active code page should be the same for both command.com and cmd.exe.

Check this registry key and entries.

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\CodePage]
"ACP"="1252"
"OEMCP"="437"
"MACCP"="10000"
"OEMHAL"="vgaoem.fon"

ACP is the default ANSI code page; OEMCP is the default OEM code page; and
MACCP is the default Macintosh code page.

The OEMCP value controls to which OEM code page to translate ANSI, and the
OEMHAL value controls the display of extended characters at a command
prompt.

ANSI Codepage ID 1252 is used for all Western European languages, including
English.

The default OEM code page in Windows NT is the DOS 437 code page.

codepage select= yyy

yyy value from table.
Value Country/Region
------------------------------
437 United States
850 Multilingual (Latin I)
852 Slavic (Latin II)
855 Cyrillic (Russian)
857 Turkish
860 Portuguese
861 Icelandic
863 Canadian-French
865 Nordic
866 Russian
869 Modern Greek

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\
Control\Nls\CodePage

Here's some info from various sources.

ACP is the default ANSI code page; OEMCP is the default OEM code page; and
MACCP is the default Macintosh code page.

The OEMCP value controls to which OEM code page to translate ANSI, and the
OEMHAL value controls the display of extended characters at a command
prompt.

the default OEM code page in Windows NT is the DOS 437 code page

The computer's ANSI code page is stored in the following registry value:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\CodePage\ACP

For U.S. English versions of Windows NT, Windows 95, and Windows 98, the
default OEM code page is 437 (U.S. English). The computer's OEM code page is
stored in the following registry value:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\CodePage\OEMCP

To verify the client OEM code page on Windows NT, Windows 95 and Windows 98
computers, run chcp from the command line. To verify that data in a file is
stored in the proper code page, you must use the appropriate editor. ANSI
data should look correct in any GUI editor (such as Notepad, WordPad, or
Microsoft Word). OEM data should look correct in a command-line tool (such
as type or edit).

This may be of some interest...
INFO: Windows, Code Pages, and Character Sets
http://support.microsoft.com/kb/7543

--
Hope this helps. Let us know.

Wes
MS-MVP Windows Shell/User

In
 
G

Guest

Wesley, thanks for your note.

I get 437 from command chcp and cmd chcp.

When in the cmd box I can type with all characters OK

When in the command box only lower case letters/numbers and a few specials
work. This does not change after typing chcp 860 (portugal).

I would try mode con codepage select=860 in the command box but I have no
way of typing a = character!

The registry settings are exactly as listed in your note.

The program I am running allows me to "shell to DOS" and I have tried chcp
while in the shell and exiting back to the program - still same problem.

____
/ ony


Wesley Vogel said:
<quote>
One or more CON code pages invalid for given keyboard code
The KEYB command examined all prepared code pages, and has found that at
least one code page is incompatible for your screen console device (CON).
This is only information to let you know that your keyboard and screen
console are working with different code pages.
<quote>
from...
Microsoft MS-DOS 5.0 Messages Reference
http://www.microsoft.com/technet/archive/msdos/messages.mspx?mfr=true

chcp displays or sets the active code page number.

Open command.com...
Start | Run | Type: command | Click OK |
Type: chcp hit Enter.

You get...
Active code page: nnn

Type: exit and hit Enter to close command.com.

Open cmd.exe...
Start | Run | Type: cmd | Click OK |
Type: chcp hit Enter.

You get...
Active code page: nnn

Are they the same?

For U.S. English versions of Windows NT the default is 437 codepage, U.S.
English.

Active code page should be the same for both command.com and cmd.exe.

Check this registry key and entries.

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\CodePage]
"ACP"="1252"
"OEMCP"="437"
"MACCP"="10000"
"OEMHAL"="vgaoem.fon"

ACP is the default ANSI code page; OEMCP is the default OEM code page; and
MACCP is the default Macintosh code page.

The OEMCP value controls to which OEM code page to translate ANSI, and the
OEMHAL value controls the display of extended characters at a command
prompt.

ANSI Codepage ID 1252 is used for all Western European languages, including
English.

The default OEM code page in Windows NT is the DOS 437 code page.

codepage select= yyy

yyy value from table.
Value Country/Region
------------------------------
437 United States
850 Multilingual (Latin I)
852 Slavic (Latin II)
855 Cyrillic (Russian)
857 Turkish
860 Portuguese
861 Icelandic
863 Canadian-French
865 Nordic
866 Russian
869 Modern Greek

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\
Control\Nls\CodePage

Here's some info from various sources.

ACP is the default ANSI code page; OEMCP is the default OEM code page; and
MACCP is the default Macintosh code page.

The OEMCP value controls to which OEM code page to translate ANSI, and the
OEMHAL value controls the display of extended characters at a command
prompt.

the default OEM code page in Windows NT is the DOS 437 code page

The computer's ANSI code page is stored in the following registry value:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\CodePage\ACP

For U.S. English versions of Windows NT, Windows 95, and Windows 98, the
default OEM code page is 437 (U.S. English). The computer's OEM code page is
stored in the following registry value:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\CodePage\OEMCP

To verify the client OEM code page on Windows NT, Windows 95 and Windows 98
computers, run chcp from the command line. To verify that data in a file is
stored in the proper code page, you must use the appropriate editor. ANSI
data should look correct in any GUI editor (such as Notepad, WordPad, or
Microsoft Word). OEM data should look correct in a command-line tool (such
as type or edit).

This may be of some interest...
INFO: Windows, Code Pages, and Character Sets
http://support.microsoft.com/kb/7543

--
Hope this helps. Let us know.

Wes
MS-MVP Windows Shell/User

In
Pandora said:
When I start any DOS program I get message in the DOS box "One or more CON
code pages invalid for given keyboard code". My DOS program will run but
many keys do not deliver the correct character - all shift characters
deliver strange symbols.

This may be due to the fact I have a portuguese keyboard while XP etc are
all set up in UK English.

Maybe I need to put something in autoexec.nt but what? Keyb seems to have
disappeared under XP.

Any help appreciated.

____
/ ony
 
W

Wesley Vogel

I would try mode con codepage select=860 in the command box but I have no
way of typing a = character!

PASTE the line in!

mode con codepage select=860

This will also work...
mode con cp select=860

So will this...

chcp 860

This is copied from a command prompt, I did not type a single character, all
pasted....
-----------------------------
Microsoft Windows XP [Version 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.

C:\>
C:\>chcp
Active code page: 437

C:\>
C:\>chcp 860
Active code page: 860

C:\>
C:\>chcp
Active code page: 860

C:\>
C:\>mode con cp select=437

Status for device CON:
----------------------
Lines: 2500
Columns: 80
Keyboard rate: 31
Keyboard delay: 1
Code page: 437


C:\>
C:\>mode con cp

Status for device CON:
----------------------
Code page: 437


C:\>
-----------------------------

Alt + Spacebar + E + P will paste contents of clipboard into a command
window.

Alt + Spacebar opens context menu
E opens the Edit menu
P is Paste

Alt + Spacebar + E + S will Select all the contents of a command window.

Alt + Spacebar opens context menu
E opens the Edit menu
S is Select All

You do not anything special. You just need to get the settings set
properly.

Command Prompt Copy & Paste

This will set the QuickEdit Mode and the Insert Mode.

Right click the cmd.exe shortcut | Properties | Options tab |
Under Edit Options select both:
QuickEdit mode
and
Insert mode
Click Apply | Click OK

QuickEdit mode
[[Enables you to use a pointing device (mouse) to cut and paste, bypassing
the Edit menu.]]

This option provides a fast, easy way to copy text from (and paste text
into) Command Prompt windows with a mouse. You can highlight text with a
mouse and use the Enter key to copy the highlighted text to the Windows
Clipboard. Or highlight text and right click to copy to clipboard.

Insert mode
[[Enables you to insert text at the cursor. If this is not selected, text
that is typed at the cursor replaces existing text.]]

This option (on by default) allows you to insert text at the cursor
position. You can right click and paste.

Or...
Open a command Prompt | Right click the top border |
Properties | Options tab | Under Edit Options select both:
QuickEdit mode
and
Insert mode
Click Apply | Click OK | Place a tick in Modify shortcut that started this
window |
Click OK.
-----

Highlight text with the cursor and hit the Enter key to copy to the Windows
clipboard. Or highlight text and right click to copy to the Windows
clipboard.

[[By selecting the Quick Edit Mode check box, you enable copy and paste from
the Command Prompt window. To copy, select the text in the Command Prompt
window with your left mouse button, and then right-click. To paste, either
at the command prompt or in a text file, right-click.]]
---------------------

Active Code Page Versus Selected Code Page
http://support.microsoft.com/kb/67584

Instead of AUTOEXEC.BAT and CONFIG.SYS, use AUTOEXEC.NT and CONFIG.NT.

Command.com uses AUTOEXEC.NT and CONFIG.NT, cmd.exe does not. If either
AUTOEXEC.NT or CONFIG.NT are missing or messed up command.com will not run.
Cmd.exe will run with both AUTOEXEC.NT and CONFIG.NT missing completely.

The input locale does not type the chosen keyboard mapping in the MS-DOS
window
http://support.microsoft.com/kb/262283

HKEY_Current_User\Keyboard Layout\Preload\1 value

English (US) is 1033 decimal or 00000409 hex.
English (UK) is 2057 decimal or 00000809 hex.
Portuguese (Standard) is 2070 decimal or 00000816 hex.
Portuguese (Brazil) is 1046decimal or 00000416 hex.

See switches=/k
Paste the following line into Start | Run...
hh ntcmds.chm::/switches.htm

Or Switches
http://www.microsoft.com/resources/.../xp/all/proddocs/en-us/switches.mspx?mfr=true

--
Hope this helps. Let us know.

Wes
MS-MVP Windows Shell/User

In
Pandora said:
Wesley, thanks for your note.

I get 437 from command chcp and cmd chcp.

When in the cmd box I can type with all characters OK

When in the command box only lower case letters/numbers and a few specials
work. This does not change after typing chcp 860 (portugal).

I would try mode con codepage select=860 in the command box but I have no
way of typing a = character!

The registry settings are exactly as listed in your note.

The program I am running allows me to "shell to DOS" and I have tried chcp
while in the shell and exiting back to the program - still same problem.

____
/ ony


Wesley Vogel said:
<quote>
One or more CON code pages invalid for given keyboard code
The KEYB command examined all prepared code pages, and has found that at
least one code page is incompatible for your screen console device (CON).
This is only information to let you know that your keyboard and screen
console are working with different code pages.
<quote>
from...
Microsoft MS-DOS 5.0 Messages Reference
http://www.microsoft.com/technet/archive/msdos/messages.mspx?mfr=true

chcp displays or sets the active code page number.

Open command.com...
Start | Run | Type: command | Click OK |
Type: chcp hit Enter.

You get...
Active code page: nnn

Type: exit and hit Enter to close command.com.

Open cmd.exe...
Start | Run | Type: cmd | Click OK |
Type: chcp hit Enter.

You get...
Active code page: nnn

Are they the same?

For U.S. English versions of Windows NT the default is 437 codepage, U.S.
English.

Active code page should be the same for both command.com and cmd.exe.

Check this registry key and entries.

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\CodePage]
"ACP"="1252"
"OEMCP"="437"
"MACCP"="10000"
"OEMHAL"="vgaoem.fon"

ACP is the default ANSI code page; OEMCP is the default OEM code page;
and MACCP is the default Macintosh code page.

The OEMCP value controls to which OEM code page to translate ANSI, and
the OEMHAL value controls the display of extended characters at a command
prompt.

ANSI Codepage ID 1252 is used for all Western European languages,
including English.

The default OEM code page in Windows NT is the DOS 437 code page.

codepage select= yyy

yyy value from table.
Value Country/Region
------------------------------
437 United States
850 Multilingual (Latin I)
852 Slavic (Latin II)
855 Cyrillic (Russian)
857 Turkish
860 Portuguese
861 Icelandic
863 Canadian-French
865 Nordic
866 Russian
869 Modern Greek

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\
Control\Nls\CodePage

Here's some info from various sources.

ACP is the default ANSI code page; OEMCP is the default OEM code page;
and MACCP is the default Macintosh code page.

The OEMCP value controls to which OEM code page to translate ANSI, and
the OEMHAL value controls the display of extended characters at a command
prompt.

the default OEM code page in Windows NT is the DOS 437 code page

The computer's ANSI code page is stored in the following registry value:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\CodePage\ACP

For U.S. English versions of Windows NT, Windows 95, and Windows 98, the
default OEM code page is 437 (U.S. English). The computer's OEM code
page is stored in the following registry value:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\CodePage\OEMCP

To verify the client OEM code page on Windows NT, Windows 95 and Windows
98 computers, run chcp from the command line. To verify that data in a
file is stored in the proper code page, you must use the appropriate
editor. ANSI data should look correct in any GUI editor (such as
Notepad, WordPad, or Microsoft Word). OEM data should look correct in a
command-line tool (such as type or edit).

This may be of some interest...
INFO: Windows, Code Pages, and Character Sets
http://support.microsoft.com/kb/7543

--
Hope this helps. Let us know.

Wes
MS-MVP Windows Shell/User

In
Pandora said:
When I start any DOS program I get message in the DOS box "One or more
CON code pages invalid for given keyboard code". My DOS program will
run but many keys do not deliver the correct character - all shift
characters deliver strange symbols.

This may be due to the fact I have a portuguese keyboard while XP etc
are all set up in UK English.

Maybe I need to put something in autoexec.nt but what? Keyb seems to
have disappeared under XP.

Any help appreciated.

____
/ ony
 
G

Guest

Thanks guys for your efforts.

I found that using copy and paste (from a notepad document) into the command
dosbox pasted the wrong characters - just as if I was typing directly from
the keyboard.

Putting the mode con command in config.nt did not work.

The eventual solution was to set up a small BAT file with the mode con cp
select=860 in it and the appropriate commands to change to my program
directory and call the dos program. I open dos with Start/Run/Command then
call my BAT file and IT WORKS

Thanks again for your time.

Tony


____
/ ony


Wesley Vogel said:
I would try mode con codepage select=860 in the command box but I have no
way of typing a = character!

PASTE the line in!

mode con codepage select=860

This will also work...
mode con cp select=860

So will this...

chcp 860

This is copied from a command prompt, I did not type a single character, all
pasted....
-----------------------------
Microsoft Windows XP [Version 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.

C:\>
C:\>chcp
Active code page: 437

C:\>
C:\>chcp 860
Active code page: 860

C:\>
C:\>chcp
Active code page: 860

C:\>
C:\>mode con cp select=437

Status for device CON:
----------------------
Lines: 2500
Columns: 80
Keyboard rate: 31
Keyboard delay: 1
Code page: 437


C:\>
C:\>mode con cp

Status for device CON:
----------------------
Code page: 437


C:\>
-----------------------------

Alt + Spacebar + E + P will paste contents of clipboard into a command
window.

Alt + Spacebar opens context menu
E opens the Edit menu
P is Paste

Alt + Spacebar + E + S will Select all the contents of a command window.

Alt + Spacebar opens context menu
E opens the Edit menu
S is Select All

You do not anything special. You just need to get the settings set
properly.

Command Prompt Copy & Paste

This will set the QuickEdit Mode and the Insert Mode.

Right click the cmd.exe shortcut | Properties | Options tab |
Under Edit Options select both:
QuickEdit mode
and
Insert mode
Click Apply | Click OK

QuickEdit mode
[[Enables you to use a pointing device (mouse) to cut and paste, bypassing
the Edit menu.]]

This option provides a fast, easy way to copy text from (and paste text
into) Command Prompt windows with a mouse. You can highlight text with a
mouse and use the Enter key to copy the highlighted text to the Windows
Clipboard. Or highlight text and right click to copy to clipboard.

Insert mode
[[Enables you to insert text at the cursor. If this is not selected, text
that is typed at the cursor replaces existing text.]]

This option (on by default) allows you to insert text at the cursor
position. You can right click and paste.

Or...
Open a command Prompt | Right click the top border |
Properties | Options tab | Under Edit Options select both:
QuickEdit mode
and
Insert mode
Click Apply | Click OK | Place a tick in Modify shortcut that started this
window |
Click OK.
-----

Highlight text with the cursor and hit the Enter key to copy to the Windows
clipboard. Or highlight text and right click to copy to the Windows
clipboard.

[[By selecting the Quick Edit Mode check box, you enable copy and paste from
the Command Prompt window. To copy, select the text in the Command Prompt
window with your left mouse button, and then right-click. To paste, either
at the command prompt or in a text file, right-click.]]
---------------------

Active Code Page Versus Selected Code Page
http://support.microsoft.com/kb/67584

Instead of AUTOEXEC.BAT and CONFIG.SYS, use AUTOEXEC.NT and CONFIG.NT.

Command.com uses AUTOEXEC.NT and CONFIG.NT, cmd.exe does not. If either
AUTOEXEC.NT or CONFIG.NT are missing or messed up command.com will not run.
Cmd.exe will run with both AUTOEXEC.NT and CONFIG.NT missing completely.

The input locale does not type the chosen keyboard mapping in the MS-DOS
window
http://support.microsoft.com/kb/262283

HKEY_Current_User\Keyboard Layout\Preload\1 value

English (US) is 1033 decimal or 00000409 hex.
English (UK) is 2057 decimal or 00000809 hex.
Portuguese (Standard) is 2070 decimal or 00000816 hex.
Portuguese (Brazil) is 1046decimal or 00000416 hex.

See switches=/k
Paste the following line into Start | Run...
hh ntcmds.chm::/switches.htm

Or Switches
http://www.microsoft.com/resources/.../xp/all/proddocs/en-us/switches.mspx?mfr=true

--
Hope this helps. Let us know.

Wes
MS-MVP Windows Shell/User

In
Pandora said:
Wesley, thanks for your note.

I get 437 from command chcp and cmd chcp.

When in the cmd box I can type with all characters OK

When in the command box only lower case letters/numbers and a few specials
work. This does not change after typing chcp 860 (portugal).

I would try mode con codepage select=860 in the command box but I have no
way of typing a = character!

The registry settings are exactly as listed in your note.

The program I am running allows me to "shell to DOS" and I have tried chcp
while in the shell and exiting back to the program - still same problem.

____
/ ony


Wesley Vogel said:
<quote>
One or more CON code pages invalid for given keyboard code
The KEYB command examined all prepared code pages, and has found that at
least one code page is incompatible for your screen console device (CON).
This is only information to let you know that your keyboard and screen
console are working with different code pages.
<quote>
from...
Microsoft MS-DOS 5.0 Messages Reference
http://www.microsoft.com/technet/archive/msdos/messages.mspx?mfr=true

chcp displays or sets the active code page number.

Open command.com...
Start | Run | Type: command | Click OK |
Type: chcp hit Enter.

You get...
Active code page: nnn

Type: exit and hit Enter to close command.com.

Open cmd.exe...
Start | Run | Type: cmd | Click OK |
Type: chcp hit Enter.

You get...
Active code page: nnn

Are they the same?

For U.S. English versions of Windows NT the default is 437 codepage, U.S.
English.

Active code page should be the same for both command.com and cmd.exe.

Check this registry key and entries.

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\CodePage]
"ACP"="1252"
"OEMCP"="437"
"MACCP"="10000"
"OEMHAL"="vgaoem.fon"

ACP is the default ANSI code page; OEMCP is the default OEM code page;
and MACCP is the default Macintosh code page.

The OEMCP value controls to which OEM code page to translate ANSI, and
the OEMHAL value controls the display of extended characters at a command
prompt.

ANSI Codepage ID 1252 is used for all Western European languages,
including English.

The default OEM code page in Windows NT is the DOS 437 code page.

codepage select= yyy

yyy value from table.
Value Country/Region
------------------------------
437 United States
850 Multilingual (Latin I)
852 Slavic (Latin II)
855 Cyrillic (Russian)
857 Turkish
860 Portuguese
861 Icelandic
863 Canadian-French
865 Nordic
866 Russian
869 Modern Greek

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\
Control\Nls\CodePage

Here's some info from various sources.

ACP is the default ANSI code page; OEMCP is the default OEM code page;
and MACCP is the default Macintosh code page.

The OEMCP value controls to which OEM code page to translate ANSI, and
the OEMHAL value controls the display of extended characters at a command
prompt.

the default OEM code page in Windows NT is the DOS 437 code page

The computer's ANSI code page is stored in the following registry value:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\CodePage\ACP

For U.S. English versions of Windows NT, Windows 95, and Windows 98, the
default OEM code page is 437 (U.S. English). The computer's OEM code
page is stored in the following registry value:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\CodePage\OEMCP

To verify the client OEM code page on Windows NT, Windows 95 and Windows
98 computers, run chcp from the command line. To verify that data in a
file is stored in the proper code page, you must use the appropriate
editor. ANSI data should look correct in any GUI editor (such as
Notepad, WordPad, or Microsoft Word). OEM data should look correct in a
command-line tool (such as type or edit).

This may be of some interest...
INFO: Windows, Code Pages, and Character Sets
http://support.microsoft.com/kb/7543

--
Hope this helps. Let us know.

Wes
MS-MVP Windows Shell/User

In Pandora <[email protected]> hunted and pecked:
When I start any DOS program I get message in the DOS box "One or more
CON code pages invalid for given keyboard code". My DOS program will
run but many keys do not deliver the correct character - all shift
characters deliver strange symbols.

This may be due to the fact I have a portuguese keyboard while XP etc
are all set up in UK English.
 
W

Wesley Vogel

Glad you got it figured out.

Amazing that anything written for MS-DOS will still run on NT.

--
Hope this helps. Let us know.

Wes
MS-MVP Windows Shell/User

In
Pandora said:
Thanks guys for your efforts.

I found that using copy and paste (from a notepad document) into the
command dosbox pasted the wrong characters - just as if I was typing
directly from the keyboard.

Putting the mode con command in config.nt did not work.

The eventual solution was to set up a small BAT file with the mode con cp
select=860 in it and the appropriate commands to change to my program
directory and call the dos program. I open dos with Start/Run/Command then
call my BAT file and IT WORKS

Thanks again for your time.

Tony


____
/ ony


Wesley Vogel said:
I would try mode con codepage select=860 in the command box but I have
no way of typing a = character!

PASTE the line in!

mode con codepage select=860

This will also work...
mode con cp select=860

So will this...

chcp 860

This is copied from a command prompt, I did not type a single character,
all pasted....
-----------------------------
Microsoft Windows XP [Version 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.

C:\>
C:\>chcp
Active code page: 437

C:\>
C:\>chcp 860
Active code page: 860

C:\>
C:\>chcp
Active code page: 860

C:\>
C:\>mode con cp select=437

Status for device CON:
----------------------
Lines: 2500
Columns: 80
Keyboard rate: 31
Keyboard delay: 1
Code page: 437


C:\>
C:\>mode con cp

Status for device CON:
----------------------
Code page: 437


C:\>
-----------------------------

Alt + Spacebar + E + P will paste contents of clipboard into a command
window.

Alt + Spacebar opens context menu
E opens the Edit menu
P is Paste

Alt + Spacebar + E + S will Select all the contents of a command window.

Alt + Spacebar opens context menu
E opens the Edit menu
S is Select All

You do not anything special. You just need to get the settings set
properly.

Command Prompt Copy & Paste

This will set the QuickEdit Mode and the Insert Mode.

Right click the cmd.exe shortcut | Properties | Options tab |
Under Edit Options select both:
QuickEdit mode
and
Insert mode
Click Apply | Click OK

QuickEdit mode
[[Enables you to use a pointing device (mouse) to cut and paste,
bypassing the Edit menu.]]

This option provides a fast, easy way to copy text from (and paste text
into) Command Prompt windows with a mouse. You can highlight text with a
mouse and use the Enter key to copy the highlighted text to the Windows
Clipboard. Or highlight text and right click to copy to clipboard.

Insert mode
[[Enables you to insert text at the cursor. If this is not selected, text
that is typed at the cursor replaces existing text.]]

This option (on by default) allows you to insert text at the cursor
position. You can right click and paste.

Or...
Open a command Prompt | Right click the top border |
Properties | Options tab | Under Edit Options select both:
QuickEdit mode
and
Insert mode
Click Apply | Click OK | Place a tick in Modify shortcut that started
this window |
Click OK.
-----

Highlight text with the cursor and hit the Enter key to copy to the
Windows clipboard. Or highlight text and right click to copy to the
Windows clipboard.

[[By selecting the Quick Edit Mode check box, you enable copy and paste
from the Command Prompt window. To copy, select the text in the Command
Prompt window with your left mouse button, and then right-click. To
paste, either at the command prompt or in a text file, right-click.]]
---------------------

Active Code Page Versus Selected Code Page
http://support.microsoft.com/kb/67584

Instead of AUTOEXEC.BAT and CONFIG.SYS, use AUTOEXEC.NT and CONFIG.NT.

Command.com uses AUTOEXEC.NT and CONFIG.NT, cmd.exe does not. If either
AUTOEXEC.NT or CONFIG.NT are missing or messed up command.com will not
run. Cmd.exe will run with both AUTOEXEC.NT and CONFIG.NT missing
completely.

The input locale does not type the chosen keyboard mapping in the MS-DOS
window
http://support.microsoft.com/kb/262283

HKEY_Current_User\Keyboard Layout\Preload\1 value

English (US) is 1033 decimal or 00000409 hex.
English (UK) is 2057 decimal or 00000809 hex.
Portuguese (Standard) is 2070 decimal or 00000816 hex.
Portuguese (Brazil) is 1046decimal or 00000416 hex.

See switches=/k
Paste the following line into Start | Run...
hh ntcmds.chm::/switches.htm

Or Switches
http://www.microsoft.com/resources/.../xp/all/proddocs/en-us/switches.mspx?mfr=true

--
Hope this helps. Let us know.

Wes
MS-MVP Windows Shell/User

In
Pandora said:
Wesley, thanks for your note.

I get 437 from command chcp and cmd chcp.

When in the cmd box I can type with all characters OK

When in the command box only lower case letters/numbers and a few
specials work. This does not change after typing chcp 860 (portugal).

I would try mode con codepage select=860 in the command box but I have
no way of typing a = character!

The registry settings are exactly as listed in your note.

The program I am running allows me to "shell to DOS" and I have tried
chcp while in the shell and exiting back to the program - still same
problem.

____
/ ony


:

<quote>
One or more CON code pages invalid for given keyboard code
The KEYB command examined all prepared code pages, and has found that
at least one code page is incompatible for your screen console device
(CON). This is only information to let you know that your keyboard and
screen console are working with different code pages.
<quote>
from...
Microsoft MS-DOS 5.0 Messages Reference
http://www.microsoft.com/technet/archive/msdos/messages.mspx?mfr=true

chcp displays or sets the active code page number.

Open command.com...
Start | Run | Type: command | Click OK |
Type: chcp hit Enter.

You get...
Active code page: nnn

Type: exit and hit Enter to close command.com.

Open cmd.exe...
Start | Run | Type: cmd | Click OK |
Type: chcp hit Enter.

You get...
Active code page: nnn

Are they the same?

For U.S. English versions of Windows NT the default is 437 codepage,
U.S. English.

Active code page should be the same for both command.com and cmd.exe.

Check this registry key and entries.

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\CodePage]
"ACP"="1252"
"OEMCP"="437"
"MACCP"="10000"
"OEMHAL"="vgaoem.fon"

ACP is the default ANSI code page; OEMCP is the default OEM code page;
and MACCP is the default Macintosh code page.

The OEMCP value controls to which OEM code page to translate ANSI, and
the OEMHAL value controls the display of extended characters at a
command prompt.

ANSI Codepage ID 1252 is used for all Western European languages,
including English.

The default OEM code page in Windows NT is the DOS 437 code page.

codepage select= yyy

yyy value from table.
Value Country/Region
------------------------------
437 United States
850 Multilingual (Latin I)
852 Slavic (Latin II)
855 Cyrillic (Russian)
857 Turkish
860 Portuguese
861 Icelandic
863 Canadian-French
865 Nordic
866 Russian
869 Modern Greek

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\
Control\Nls\CodePage

Here's some info from various sources.

ACP is the default ANSI code page; OEMCP is the default OEM code page;
and MACCP is the default Macintosh code page.

The OEMCP value controls to which OEM code page to translate ANSI, and
the OEMHAL value controls the display of extended characters at a
command prompt.

the default OEM code page in Windows NT is the DOS 437 code page

The computer's ANSI code page is stored in the following registry
value:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\CodePage\ACP

For U.S. English versions of Windows NT, Windows 95, and Windows 98,
the default OEM code page is 437 (U.S. English). The computer's OEM
code page is stored in the following registry value:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\CodePage\OEMCP

To verify the client OEM code page on Windows NT, Windows 95 and
Windows 98 computers, run chcp from the command line. To verify that
data in a file is stored in the proper code page, you must use the
appropriate editor. ANSI data should look correct in any GUI editor
(such as Notepad, WordPad, or Microsoft Word). OEM data should look
correct in a command-line tool (such as type or edit).

This may be of some interest...
INFO: Windows, Code Pages, and Character Sets
http://support.microsoft.com/kb/7543

--
Hope this helps. Let us know.

Wes
MS-MVP Windows Shell/User

In Pandora <[email protected]> hunted and pecked:
When I start any DOS program I get message in the DOS box "One or more
CON code pages invalid for given keyboard code". My DOS program will
run but many keys do not deliver the correct character - all shift
characters deliver strange symbols.

This may be due to the fact I have a portuguese keyboard while XP etc
are all set up in UK English.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top