貼り付け禁止の入力欄にMacで入力する方法
貼り付けを止めているのは多くの場合、Macではなくそのページのスクリプトです。まずパスワード管理アプリの自動入力を試し、だめなら、短い文字列は手で打つのが確実です。長い文字列は、クリップボードの中身をキー入力として打ち込むツール(Pourtypeの⌘⇧Vなど)が使えます。
メールアドレスの確認欄や、パスワードの再入力欄で「貼り付けできません」と言われて困った人向けのページです。無料の方法から順に、できることとできないことを正直に書きます。
なぜ貼り付けが禁止されているのか
サイト側は、入力ミスを防ぐために「確認用の欄は自分で打ち直させたい」と考えて貼り付けを止めていることがあります。仕組みとしては、JavaScriptで paste イベントを preventDefault() して、標準の貼り付けを無効にする方法がよく使われます(TechRacho)。
一方で、パスワード欄については、米国のNIST(SP 800-63B-4)が「パスワード管理アプリの利用を助けるため、パスワード入力時の貼り付けを認めることを推奨(SHOULD)する」と書いています。パスワード管理アプリと相性が悪いため、貼り付け禁止はあまり歓迎されていません。
Macやクリップボードの不具合でないか確かめる
まず、原因がそのサイトかどうかを切り分けます。
- 同じ文字列を、メモ帳アプリなど別のアプリに貼り付けてみる。貼り付けられるなら、クリップボードは正常です。
- 同じサイトの別の入力欄や、別のブラウザで試す。特定の欄だけ貼り付けできないなら、サイトの仕様です。
パスワード管理の自動入力を使う
ログイン情報やパスワードの欄なら、パスワード管理アプリの自動入力が最も手軽です。貼り付けではなく、アプリが欄に直接入力する仕組みなので、貼り付け禁止の影響を受けないことが多くなります。
ただし、自動入力が使えるのはパスワード管理アプリが対応している欄だけです。確認用メールアドレス欄のような通常の欄では、そもそも候補が出ないことがあります。
そのサイトだけJavaScriptを止める・拡張機能を使う
貼り付け禁止はJavaScriptで実現されているため、そのサイトでスクリプトを止める、または貼り付け制限を外す拡張機能を使う方法があります。
- 拡張機能:GIGAZINEは、貼り付け制限を外すChrome拡張機能(Firefox向けは有志の移植版)を紹介しています(名称は記事を参照)。拡張機能のアイコンから対象サイトで保存すると、次回以降は同じサイトなら設定不要で貼り付けできるようになる、という説明です(GIGAZINE)。
- 開発者ツールやブックマークレット:TechRachoは、Chromeの開発者ツールで
pasteのイベントリスナーを削除する方法と、document.addEventListener('paste', e => e.stopPropagation(), true)を実行する方法を紹介しています。ただし筆者自身が「数多くのサイトで試したわけではないので、動かないケースも多々ある」と書いています。
拡張機能や見知らぬコードの実行には、セキュリティ上のリスクがあります。中身を理解してから使ってください。また、スクリプトを止めると、そのページの他の機能が動かなくなることがあります。
Macにキー入力させる(AppleScript・Keyboard Maestro)
貼り付けができなくても、キーボードからの入力は受け付けます。そこで、Mac側に「キーを押した」ことにして文字を打たせる方法があります。
- AppleScript:System Eventsの
keystrokeを使うスクリプトです。日本語など英数字以外の文字がどう入力されるかは、必ず自分の文字列で先に試してください。 - Keyboard Maestro:「Insert Text by Typing」アクションが使えます。公式Wikiによれば、この方法は「大量のテキストでは遅く、絵文字のような特殊な文字は打てない」とされ、向いているのは「30〜40文字程度まで」の短いテキストです(Keyboard Maestro Wiki、英語原文の要約)。
どちらもスクリプトや設定を自分で組む必要があります。短い文字列なら、手で打つほうが早い場合もあります。
Pourtype:⌘⇧Vでクリップボードを入力欄に打ち込む
PourtypeはMacのメニューバーに常駐するアプリ(macOS 14以降)で、作者はLeonard Chowです。⌘⇧Vを押すと、クリップボードの中身を、いま選んでいる入力欄に実際のキー入力として打ち込みます。貼り付けを止める欄のための機能です。
- 入力中は、対象のウィンドウ以外の画面がすりガラス状になり、キーボードとマウスの操作は保留されます。Escですぐに止められます。
- 別のアプリが前面に来ると入力は止まります。キー入力は対象のアプリにだけ送られます。
- 速度は↑↓キーを押し続けて調整できます(毎秒3〜150文字)。←→キーで、一定のリズムからばらつきのあるリズムまで選べます。
- 中国語・日本語・韓国語・絵文字も入力できます。
- パスワード欄(Secure Input)では、入力の保留をせず通常のキー入力に切り替わります。止めるには Control+Option+Command+ピリオドを押します。
- ショートカットは設定で変更できます。アプリの表示言語は英語・簡体字中国語・繁体字中国語・日本語です。
- 処理はすべてMac上で行い、ネットワークには接続せず、データも収集しません。アクセシビリティと画面収録の権限が必要です。
ソースコードはGitHubで公開しています。ライセンスはPolyForm Noncommercial 1.0.0で、「ソース公開(source-available)」であり、オープンソースではありません。
方法の比較
| 方法 | 使える場面 | 必要なもの | 限界 |
|---|---|---|---|
| 手で打つ | 短い文字列 | なし | 長い文字列や読みにくい文字列では打ち間違いやすい |
| パスワード管理の自動入力 | ログイン情報・パスワード欄 | 対応するパスワード管理アプリ | 通常の入力欄では使えないことがある |
| 拡張機能・JavaScript停止 | 貼り付け禁止をスクリプトで実現しているサイト | 拡張機能の導入や開発者ツールの操作 | 動かないサイトがある。ページの他の機能に影響することがある |
| AppleScript・Keyboard Maestro | 短い固定文字列 | スクリプトや設定を自分で組む | Keyboard Maestroは長文が遅く絵文字は不可。AppleScriptの日本語は要事前確認 |
| Pourtype(⌘⇧V) | 貼り付けを止める入力欄 | macOS 14以降、アクセシビリティと画面収録の権限 | 現在App Store審査中で未発売。Macアプリのみ |
この方法を使うべきでない場面
試験、テスト、課題、授業などで、貼り付けや外部ツールの使用が規則で禁じられている場合は、そのプラットフォームの規則に従ってください。このページは、そうした場面での回避を勧めるものではありません。
よくある質問
確認用メールアドレス欄にコピペできないときは?
まず別のアプリや別の欄で貼り付けできるかを確かめ、クリップボードの不具合かサイトの仕様かを切り分けます。サイトの仕様なら、短いメールアドレスは手で打つのが確実です。長い場合は、拡張機能を使うか、クリップボードの中身をキー入力として打ち込むPourtypeのようなツールが選べます。
日本語も入力できる?
Pourtypeは日本語・中国語・韓国語・絵文字を入力できます。ただし、日本語入力(IME)がオンの状態で打ち込んだときの挙動は検証しておらず、ここでは何も言えません。ご自身の文字列で先に試してください。
途中で止めるには?
Escキーですぐに止まります。別のアプリを前面に出した場合も止まります。パスワード欄では、Control+Option+Command+ピリオドで止めます。
パスワード欄では使える?
使えます。パスワード欄(Secure Input)では、入力の保留をせず通常のキー入力に切り替わります。
通信はする?
しません。Pourtypeは処理をすべてMac上で行い、ネットワークには接続せず、データも収集しません。取得・入力した文字の履歴はMac内に保存され、消去できます。