Zdravím, chci se zeptat jestli někdo nevíte zda je někde k dispozici program, který by uměl prohodit klávesu ESC za klávesu jinou, třeba F4...esc mi totiž jde, jak se mu chce,někdy jde, pak zas týden nejde...už nevím co s tím, tu nefunkčnost mi musí blokovat nějaká aplikace nebo já nevím...zkoušel jsem microsoft layout creator,ale ten nedovoluje klavesy esc-F12 upravovat...
díky za rady :)
klávesa ESC za jinou?
Re: klávesa ESC za jinou?
Máš notebook nebo PC?
Re: klávesa ESC za jinou?
Než dodělám svůj program (to nebude hned), tak bych mohl najít postup, na který jsem narazil při studování této problematiky a to úpravou přímo v registru (funguje až po restartování). Jsi ale pokročilý uživatel? Aby sis nenapáchal škody ...
Re: klávesa ESC za jinou?
mám pc
tak pokročilý, letos jsem úspěšně odmaturoval v oboru IT technologie a sítě, tak snad ano
každopádně si myslim že postup přes registry vypadá nadějně
tak pokročilý, letos jsem úspěšně odmaturoval v oboru IT technologie a sítě, tak snad ano


Re: klávesa ESC za jinou?
Dobře, dej mi chvíli, zkusím vyhledat, řekl bych, že jsem si dal odkaz do oblíbených ...
Re: klávesa ESC za jinou?
>>> http://msdn.microsoft.com/en-us/library ... 85%29.aspx
Konkrétně bych se zaměřil na tuto část - jedná se o prohazování (vzájemnou výměnu) kláves skrz registr:
Scan code mapper for keyboards
In Microsoft Windows operating systems, PS/2-compatible scan codes provided by an input device are converted into virtual keys, which are propagated through the system in the form of Windows messages. If a device produces an incorrect scan code for a certain key, the wrong virtual key message will be sent. This can be fixed by writing a filter driver that analyzes the scan codes generated by firmware and modifies the incorrect scan code to one understood by the system. However, this is a tedious process and can sometimes lead to severe problems, if errors exist in the kernel-level filter driver.
Windows 2000 and Windows XP include a new Scan Code Mapper, which provides a method that allows for mapping of scan codes. The scan code mappings for Windows are stored in the following registry key:
Copy
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout
Note There is also a Keyboard Layouts key (notice the plural form) under the Control key, but that key should not be modified.
In the Keyboard Layout key, the Scancode Map value must be added. This value is of type REG_BINARY (little Endian format) and has the data format specified in the following table.
Start offset (in bytes) Size (in bytes) Data
0 4 Header: Version Information
4 4 Header: Flags
8 4 Header: Number of Mappings
12 4 Individual Mapping
... ... ...
Last 4 bytes 4 Null Terminator (0x00000000)
The first and second DWORDS store header information and should be set to all zeroes for the current version of the Scan Code Mapper. The third DWORD entry holds a count of the total number of mappings that follow, including the null terminating mapping. The minimum count would therefore be 1 (no mappings specified). The individual mappings follow the header. Each mapping is one DWORD in length and is divided into two WORD length fields. Each WORD field stores the scan code for a key to be mapped.
Once the map is stored in the registry, the system must be rebooted for the mappings to take effect. Note that if the mapping of a scan code is necessary on a keypress, the step is performed in user mode just before the scan code is converted to a virtual key. Doing this conversion in user mode can present certain limitations, such as mapping not working correctly when running under Terminal Services.
To remove these mappings, remove the Scancode Map registry value and reboot.
Example 1
The following presents an example. To swap the left CTRL key with the CAPS LOCK key, use a registry editor (preferably Regedt32.exe) to modify the Scancode Map key with the following value:
Copy
00000000 00000000 03000000 3A001D00 1D003A00 00000000
The following table contains these entries broken into DWORD fields and the bytes swapped.
Value Interpretation
0x00000000 Header: Version. Set to all zeroes.
0x00000000 Header: Flags. Set to all zeroes.
0x00000003 Three entries in the map (including null entry).
0x001D003A Left CTRL key --> CAPS LOCK (0x1D --> 0x3A).
0x003A001D CAPS LOCK --> Left CTRL key (0x3A --> 0x1D).
0x00000000 Null terminator.
Example 2
It is also possible to add a key not generally available on a keyboard or to remove a key that is never used. The following example shows the value stored in Scancode Map to remove the right CTRL key and change the functionality of the right ALT key to work as a mute key:
Copy
00000000 00000000 03000000 00001DE0 20E038E0 00000000
The following table contains these entries broken into DWORD fields and the bytes swapped.
Value Interpretation
0x00000000 Header: Version. Set to all zeroes.
0x00000000 Header: Flags. Set to all zeroes.
0x00000003 Three entries in the map (including null entry).
0xE01D0000 Remove the right CTRL key (0xE01D --> 0x00).
0xE038E020 Right ALT key --> Mute key (0xE038 --> 0xE020).
0x00000000 Null terminator.
After the necessary data is generated, it can be inserted into the registry in several ways.
* A .reg file can be generated that can be easily incorporated into the system registry using a registry editor.
* An .inf file can also be created with an [AddReg] section that contains the registry information to be added.
* Regedt32.exe can be used to manually add the information to the registry.
The Scan Code Mapper has several advantages and disadvantages.
The advantages include:
* The Mapper can be used as an easy fix to correct firmware errors.
* Frequently used keys can be added to the keyboard by modifying the map in registry. Keys that aren't often used (for example, right CTRL key) can be mapped to null (removed) or exchanged for other keys.
* Key locations can be altered easily. Users can easily customize the location of frequently used keys for their benefit.
The following disadvantages are recognized:
* Once the map is stored in the registry, a system reboot is required to activate it.
* The mappings stored in the registry work at system level and apply to all users. These mappings cannot be set to work differently depending on the current user.
* The current implementation restricts the functionality of the map such that mappings always apply to all keyboards connected to the system. It is not currently possible to create a map on a per-keyboard basis.
Případně můžeš zkusit ještě soft:
Key Tweak >>> http://www.pcworld.com/article/251949/keytweak.html
či můj oblíbený (licence: otravoware, tedy něco jako Total Commander) >>> Comfort Software Group: Hot Virtual Keyboard 5.1

Konkrétně bych se zaměřil na tuto část - jedná se o prohazování (vzájemnou výměnu) kláves skrz registr:
Scan code mapper for keyboards
In Microsoft Windows operating systems, PS/2-compatible scan codes provided by an input device are converted into virtual keys, which are propagated through the system in the form of Windows messages. If a device produces an incorrect scan code for a certain key, the wrong virtual key message will be sent. This can be fixed by writing a filter driver that analyzes the scan codes generated by firmware and modifies the incorrect scan code to one understood by the system. However, this is a tedious process and can sometimes lead to severe problems, if errors exist in the kernel-level filter driver.
Windows 2000 and Windows XP include a new Scan Code Mapper, which provides a method that allows for mapping of scan codes. The scan code mappings for Windows are stored in the following registry key:
Copy
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout
Note There is also a Keyboard Layouts key (notice the plural form) under the Control key, but that key should not be modified.
In the Keyboard Layout key, the Scancode Map value must be added. This value is of type REG_BINARY (little Endian format) and has the data format specified in the following table.
Start offset (in bytes) Size (in bytes) Data
0 4 Header: Version Information
4 4 Header: Flags
8 4 Header: Number of Mappings
12 4 Individual Mapping
... ... ...
Last 4 bytes 4 Null Terminator (0x00000000)
The first and second DWORDS store header information and should be set to all zeroes for the current version of the Scan Code Mapper. The third DWORD entry holds a count of the total number of mappings that follow, including the null terminating mapping. The minimum count would therefore be 1 (no mappings specified). The individual mappings follow the header. Each mapping is one DWORD in length and is divided into two WORD length fields. Each WORD field stores the scan code for a key to be mapped.
Once the map is stored in the registry, the system must be rebooted for the mappings to take effect. Note that if the mapping of a scan code is necessary on a keypress, the step is performed in user mode just before the scan code is converted to a virtual key. Doing this conversion in user mode can present certain limitations, such as mapping not working correctly when running under Terminal Services.
To remove these mappings, remove the Scancode Map registry value and reboot.
Example 1
The following presents an example. To swap the left CTRL key with the CAPS LOCK key, use a registry editor (preferably Regedt32.exe) to modify the Scancode Map key with the following value:
Copy
00000000 00000000 03000000 3A001D00 1D003A00 00000000
The following table contains these entries broken into DWORD fields and the bytes swapped.
Value Interpretation
0x00000000 Header: Version. Set to all zeroes.
0x00000000 Header: Flags. Set to all zeroes.
0x00000003 Three entries in the map (including null entry).
0x001D003A Left CTRL key --> CAPS LOCK (0x1D --> 0x3A).
0x003A001D CAPS LOCK --> Left CTRL key (0x3A --> 0x1D).
0x00000000 Null terminator.
Example 2
It is also possible to add a key not generally available on a keyboard or to remove a key that is never used. The following example shows the value stored in Scancode Map to remove the right CTRL key and change the functionality of the right ALT key to work as a mute key:
Copy
00000000 00000000 03000000 00001DE0 20E038E0 00000000
The following table contains these entries broken into DWORD fields and the bytes swapped.
Value Interpretation
0x00000000 Header: Version. Set to all zeroes.
0x00000000 Header: Flags. Set to all zeroes.
0x00000003 Three entries in the map (including null entry).
0xE01D0000 Remove the right CTRL key (0xE01D --> 0x00).
0xE038E020 Right ALT key --> Mute key (0xE038 --> 0xE020).
0x00000000 Null terminator.
After the necessary data is generated, it can be inserted into the registry in several ways.
* A .reg file can be generated that can be easily incorporated into the system registry using a registry editor.
* An .inf file can also be created with an [AddReg] section that contains the registry information to be added.
* Regedt32.exe can be used to manually add the information to the registry.
The Scan Code Mapper has several advantages and disadvantages.
The advantages include:
* The Mapper can be used as an easy fix to correct firmware errors.
* Frequently used keys can be added to the keyboard by modifying the map in registry. Keys that aren't often used (for example, right CTRL key) can be mapped to null (removed) or exchanged for other keys.
* Key locations can be altered easily. Users can easily customize the location of frequently used keys for their benefit.
The following disadvantages are recognized:
* Once the map is stored in the registry, a system reboot is required to activate it.
* The mappings stored in the registry work at system level and apply to all users. These mappings cannot be set to work differently depending on the current user.
* The current implementation restricts the functionality of the map such that mappings always apply to all keyboards connected to the system. It is not currently possible to create a map on a per-keyboard basis.
Případně můžeš zkusit ještě soft:
Key Tweak >>> http://www.pcworld.com/article/251949/keytweak.html
či můj oblíbený (licence: otravoware, tedy něco jako Total Commander) >>> Comfort Software Group: Hot Virtual Keyboard 5.1

Re: klávesa ESC za jinou?
tak nějak se povedlo přes ten soft, konkretně key tweak...možná to chtělo abych hledal trošku déle na guglu, ale to už je jedno
zas ale nastává problém ve hrách, ty mají nastavené na pauzu ve hře klávesu esc, přitom ji mám vlastně prohozenou a ony ji tím pádem nevidí...

Re: klávesa ESC za jinou?
Divné ... ale v Pure Basicu je také několik typů detekce stisků kláves a nejspíš ten přes DirectX pak v tvém případě selhává ...
Re: klávesa ESC za jinou?
divné to je, o tom žádná...to jako že by byl na vině directX?
hlavně si nedokážu vysvětlit to, proč ten esc třeba den jde, a potom zas týden nejde...
nebo že by vyřešila koupě nové klávesnice tento problém? to nevím, myslím že nee, problém by se asi přenesl i na druhou klásvesnici...:/
nebo měl by si nějaké jiné řešení?
hlavně si nedokážu vysvětlit to, proč ten esc třeba den jde, a potom zas týden nejde...
nebo že by vyřešila koupě nové klávesnice tento problém? to nevím, myslím že nee, problém by se asi přenesl i na druhou klásvesnici...:/
nebo měl by si nějaké jiné řešení?
Re: klávesa ESC za jinou?
DirectX by měl mít rychlejší odchytávání stisků kláves, aspoň soudím dle manuálu a příkazů Pure Basicu.
Může to být hardwarová závada (vyzkoušej klávesnici jinde a uvidíš), poškozený ovladač (spíš ne) a potom také vir.
Může to být hardwarová závada (vyzkoušej klávesnici jinde a uvidíš), poškozený ovladač (spíš ne) a potom také vir.
Re: klávesa ESC za jinou?
zkusím to nechat projet avastem, uvidíme...
Re: klávesa ESC za jinou?
skúšal si vymeniť klávesnicu ? či to nieje chyba v klávesnici ?
Zpět na “Windows 11, 10, 8...”
Kdo je online
Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 8 hostů