But I only have one wallet and one private key that happens to contain a mixture of inputs? How can I possibly seperate these inputs?
In Electrum, just create a new wallet with the private key for Legacy, then do it again twice:
For P2SH-P2WPKH addresses (Addresses starting with "3")Just add
p2wpkh-p2sh: directly in front of your private key.
For example
p2wpkh-p2sh:5BitcoinPrivateKey
This should generate the corresponding p2wpkh-p2sh bitcoin address.
For P2WPKH addresses (Bech32, starting with 'bc1')This time we'll add
p2wpkh: in front of the private key.
For example
p2wpkh:5PrivateKey
This should generate the corresponding Bech32 address
Online:Install Electrum on your PC.
Import your address to create a watch-only wallet.
Preview the transaction, Copy the unsigned transaction. Put it on a USB stick.
Offline and running without hard drive storage:Get a Linux LIVE DVD. Use Knoppix for instance, or any other distribution that comes with Electrum pre-installed.
Unplug your internet cable. Close the curtains. Reboot your computer and start up from that DVD. Don't enter any wireless connection password. Keep it offline.
Start Electrum. Import your private key.
Copy your unsigned transaction from the USB stick, load it into Electrum.
CHECK the transaction in Electrum. Check the fees, check the amount, check all destination addresses (
character by character).
If all is okay, sign the transaction. Copy it back to your USB stick.
Turn off the computer. That wipes the Live LINUX from memory and all traces are gone.
Online:Use your normal online Electrum to (check again and) broadcast the transaction.
Bonus:After moving all your Bitcoin, and once the transaction confirmed, check if you own
Forkcoins.