klávesa ESC za jinou?

Operační systémy Windows z dílny Microsoft a vše kolem nich

Moderátoři: Pic, Mods_senior

Adam17
nováček
Příspěvky: 15
Registrován: prosinec 13
Pohlaví: Muž
Stav:
Offline

klávesa ESC za jinou?

Příspěvekod Adam17 » 11 čer 2014 14:22

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 :)

Reklama
VSmanCZ
Tvůrce článků
Level 5
Level 5
Příspěvky: 2157
Registrován: duben 14
Pohlaví: Muž
Stav:
Offline

Re: klávesa ESC za jinou?

Příspěvekod VSmanCZ » 11 čer 2014 14:50

Máš notebook nebo PC?

Uživatelský avatar
X
Elite Level 12.5
Elite Level 12.5
Příspěvky: 19360
Registrován: květen 07
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: klávesa ESC za jinou?

Příspěvekod X » 11 čer 2014 15:24

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 ...

Adam17
nováček
Příspěvky: 15
Registrován: prosinec 13
Pohlaví: Muž
Stav:
Offline

Re: klávesa ESC za jinou?

Příspěvekod Adam17 » 11 čer 2014 15:58

mám pc

tak pokročilý, letos jsem úspěšně odmaturoval v oboru IT technologie a sítě, tak snad ano :D :D každopádně si myslim že postup přes registry vypadá nadějně

Uživatelský avatar
X
Elite Level 12.5
Elite Level 12.5
Příspěvky: 19360
Registrován: květen 07
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: klávesa ESC za jinou?

Příspěvekod X » 11 čer 2014 16:26

Dobře, dej mi chvíli, zkusím vyhledat, řekl bych, že jsem si dal odkaz do oblíbených ...

Uživatelský avatar
X
Elite Level 12.5
Elite Level 12.5
Příspěvky: 19360
Registrován: květen 07
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: klávesa ESC za jinou?

Příspěvekod X » 11 čer 2014 16:55

>>> 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

Obrázek

Adam17
nováček
Příspěvky: 15
Registrován: prosinec 13
Pohlaví: Muž
Stav:
Offline

Re: klávesa ESC za jinou?

Příspěvekod Adam17 » 12 čer 2014 14:10

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 :D 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í...

Uživatelský avatar
X
Elite Level 12.5
Elite Level 12.5
Příspěvky: 19360
Registrován: květen 07
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: klávesa ESC za jinou?

Příspěvekod X » 12 čer 2014 18:20

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á ...

Adam17
nováček
Příspěvky: 15
Registrován: prosinec 13
Pohlaví: Muž
Stav:
Offline

Re: klávesa ESC za jinou?

Příspěvekod Adam17 » 13 čer 2014 00:37

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í?

Uživatelský avatar
X
Elite Level 12.5
Elite Level 12.5
Příspěvky: 19360
Registrován: květen 07
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: klávesa ESC za jinou?

Příspěvekod X » 13 čer 2014 01:56

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.

Adam17
nováček
Příspěvky: 15
Registrován: prosinec 13
Pohlaví: Muž
Stav:
Offline

Re: klávesa ESC za jinou?

Příspěvekod Adam17 » 13 čer 2014 18:53

zkusím to nechat projet avastem, uvidíme...

Ushyru
nováček
Příspěvky: 12
Registrován: červen 14
Pohlaví: Muž
Stav:
Offline

Re: klávesa ESC za jinou?

Příspěvekod Ushyru » 17 čer 2014 21:07

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ů