Jump to content

[SSE] Rebind A Key to Right Ctrl


skyrimlover1212

Recommended Posts

So, I'm sure this would be simple for someone who actualy knows how to do this, but I have no clue where to even start, hence asking for someone to do it for me instead of taking days to try to figure it out myself.

 

(Re-Written to be more clear)
Awhile ago, the A button on my keyboard stopped working. This isn't normally an issue, especially since I've used KeyTweaks to rebind it to RCtrl. However, For some reason, SSE doesn't recognize this rebinding. Which is very annoying, because it prevents me from using it when I want to type something in game, such as My Character's Name, Enchanting an Item, Using the Console*, or, most recently, and annoyingly, the Journal added by the Taking Notes Mod.
So, Can someone please make a mod that can get SSE (SKSE64 Version 2.00.16 rel 6 (1.5.80.0.8 ) to be exact) to recognize that I've made RCtrl act as the A button, so I can type in the aforementioned Text Boxes?
I've tried a Mod (Linked below**) that lets you rebind keys, but it didn't make skyrim register the fact that I used a program (KeyTweaks) to alter my laptops Keybinds to make RCtrl act as the A button.(Which is how I'm Typing All the A's in this pArAgrAph. With RCtrl As A. As you cAn see, Writing without useing the letter A cAn be rAther Annoying.)

(And before you ask, the reason I've not already gotten a new keyboard is because I want to exhaust all my options before spending over 20 dollars just to write the letter A in a video game.)

 

*Before you ask, I've already downloaded this mod to let me copy and paste into the console: https://www.nexusmods.com/skyrimspecialedition/mods/30928?tab=posts

**https://www.nexusmods.com/skyrimspecialedition/mods/59568?tab=posts

https://hawk.bar/SkyrimControlMapper/

Edited by skyrimlover1212
Link to comment
Share on other sites

There are hotkey mods that allow you to do this and a separate utility program (forgot its name) that can re-assign keys. Search Nexus Mods for 'hotkeys' and check whatever list comes up and you will find what you are looking for. If I recall correctly, one of them has the key assignment utility as a requirement.

 

At least one of these hotkey mods warns that it will overwrite any key without warning the user what it is already assigned to. I worry about screwing up my keys doing stuff like that. Why don't you just get a new keyboard? They are not that expensive (compared to a PC) and easy to find.

Link to comment
Share on other sites

I haven't tried this. But it might be possible to fake an A key in game with SKSE's input functions.

 

Create a start game enabled quest

Add the following script to said quest

 

 

Scriptname RCtrlToAQuestScript Extends Quest
 
Import Input
 
Int myKey = 157 ;right control key
Int AKey = 30  ;A key
 
Event OnInit()
  RegisterForKey(myKey) ;right control key
EndEvent
 
Event OnKeyDown(Int KeyCode)
  If KeyCode == myKey
    TapKey(AKey)
  EndIf
EndEvent

Link to comment
Share on other sites

All you need is the Creation Kit with the scripts.zip / rar file extracted at location and SKSE installed with its PSC files moved from "Data > Scripts > Source" to "Data > Source > Scripts". SKSE may need to be re-installed manually as some installation instructions for it do not have one include the PSC files as they are not needed for the game.

 

I do not have a tutorial. I know that once the quest record has been created, there is a checkbox on the first tab that is labeled "start game enabled".

 

You may be able to glean information from the Creation Kit wiki.

Link to comment
Share on other sites

SKSE installed with its PSC files moved from "Data > Scripts > Source" to "Data > Source > Scripts".

By that, do you just mean the file labeled "SKSE.psc" or are there others I should transfer?

 

PS, I Followed what I could understand of your advice. I've documented my process here:https://forums.nexusmods.com/index.php?/topic/12747714-first-timer-rebind-key-mod/

Edited by skyrimlover1212
Link to comment
Share on other sites

Download a new copy of the SKSE archive to a clean folder. If possible open the archive without extracting. Otherwise, extract it in location.

 

If viewing inside the archive you will find a folder starting with "skse64_" and ending with the version number with underscores where the decimals would be. Otherwise, this folder will not exist, and its contents will be found in location after extracting.

There should be a "Data" folder, a "src" folder, the SKSE loader, DLL files and documentation.

Inside the "Data" folder will be a "Scripts" folder and inside that a "Source" folder.

Inside the "Source" folder will be all the PSC files that SKSE has modified or added to the game. Every one of these files need to be copied into the location used by the Creation Kit compiler and overwrite anything provided by the base game.

 

For Skyrim Special Edition the Creation Kit compiler by default will look to "Data > Source > Scripts"

 

If you are naming the script RCtrlToAQuestScript, then do not use that as the name of the quest. Use something like RCtrlToAQuest instead.

Every record needs a unique EditorID and every script needs a unique name. And they need to be unique from each other as well.

 

When you test, make sure you start the game with the SKSE loader, if not already due to other mods in place. Anything relying on SKSE will fail at some point without SKSE running. And as mentioned earlier, I have not tried it. There is a chance that it won't work at all. There is a chance that it would perform any actions assigned to A but not type the letter A. And there is a chance that it will do everything desired. In my opinion, worth testing for a 1 in 3 chance.

 

You may wish to add notification statements (message in the upper left) to inform you if certain things are happening.

For example:

 

 

Scriptname RCtrlToAQuestScript Extends Quest
 
Import Input
 
Int myKey = 157 ;right control key
Int AKey = 30  ;A key
 
Event OnInit()
  RegisterForKey(myKey) ;right control key
  Debug.Notification("Registered for key #"+myKey)
EndEvent
 
Event OnKeyDown(Int KeyCode)
  If KeyCode == myKey
    Debug.Notification("Key #+myKey+" was pressed")
    TapKey(AKey)
    Debug.Notification("Key #+AKey+ should have been tapped")
  EndIf
EndEvent

Link to comment
Share on other sites

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...